当前位置: 首页 > news >正文

三维计算机图形学 孔令德等著 读书笔记

  1. P ′ = M P P^{'}=MP P=MP
    其中 M 是 仿射变换矩阵,注意 M 左乘 点 P 而非 右乘。

  2. 三维旋转可以看做是二维旋转的组合。分别取 x、y、z 为旋转轴,绕每个旋转轴的三维旋转可以看成是在另两个坐标轴组成的二维平面上进行的二维旋转变换。当沿坐标轴往坐标原点方向看去时,沿逆时针方向的旋转角为正向旋转角,即满足右手定则:大拇指指向旋转轴的轴向,四指弯曲的方向为正向。

  3. 三维基本变换是相对于坐标原点或坐标轴进行的几何变换。三维复合变换是指对物体做一次以上的基本变换,总变换矩阵是每一步变换矩阵相乘的结果。
    相对于任一参考点的三维变换:在三维基本变换中,旋转变换和缩放变换是与参考点相关的。相对于任一参考点的缩放变换和旋转变换应表达为复合变换形式。变换方法是首先将参考点平移到坐标系原点,相对于坐标系原点做缩放变换或选择变换,然后再进行反平移,将参考点平移回原位置。
    注:这里说的平移,我觉得是对所有点做这样一种平移:能够使得“任一参考点”平移到坐标原点的平移。

    相对于任意方向的三维变换:首先对“任意方向”做旋转变换,使“任意方向”与某个坐标轴重合,然后对该坐标轴进行三维基本变换,最后做反向旋转变换,将“任意方向”还原回原来的方向。三维变换中需要进行两次旋转变换,才能使“任意方向”与某一坐标轴重合。一般做法是先将“任意方向”旋转到某个坐标平面内,然后再旋转到与该坐标平面内的某一个坐标轴重合。一般选“某一个坐标轴”为 z 轴。
    变换步骤
    (1)平移变换,使得旋转轴通过坐标系原点
    (2)旋转变换,使得旋转轴与某一坐标轴重合
    (3)绕坐标轴完成指定的旋转
    (4)利用逆旋转变换使旋转轴回到其原始方向
    (5)利用逆平移变换使旋转轴回到其原始方向

  4. 上面的 2 、3 讲的都是点的变换,如果要对 坐标系进行变换,会不一样。
    注意,无论是三维点变换,亦或是坐标系变换,变换矩阵都是针对三维物体点的,就是说变换矩阵是作用在三维点上面的

  5. 计算机图形学中的三维场景(scene)是指由物体、光源、视点等构成的一个世界坐标系,用于展示相关的图新对象。一般 x 轴水平向右为正,y 轴垂直向上为正,z 轴指向观察者

相关文章:

  • Python next(df.dropna().tail(1).iterrows()) 为啥不报错
  • 金旭亮著作斟误表及未来写作计划
  • 分辨率概念
  • 更开放,更互联
  • PyTorch nn.Linear学习记录
  • 《荒漠甘泉》4月16日
  • LeetCode 146 LRU Cache
  • 又一个加班的生日
  • 原始 NeRF 论文主要点细致介绍
  • 关于AOP的学习过程简单总结
  • 英语词典缩略词
  • SQL 2008 T-Prep 上课心得(二)
  • conda虚拟环境指定python版本出错
  • 浅谈 自定义Vista启动管理项
  • 光线追踪渲染技术能听懂的介绍
  • JavaScript-如何实现克隆(clone)函数
  • 【笔记】你不知道的JS读书笔记——Promise
  • Angular 4.x 动态创建组件
  • CSS盒模型深入
  • java中具有继承关系的类及其对象初始化顺序
  • JSDuck 与 AngularJS 融合技巧
  • Logstash 参考指南(目录)
  • Protobuf3语言指南
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • SpingCloudBus整合RabbitMQ
  • storm drpc实例
  • zookeeper系列(七)实战分布式命名服务
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 基于遗传算法的优化问题求解
  • 排序算法学习笔记
  • 漂亮刷新控件-iOS
  • 前嗅ForeSpider教程:创建模板
  • 巧用 TypeScript (一)
  • ionic异常记录
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 我们雇佣了一只大猴子...
  • ​决定德拉瓦州地区版图的关键历史事件
  • ###C语言程序设计-----C语言学习(3)#
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (办公)springboot配置aop处理请求.
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (转)http-server应用
  • .md即markdown文件的基本常用编写语法
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET 常见的偏门问题
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net6+aspose.words导出word并转pdf
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • []sim300 GPRS数据收发程序
  • [51nod1610]路径计数
  • [android] 请求码和结果码的作用
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)