c - 如何应用矩阵 - 一个理解请求

标签 c matrix

假设我有一个立方体

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 中有什么?

最佳答案

要通过一次操作完成,您需要一个 4x4 矩阵。看http://www.engineering.uiowa.edu/~ie_246/Lecture/OpenGLMatrices.ppt了解一些细节和示例。

最后你像这样链接转换

point[i] = T1*T2*T3*..*vertex[i]

PDF Conversion

关于c - 如何应用矩阵 - 一个理解请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353669/

相关文章:

c - 使用递归函数在数组中搜索值

android - Canvas 加载标识或保存以进行多次还原

c - FORTRAN 比 C 快 - 对于在同一处理器上运行的矩阵乘法程序,为什么?

algorithm - Strassen 计算矩阵平方的方法有什么问题?

c - 在 C 中使用堆栈和数组计算后缀表达式

c - lseek 和 offset 的作用是什么

c - OpenCV 泄漏内存(cvResize、cvCreateImage)

用于 mpeg-ts 的具有恒定时间延迟的 c 循环缓冲区

python - 我如何使用 Python Pandas "merge/add"2 个具有相同列和行的混淆矩阵数据帧?

c++ - 使用 Eigen 库从旋转矩阵滚动俯仰和偏航