今天仔细研究了一下glRotatef()函数参数的具体意义。angle毋庸置疑就是旋转的角度,而x,y,z三个参数则应该看成一个整体表示一个向量,表示物体围绕向量[x,y,z]旋转。下面就具体谈谈自己发现这几个参数意义的过程。
        刚看glRotatef()函数的时候对各个参数的意义很是不明白,自己上网查了一查,但发现网上说的却不是我想要的答案。于是潜下心来研究了一番。刚开始看的时候在参数angle上根本就没花什么时间,对于x,y,z三个参数的研究主要分为了如下几个个过程。初看的时候是对三个参数分个来研究的,发现如果x,y,z中仅有一个不为0的话,例如x不为0,若x>0,则表示绕x轴正方向旋转angle度,若x<0,则表示绕x轴负方向旋转angle度,不论x的值是多大,即1.0和0.1代表的都是绕x轴正方向旋转angle度。于是就初步下了一个结论,即x,y,z只表示了三个状态,即大于0表示绕该轴正方向旋转,小于0表示绕该轴负方向旋转,等于0就表示绕该轴不旋转。但是当x,y,z三个参数中至少有两个不为0的时候发现根本不是那么回事,因为当x不为0且为一个定值的时候,y取不同值物体旋转的状态根本就不一样,这就推翻了我第一次的假想。到了这里似乎就遇到了一个瓶颈,任我如何想都想不明白,到了吃饭的时间居然都感觉不到饿。后来实在没有办法的时候还是打算先去吃饭,刚穿上外衣的时候突然一个想法闪进我的脑海,为什么不把x,y,z看成一个整体呢?带着这个疑问我思考了一路,越想越兴奋,最后才向x,y,z应该表示一个向量,即物体旋转时所围绕的那个向量。回来后测试了一下发现[0,1,1]和[0,2,2]所产生的旋转效果是一样的,后来又测试了几组值,我对自己的猜想更加地肯定了。
      虽然更加肯定了自己的想法,但还是不能说明它是百分之百正确的,还希望各位找找看看能不能再补充一点或者添加一些其他函数参数意义的说明。

关于glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)的参数的一些理解相关推荐

  1. 三维模型(X,Y,Z)坐标,UV坐标

    1.什么是UV? 对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标.什么是UV?简单的说,就是贴图影射到模型表面的依据. 完整的说,其实应该是UVW(因为XY ...

  2. python使用matplotlib可视化3D柱状图(3D histogram、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为z、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D histogram.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为z.改变3d图观察的角度 目录

  3. python使用matplotlib可视化3D柱状图(3D bar plot、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为y、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D bar plot.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为y.改变3d图观察的角度 目录

  4. python使用matplotlib可视化3D直方图(3D histogram、三维直方图、包含三个坐标轴x、y、z)、3D直方图可视化多个维度数据的区别和联系

    python使用matplotlib可视化3D直方图(3D histogram.三维直方图.包含三个坐标轴x.y.z).3D直方图可视化多个维度数据的区别和联系 目录

  5. 有监督学习的算法fit(x,y)传两个参数无监督学习的算法是fit(x),即传一个参数

    有监督学习的算法fit(x,y)传两个参数无监督学习的算法是fit(x),即传一个参数 https://www.jianshu.com/p/55e261ce9b3e

  6. matlab中求三维中的多个体积,用matlab计算由下面2个几何体围成的体积: x^2+y^2+z^2=36,((x-4)/5)^2+((y-1)/3)^2+((z-2)/5)^2=1...

    答:>> triplequad(@(x,y,z)1*(x.^2+y.^2+z.^2 答:首先建立一个m文件 我取的名字叫 syfs0000 function y=syfs0000(x) y ...

  7. 十五、CSS 3新特性详解(三)——3D转换(位移、旋转、呈现)、透视perspective、旋转rotateX、Y、Z、呈现transform-style

    HTML5 第三天 一. 认识 3D 转换 3D 的特点 近大远小 物体和面遮挡不可见 三维坐标系 x 轴:水平向右 – 注意:x 轴右边是正值,左边是负值 y 轴:垂直向下 – 注意:y 轴下面是正 ...

  8. 算法——X^3+Y^3+Z^3=XYZ(水仙花数)

    3 位水仙花数:153.370.371.407 4 位水仙花数:8028 这也算是水仙花数的一个变体吧,这里的XYZ不表示相乘,而是一种拼接,X.Y.Z都是三位数.也许存在一种优雅的解法,日后如能发现 ...

  9. 初等证明:使用无穷下降法证明丢番图方程x^4 - y^4 = z^2无非零整数解

    题:使用无穷下降法证明丢番图方程x4−y4=z2x^4 - y^4 = z^2x4−y4=z2无非零整数解.(摘自<初等数论及其应用第六版>13.313.313.3习题444) 前言:近来 ...

最新文章

  1. Node.js流,这样的打开方式对不对!
  2. oracle修改字段名称 试图删除被依赖列_oracle 添加 删除列 修改表名字 ;加注释 异常解释...
  3. assert 闪退 android,AEX部分软件闪退问题,求解!
  4. nginx file not found 错误处理小记
  5. sql azure 语法_Azure Data Studio中SQL Server架构比较扩展
  6. java 操作linux_java程序里调用linux命令
  7. ssm-学子商城-项目第一天
  8. 【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
  9. 如何在谷歌浏览器官网下载谷歌浏览器32位、64位或其他版本最新的离线安装包?
  10. Matlab 自定义imagesc彩色渲染
  11. 74151/74LS151 8选1数据选择器
  12. 项目经理面试的一些问题讨论
  13. 小米路由器wifi显示无法连接服务器,小米路由器登录地址打不开怎么办?
  14. 《c语言程序设计》第一次网上作业,精编国家开放大学电大《C语言程序设计》《劳动与社会保障法》网络课形考网考作业(合集)答案...
  15. lzw编码c语言,LZW字典压缩算法的实现
  16. Go语言环境搭建详解(2020版)
  17. java POI创建Excel示例(xslx和xsl区别 )
  18. 【考研经验】中国科学技术大学软件学院考研经历及复试回忆
  19. AJAX和JSON介绍
  20. bboss quartz定时任务使用案例介绍

热门文章

  1. C语言中alarm的应用
  2. 二叉树先序遍历、中序遍历、后序遍历 递归和非递归算法
  3. 2020清华计算机科学与技术录取分析总结
  4. gallery3d的源码分析——入口
  5. 【转】解决shiro的Principal属性动态修改无效问题
  6. 回溯算法(回溯搜索法)
  7. 初识selenium--发送QQ邮件
  8. libselinux conflicts with fakesystemd-1-17.el7.centos.noarch
  9. 任务调度框架Quartz用法指南(超详细)
  10. 模拟键盘鼠标事件有两种方法