`
handsomeliuyang
  • 浏览: 314901 次
  • 性别: Icon_minigender_1
  • 来自: 益阳
社区版块
存档分类
最新评论

混合变化(移动,旋转,缩放)的顺序

 
阅读更多

在opengl和android的canvas对于图形的变化都是用矩阵来操作的,如移动,旋转,缩放。对于组合变化,就是让这些多种变化的矩阵进行相乘,而矩阵的乘法不满足交换律,之这一点上,就可以看出组合变化也不满足交换律。

例如:要实现下面两张图形的变化,我们要怎样做:


 


 

首先想像一下,只有先缩放再旋转,图形才能变成上图,如果是先旋转再缩放,再就会变成下面的图形(变化会对其中的每个点进行矩阵变化):



 

那代码要怎样写了:

 

// 变化一(这个变化其实,才是我们想要的)
gl.glRotatef(45, 0, 0, 1); 
gl.glScalef(2, 0.5f, 1); 

// 变化二(与我们的想要的结果相差很远)
gl.glRotatef(45, 0, 0, 1); 
gl.glScalef(2, 0.5f, 1); 
   

 这里我们可能就会把我们弄混淆了,可事实就是要这样去写,那如何才能让我们不会被弄混淆了,记住一点:last specified, first  applied(后指定的变化,先被执行变化),

 

  • 大小: 58 KB
  • 大小: 46.5 KB
  • 大小: 46.7 KB
分享到:
评论

相关推荐

    柯达preps混合拼版教程(preps6.0)

    在混合拼版方面,教程会重点介绍如何处理不同尺寸和类型的页面,这通常包括对单个页面进行旋转、缩放、移动等操作,以适应版面布局。用户可以通过软件的工具进行精确的定位和排列,确保最终拼版效果既满足印刷技术...

    (0083)-iOS/iPhone/iPAD/iPod源代码-动画(Animation)-Core Animation Demos

    图层的顺序和混合模式会影响最终的显示结果。 9. **时间函数(Timing Functions)**:动画的平滑度和节奏感可以通过选择不同的时间函数来调整,如`easeInEaseOut`、`linear`等。 10. **关键帧动画(Keyframe ...

    15种CSS3图片Hover悬停效果代码

    2. **变换(Transform)**:变换允许我们对元素进行旋转、缩放、移动等操作。在悬停效果中,可以用来实现图片翻转、放大或移动等动态效果。 3. **阴影(Box Shadow & Text Shadow)**:通过添加阴影效果,我们可以...

    CATIA基础教程与全国信息化应用能力考试指导-1.docx

    ##### 移动、旋转、缩放凸台 - **移动**:在主窗口区域内,按住鼠标中键不放,移动鼠标实现凸台移动。 - **旋转**:同时按住鼠标中键和右键不放,移动鼠标实现凸台旋转。 - **缩放**:先同时按住鼠标中键和右键,...

    Flash CC动画制作与设计实战视频教程下载第6讲 图层与帧的操作及应用.zip

    同时,可以使用帧动画来制作物体的移动、旋转或缩放效果。例如,通过在不同关键帧中改变物体的位置,Flash将自动生成平滑的移动动画。此外,还可以利用帧的延迟属性(帧频)来控制动画的速度,实现快速或慢动作效果...

    AE教案第二周

    这五个属性包括位置、缩放、旋转、不透明度和锚点。关键帧动画则是通过在时间线上设置不同时间点的关键帧,定义属性的变化,从而创建动态效果。例如,通过设置位置的关键帧,可以让一个元素在屏幕上移动;通过设置...

    Cocos2D-X开发学习笔记-渲染框架之精灵类的使用示例

    Cocos2D-X中的`cc::Sprite`类就是这样的一个对象,它可以方便地进行移动、旋转、缩放等操作,并且支持图层混合和alpha透明度。`cc::Sprite`类是基于`cc::Node`的子类,因此它具有节点的所有特性,如变换、事件处理和...

    AE__模拟仿真特效.pdf

    用户可以设定“行&列”布局,“倾斜层”作为指导图像,“旋转次序”和“顺序变换”定义旋转顺序,“素材源”选择参考图像来控制碎片分布。 7. 水波世界特效 这个特效用于创造水波效果。通过“查看”选择查看方式,...

    一些文档资源

    - 移动、缩放、旋转和倾斜对象。 - **锁定与解锁:** - 防止意外修改选定对象。 - **排列:** - 控制对象在堆叠顺序中的位置。 - **路径查找器:** - 合并、分割和修剪路径。 **7. 文字工具字符面板** - **...

    flash非常好的文字特效

    预设特效是Flash自带的一系列预先设定好的动画效果,用户可以直接应用到文本对象上,如淡入淡出、旋转、缩放、移动等。自定义特效则需要通过ActionScript编程实现,提供了更广阔的设计空间,可以根据需求创建独特的...

    ID对象的编辑解析PPT教案.pptx

    - **对象混合**:创建两个或多个对象之间的平滑过渡效果,例如颜色或形状的变化。 8. **对象效果** - **对象效果**:包括阴影、模糊、渐变叠加等多种视觉效果,增强对象的表现力。 9. **角选项** - **角选项**...

    关键帧动画Demo

    在“关键帧动画Demo”中,我们可以期待看到各种特效和交互,比如物体的平移、旋转、缩放、颜色渐变,甚至是复杂的路径运动。这些效果可以通过编程语言(如JavaScript、C++或Unity脚本)或者专用的动画工具(如Adobe ...

    cocos2d 总结:三 CCSprite

    它允许开发者将图片加载到场景中,并进行各种操作,如移动、旋转、缩放等。这个类的灵活性和效率使得它成为创建游戏精灵的关键工具。通过阅读该博文,我们可以了解到如何有效地利用CCSprite来构建动态的游戏世界。 ...

    游戏和图形学的3d数学入门教程pdf格式

    接下来,矩阵是3D数学中的另一个重要工具,它可以用来表示变换,如平移、旋转和缩放。4x4矩阵通常用于组合这些变换,包括透视投影和正交投影,使得3D对象能够在2D屏幕上正确显示。此外,逆矩阵和行列式在解决线性...

    纯CSS3实现的万花筒变换动画效果源码.zip

    `transform`可以对元素进行旋转(rotate)、缩放(scale)、移动(translate)以及倾斜(skew)等多种变换。在万花筒动画中,我们可以为不同元素设置不同的变换,以模拟出图像的扭曲和旋转效果。 接着,为了实现...

    10种纯CSS3 transform鼠标悬停到图片上过渡动画效果

    2. **缩放动画** (`scale`) 利用`transform: scale(x, y)`,我们可以改变元素的大小。例如,`scale(1.5, 1.5)`将使图片在水平和垂直方向上放大1.5倍。 3. **位移动画** (`translate`) `transform: translate(x, y...

    Authware动态显示图片

    精灵可以被移动、缩放、旋转,并且可以包含一组帧来实现动画效果。理解精灵对象的属性和方法对于动态显示图片至关重要。 4. **事件驱动编程**:Authware采用事件驱动的编程模型,这意味着图片的显示和更新通常与...

    flash动画制作作业 气球 飞鸟 森林 画轴等等

    动作补间则适用于对象的位置、旋转、缩放等变化,如飞鸟的飞行路径。 5. **图层管理**:在复杂的动画中,图层可以帮助组织和控制不同元素的显示顺序。例如,森林可以作为一个背景图层,飞鸟在前景图层,这样可以...

    第12课盛装跳舞.doc

    在Scratch中,图形特效模块包括旋转、缩放、颜色混合等多种效果。例如,学生可以通过改变“旋转”特效来实现角色扭腰扭臀的动作,通过调整“缩放”来模拟角色舞蹈时的身体摆动。这些特效模块的灵活运用可以让角色的...

    CATIA基础教程与全国信息化应用能力考试指南.docx

    此外,用户还可以通过鼠标中键、中键加右键等方式移动、旋转和缩放模型,以观察和调整模型的视角。 特征明细树(Specification Tree)是CATIA中的一个重要组成部分,它记录了模型构建的完整历史,包括特征的生成...

Global site tag (gtag.js) - Google Analytics