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

国家高新技术企业查询网站wordpress 响应式 主题

国家高新技术企业查询网站,wordpress 响应式 主题,做物流的网站有哪些,网上商城网站制作一、变换的概念 1.1 图形流水线 1.2 变换#xff08;Transformation#xff09; 变换主要分为四个步骤#xff0c;主要就是在Vertex operations阶段操作顶点信息#xff0c;会在流水线中依次进行。 几何变换投影变换裁剪视口变换 三维模型到二维图形的主要变换过程Transformation 变换主要分为四个步骤主要就是在Vertex operations阶段操作顶点信息会在流水线中依次进行。 几何变换投影变换裁剪视口变换 三维模型到二维图形的主要变换过程注意各种窗口的区别。 投影窗口是一个虚拟的窗口与具体的硬件设备无关。视口变换视口与相关的硬件设备有关。 1.3 OpenGL中变换相关的函数 几何变换glTranslate、glRotate、glScale这些函数只是计算一个变换矩阵然后作为参数设置到图形流水线中。投影glFrustum()、gluPerspective()、glOrtho();视口变换glFrustum()、gluPerspective()、glOrtho()glViewport(); 1.4 几何变换 1.4.1 平移 点P(x,y,z)平移到 P’(x’,y’,z’)平移向量为T(∆x∆y∆z) x’ x ∆x; y’ y ∆y; z’ z ∆z; 表达为向量形式为P’ P T; 表达为矩阵形式 但是上述矩阵表达并不完美因此可以将其进行齐次化使得矩阵的表达结构都变得统一OpenGL中采用4 x 4 的矩阵来表示。 OpenGL中在调用平移函数glTranslatef(∆x∆y∆z)时就构造了一个平移矩阵。 1.4.2 缩放 点P(xyz)经过缩放得到点P’( x’y’z’) 即乘以一个缩放因子 x’ x * SxS_xSx​ y’ y * SyS_ySy​ z’ z * SzS_zSz​ 表达为向量形式P’ P * S表达为矩阵形式并齐次化。 OpenGL中在调用平移函数glScalef(SxS_xSx​SyS_ySy​SzS_zSz​)时就构造了一个缩放矩阵。 缩放中心在原点(000)若仅缩放图形的大小不改变图形的位置即 可以采用组合的方式来实现即先平移到缩放中心在缩放再平移到原来的位置。 glTranslatef(- xpx_pxp​- ypy_pyp​- zpz_pzp​) glScalef(SxS_xSx​SyS_ySy​SzS_zSz​) glTranslatef(xpx_pxp​ypy_pyp​zpz_pzp​) 1.4.3 旋转 点P绕z轴逆时针选旋转 α 角 P(xy)、P(x’y’)点的极坐标形式为 则可以把x’y’z’表示出来 将其表达为矩阵形式 同理可以推导出沿y轴和沿x轴的旋转 实现沿任意向量(AxA_xAx​、AyA_yAy​、AzA_zAz​)的旋转 在OpenGL中构建了一个新的坐标系统Oxyz‾\overline{xyz}xyz​该坐标系以向量(AxA_xAx​、AyA_yAy​、AzA_zAz​)为z轴让后将顶点从Oxyz坐标中变换到Oxyz‾\overline{xyz}xyz​中直观理解为点的位置不变但在不同坐标系中的坐标不一样再绕z轴旋转最后将旋转后的顶点从Oxyz‾\overline{xyz}xyz​坐标系变换到Oxyz坐标系中。 坐标系Oxyz →\rightarrow→ Oxyz‾\overline{xyz}xyz​ 矩阵A旋转坐标系Oxyz‾\overline{xyz}xyz​ →\rightarrow→ Oxyz 矩阵ATA^TAT转置矩阵实际上应该为A−1A^{-1}A−1(逆矩阵)因为A是一个正交矩阵因此A−1A^{-1}A−1 ATA^TAT glRotate(anglexyz) 1.5 采用矩阵形式来表达几何变换可以方便把各种变换组合起来也可以减少计算量最终只需要一个矩阵作用与顶点数据。 在OpenGL中当前模型的变换矩阵为M调用glTranslatef()函数时会生成一个矩阵T让后将矩阵T右乘于矩阵M即 M’ M * T 当在调用glRotatef()函数时会生成一个R矩阵右乘于矩阵 M’ M’’ M’ * R 当最终将矩阵作用于顶点P(xyz)时为 M’’ * P (M * T * R ) * P; 1.6 在1.5中我们注意到顶点P位于矩阵 M’的右边可以看出P点是先旋转再平移再进行M变换为什么矩阵是写在原矩阵的右边而最终的矩阵要写在顶点P的左边呢后面我们将进行解答。 1.7 矩阵的应用 图元P1、P2经过了变换T1、T2、… 、TnOpenGL中是先进行一系列的变换矩阵的处理最后再作用于图元点三角形三角形带四边形等都称为Primitive。 glLoadIdentity(); //初始化矩阵M为单位矩阵,M I;Tranformation T1;...Tranformation Tn; //变换M I * T1 * ... * Tn;Primitive P1;Primitive P2;P1经过变换T1、T2P2经过变换T3、T4OpenGL中基本的逻辑顺序为 glLoadIdentity(); //初始化矩阵M为单位矩阵,M I;Tranformation T1;Tranformation T2; //变换M I * T1 *T2;Primitive P1; glLoadIdentity(); //初始化矩阵M为单位矩阵M ITranformation T3;Tranformation T4; //变换M I * T3 *T4;Primitive P2;二、矩阵的管理 2.1 OpenGL中采用堆栈来管理矩阵主要采用** glPushMatrix() 和 glPopMatrix() **函数。 假设P1、P2有相同的变换TcT_cTc​P1有经过了变换T1、T2P2经过了变换T3、T4则伪码为 glLoadIdentity();Transformation Tc; glPushMatrix();Transformation T1;Transformation T2;Primitive P1; glPopMatrix(); glPushMatrix();Transformation T3;Transformation T4;Primitive P2; glPopMatrix();glPushMatrix()起到了保护环境的作用glPopMatrix()起到了恢复环境的作用两者一般配合起来使用起到了隔离的作用中间的部分不会对 glPushMatrix()和glPopMatrix()之外的操作产生影响。 glPushMatrix();glTranslatef(-1.0, 0.0, 0.0);glRotatef((GLfloat)shoulder,0.0,0.0,1.0);glTranslatef(1.0, 0.0, 0.0);glPushMatrix();glScalef(2.0,0.4,1.0);glutWireCube(1.0);glPopMatrix();glPushMatrix();glScalef(1.0,0.4,1.0);glRotatef((GLfloat)elbow,0.0,0.0,1.0);glTranslatef(1.0, 0.0, 0.0);glScalef(2.0,0.4,1.0);glutWireCube(1.0);glPopMatrix(); glPopMatrix(); 2.2 相关操作对栈中矩阵的影响 glLoadIdentity() 使栈顶矩阵为单位矩阵 glTranslate*()glRotate*()glScale*()栈顶矩阵左乘于变换矩阵 glPushMatrix()将栈顶矩阵复制一份入栈。 glPopMatrix() : 退栈恢复到Push之前的状态 三、模型变换与视点变换 3.1 Model-View Transformation 视点不变。变换模型位置OpenGL默认的视点位置在原点视线方向为z轴负方向。 3.2 View transformation 物体不变变换视点位置如漫游功能。 两种变换是可以统一的也可以相互转化。在OpenGL中有各种堆栈有的用来管理模型变换与视点变换有的用来管理投影变换有的用来管理纹理变换。 glMatrixMode(GL_MODELVIEW)用来设置操作的堆栈即管理模型与视点变换的堆栈。因为模型变换与视点变换是相对的在OpenGL中我们可以认为视点总是不变的所有的变换都是模型变换。 3.3 gluLookAt()函数 void glutLookAt(eyex,eyey,eyez,centerx,centery,centerz,upx,upy,upz)可以用来实现漫游功能即视点变换通过指定摄像机的视线方向中心点和上方向就可以实现漫游功能。 glTranslate()、glRotate()、glScale()都可以理解为视点不动变换模型而gluLookAt()是模拟物体不动变换视点的控制效果。本质上两者都一样gluLookAt()函数也是计算了一个变换矩阵。 四、全局变换与局部变换 4.1 Global transformation全局坐标系变换模式固定坐标系模型图形模式如下变换物体的局部坐标也随着物体改变 4.2 Local transformation 局部坐标系变换模式活动坐标系模式空间模式。如下变换模式物体在局部坐标系中变换。第一种采用与全局变换顺序一样的矩阵进行局部变换第二种与全局坐标相反的矩阵进行局部变换。 4.3 两种变换方式产生的效果完全不一样但是两种方法之间又具有联系将局部变换的顺序调整一下即可产生与全局变换完全一样的效果。 4.4 局部坐标系的变换顺序的逆变换即为全局坐标系的变换全局坐标系的变换顺序的逆变换即为局部坐标系变换。 如果只有依次变换旋转、平移、缩放那么全局变换和局部变换效果一样多种变换的组合时全局变换与局部变换效果一般不同局部变换正好相当于组合顺序相反的全局变换 4.5 局部变换 局部变换在子模型相对于父模型的变换中很有用可以很方便的进行变换而全局变换则比较复杂在OpenGL中单次的变换是全局变换而组合的多次变换则是局部变换。 4.6 例子 glLoadIdentity(); glTranslatef(10.0f,0.0f,0.0f); glRotatef(45.0f,0.0f,0.0f,1.0f);glBegin(GL_QUADS); ... glEnd();生成的矩阵 最终作用于顶点 通过变换的过程可以理解代码里面是先平移、再旋转、而实际作用于顶点时将矩阵放在了点的左边是先旋转再平移这就是局部变换的逆变换就是全局变换的含义。 注意上述矩阵采用的都是行优先矩阵都是乘再原矩阵的右边而再OpenGL中采用的是列矩阵因此新产生的矩阵总是乘再原矩阵的左边。 附录中国大学Mooc图形编程技术北京林业大学杨刚
http://www.yutouwan.com/news/344729/

相关文章:

  • 郑州网站wordpress文章随机缩略图
  • html手机网站模板下载个人开公司需要多少注册资金
  • 网站建设开发技术天津wordpress二次开发手册
  • 吴谨含厂家不愿做网站怎样做自己的 优惠卷网站
  • 超市网站建设方案模板线上转线下营销推广方式
  • 山东滨州网站建设公司免费wordpress页面编辑器
  • 网页游戏网站那个好云南企业网站开发
  • 通化建设工程信息网站怎样建设公司网站小程序
  • 网站运营方案案例杭州做网站的
  • 好品质自适应网站建设小型外包公司在哪找项目
  • php 社交网站模板源码专业团队原图
  • 关于做数学 平方差公式的网站使用vue做简单网站教程
  • 网站建设 媒体广告wordpress获得留言
  • 响应式科技公司网站模板网页模板源代码之家
  • 网站需要怎么优化比较好pc网站原型设计工具
  • 社交型网站首页面设计分析英文网站建设优化
  • 重庆工程建设招标网官方网站学校网络建设方案设计
  • 建设通网站有建筑公司名录大全天津市建设工程监理公司网站
  • 广州网站开发十度网络最好在线作图网
  • 婚纱摄影网站模板免费下载环球旅行社网站建设规划书
  • 淘宝网站开发店铺什么类别网站设计师图片
  • 大屏网站做响应自己做网站卖什么名字
  • 免费招聘网站有哪些芜湖网站建设怎么做
  • 婚纱网站策划书模板一个网站可以做多少个小程序
  • 网站搭建官网免费seo推广软件
  • 新网站如何快速收录wordpress图片特效插件下载
  • 福建公司网站开发龙岩关键词优化排名
  • 广州外贸网站建设 open找室内设计师上哪个网站
  • 英语培训学校网站建设多少钱网站建设 腾
  • 怎样增加网站反向链接现在做网站到底需要多少钱