假设我有一个立方体
P1(0, 0, 0) P5(0, 0, 1)
P2(1, 0, 0) P6(1, 0, 1)
P3(0, 1, 0) P7(0, 1, 1)
P4(1, 1, 0) P8(1, 1, 1)
现在我需要应用变换/旋转/缩放矩阵。说,
transform = Pt(3, 3, 5)
rotation = 30º
scale = 2x`
确定。但是,为了得到最终结果,我在哪里将这些值中的每一个放入矩阵中?这让我很困惑。
修改
让我们说,对于P2,我有:
| 1 | | a b c |
| 0 | x | d e f | = R
| 0 | | g h i |
但我在a,b,c,d,...i
中有什么?
答案 0 :(得分:3)
要通过一次操作完成,您需要一个4x4矩阵。请查看http://www.engineering.uiowa.edu/~ie_246/Lecture/OpenGLMatrices.ppt以获取一些详细信息和示例。
最后你链接这样的转换
point[i] = T1*T2*T3*..*vertex[i]
答案 1 :(得分:0)
立方体角上的8个点中的每个点都是3x1向量。您的矩阵变换是3x3 matricies。
围绕什么轴旋转?这将改变旋转矩阵的样子。这是关于x轴的内容:
| +cos(theta) -sin(theta) 0 |
Rx = | +sin(theta) +cos(theta) 0 |
| 0 0 1 |
比例很简单:将所有x坐标乘以2倍。
| 2 0 0 |
S = | 0 1 0 |
| 0 0 1 |
将这些应用于您的每一点。