位置: 编程技术 - 正文

Tutorial 7 Rotation Transformation

编辑:rootadmin

推荐整理分享Tutorial 7 Rotation Transformation,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文源自: TransformationBackground

我们要讲的下一个变换是旋转变换,给定一个角度和点,随后使点绕着其中一个轴进行旋转。我们经常改变X、Y和Z红的其中两个,另外一个则保持不变。这样一来,点走过的路径会在三个主要的平面上:XY(绕着Z轴旋转的时候),YZ(绕着X轴旋转的时候)和XZ(绕着Y轴旋转的时候)。当然还有更复杂的旋转变换,你可以绕任意一个向量进行旋转,当然我们现在不需要了解这个。

Tutorial 7 Rotation Transformation

然我们根据概述来定义问题。思考一下下面的图表: 把(x1,y1)点绕着圆圈旋转到(x2,y2)点。换句话说我们想对(x1,y1)旋转alpha2。我们先假定圆圈的半径为1。那么会有以下等式: x 1 =cos(α 1 )y 1 =sin(α 1 )x 2 =cos(α 1 +α 2 )x 2 =sin(α 1 +α 2 ) 我们用下面的三角函数来展开x2,y2 cos(α+β)=cos(α)⋅cos(β)−sin(α)⋅sin(β)sin(α+β)=sin(α)⋅cos(β)+sin(α)⋅cos(β) 通过上面的三角函数可以写出: x 1 =cos(a 1 +a 2 )=cos(a 1 )⋅cos(a 2 )−sin(a 1 )⋅sin(a 2 )=x 1 ⋅cos(a 2 )−y 1 ⋅sin(a 2 )y 2 =sin(a 1 +a 2 )=sin(a 1 )⋅cos(a 2 )+cos(a 1 )⋅sin(a 2 )=y 1 ⋅cos(a 2 )+x 1 ⋅sin(a 2 ) 在上面的图表中,我们看向XY平面而Z轴直接指向着页面。如果X或者Y是四维向量的一部分,所以上面的的等式可以写成矩阵的形式(矩阵不影响Z或W) ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ cosαsinα −sinαcosα ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⋅⎡ ⎣ ⎢ ⎢ ⎢ ⎢ xyzw ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ x⋅cosα−y⋅sinαx⋅sinα+y⋅cosαz1 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 如果你想绕着Y和Z轴旋转,那么等式也是极其类似了但是矩阵会有轻微的变化。下面就是绕着Y轴旋转的矩阵。 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ cosα0sinα0 −sinα1cosα0 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⋅⎡ ⎣ ⎢ ⎢ ⎢ ⎢ xyzw ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ x⋅cosα−z⋅sinαyx⋅sinα+z⋅cosα1 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 绕着X轴旋转的等式: ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ 0cosαsinα0 0−sinαcosα0 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⋅⎡ ⎣ ⎢ ⎢ ⎢ ⎢ xyzw ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ xy⋅cosα−z⋅sinαy⋅sinα+z⋅cosα1 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥

Source walkthru

这个教程中的代码变化及其简短。我们只改变代码中一个变换矩阵。

当绕着Z轴旋转的时候,你也可以尝试其他的旋转,但是我认为没有经过从3D到2D的投影处理,旋转看起来会很无趣。我们会在后面的几个教程里面完成所有管线的变换。

Android OpenGL ES(一)----必备知识 1.手机的坐标空间我们都知道要想在手机上随心所欲的绘制图形,就必须了解手机的坐标体系。下图就是将坐标映射到手机屏幕的坐标。图1手机屏幕基

Android OpenGL ES(二)----平滑着色 直线或者三角形上的每个片段混合后的颜色可以用一个varying生成。我们不仅能混合颜色,还可以给varying传递任何,OpenGL会选择属于那条直线的两个,或

Tutorial 8:Scaling Transformation 本文源自:

标签: Tutorial 7 Rotation Transformation

本文链接地址:https://www.jiuchutong.com/biancheng/369427.html 转载请保留说明!

上一篇:Tutorial 6:Translation Transformation

下一篇:Android OpenGL ES(一)----必备知识

  • 劳务费用 税率
  • 预缴增值税计算公式方法
  • 预缴增值税需要预缴附加税吗
  • 股权转让怎么申报
  • 2019未达起征点免税分录
  • 坏账准备的账务处理4步
  • 印花税什么情况可以退
  • 企业所得税前扣除是啥意思
  • 职工基本医疗保险单位交的钱去哪里了
  • 高危职业人身意外险
  • 工程项目中的设备主要包括什么和什么
  • 金融服务利息
  • 发票丢失可以冲销吗
  • 广告制作选哪个专业好
  • 新公司有减免税政策吗?
  • 在纳税申报时如何填写申报表?
  • 分公司银行开户需要章程吗
  • 应收款的周转天数
  • 研发支出的二级科目是什么
  • 新员工15号入职交社保吗
  • 清产核资的步骤
  • 或有负债如何计量
  • 累积带薪缺勤怎么算
  • 计提当月电费账务处理
  • linux用途是什么
  • 软件服务费怎么算
  • 无法收回的保证金计入营业外支出汇算清缴调增填其他吗
  • 暂估营业成本怎做分录
  • centos只有lo
  • 不征税收入符合的条件
  • php数组函数题目
  • 公司转让债务债权协议
  • 在计算应纳税所得额时,不允许作为税金项目
  • yii框架教程
  • 物业管理单位收取的物业费征不征收增值税
  • 固定资产清理科目余额结转哪里
  • 销售自己使用过的固定资产
  • php如何实现重载
  • php mkdir
  • 卫生医疗收费专业有哪些
  • 政府无偿划转股权 要做可行性研究
  • 收款收据可以盖业务章吗
  • 异地预缴个人所得税账务技巧
  • 个税申报和社保申报的金额要一致吗
  • mongodb局域网访问
  • 资产负债表的编制原理
  • 餐饮服务需要卫生许可证吗
  • 企业当年实现的利润属于哪类会计科目
  • 房地产企业购买礼品赠送客户
  • 免征增值税个税计税依据
  • 信用减值损失与资产减值损失
  • 公司购买的空调
  • 车辆租赁费发票怎么开
  • 事业单位收入是再分配吗
  • 应付职工薪酬账户贷方登记的是
  • 发票作废有什么后果
  • 记账发生错账怎么办
  • mysql视图语句
  • microsoft onedrive怎么关闭
  • unix操作系统命令
  • windows7中ie浏览器怎么打开
  • windows下键盘不能用
  • win8命令提示符怎么运行命令
  • windows8如何使用
  • win10生物识别
  • 进入linux命令行
  • opengl入门视频教程
  • Android游戏开发教程
  • linux bash shell
  • javascript概述及作用
  • mark一下怎么用
  • python多进程模块
  • python能爬取app吗
  • javascript闭包运行原理
  • android sdk在哪下载
  • Android-Universal-Image-Loader 图片异步加载类库的使用
  • 用python编写的程序称为
  • 山东省关于退林还耕的规定
  • 税控盘开票怎么添加新商品
  • 内蒙古包头税务局客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设