【转】三维几何变换

转自:http://202.118.167.67/eol/data/res/jsjtxx/Chapter6/CG_Txt_6_012.htm

由于用齐次坐标表示,三维几何变换的矩阵是一个4阶方阵,其形式如下:

1)平移变换

 

     参照二维的平移变换,我们很容易得到三维平移变换矩阵:

2)缩放变换

 

直接考虑相对于参考点(xfyfzf)的缩放变换,其步骤为:

A. 将平移到坐标原点处;

B. 进行缩放变换;

C. 将参考点(xfyfzf)移回原来位置

则变换矩阵为:

3)绕坐标轴的旋转变换

 

三维空间的旋转相对要复杂些,考虑右手坐标系下相对坐标原点绕坐标轴旋转q 角的变换:

A.绕x轴旋转

B.绕y轴旋转

C.绕z轴旋转


三维空间的平移、旋转及缩放示意图

4)绕任意轴的旋转变换

 

   设旋转轴AB由任意一点Axayaza)及其方向数(abc)定义,

   可以通过下列步骤来实现P点的旋转:

     A. 将A点移到坐标原点。

     B. 使AB分别绕X轴、Y轴旋转适当角度与Z轴重合。

    

     D.作上述变换的逆操作,使AB回到原来位置。

ABYOZ平面与XOZ平面的投影与Z轴的夹角。

posted @   申龙斌的程序人生  阅读(796)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示