Processing 3:旋转/平移/剪切/缩放

介绍Processing中绘图的坐标变换用法。主要有二维和三维的旋转,平移,剪切,缩放这些变换,Processing使用矩阵(Matrix)处理这些变换。

工具/原料

  • Processing

方法/步骤

  1. size不带第三个参数,表示默认的2D渲染器。这种模式下变换矩阵是2*3的。

    使用translate(x平移,y平移)以应用一个平移变换。

    使用rotate(角度)应用一个旋转变换。

    注意:这些变换并不改变摄像机的位置。改变的是,将要绘制的图案所在的坐标系。已绘制图案不受影响。

  2. 在size中如果第三个参数为P2D或者P3D,即使用OpenGL渲染器,矩阵都是标准的4*4.

    printMatrix函数将当前矩阵显示出来。

  3. 在P3D模式下,使用translate(Δx,Δy,Δz)应用一个平移变换。

    使用rotateX,rotateY,rotateZ分别应用沿着x,y,z轴旋转的变换。

  4. 使用scale(缩放率)scale(x缩放率,y缩放率[,z缩放率])来应用缩放变换。

  5. 使用shearX(角度)shearY(角度)应用沿着x轴或者y轴的剪切变换。

    角度表示剪切方向。

  6. 使用applyMatrix(6个参数)应用一个默认渲染器下的2维的变换矩阵。

    使用applyMatrix(16个参数)应用一个P2D/P3D模式下的变换矩阵。

  7. 使用pushMatrixpopMatrix以将当前变换暂存(压栈)或取出(出栈)。

    示例如图:可以使用这种方式绘制分形。

  8. 使用resetMatrix()把矩阵重置为初始状态,即无平移无旋转无剪切。

注意事项

  • P3D模式下,Z轴垂直于屏幕。与P2D的X,Y轴定义兼容。
  • applyMatrix不是将当前矩阵设置为输入,而是把当前输入应用到以有矩阵(相乘)。

我们猜您还喜欢

  • 万兴神剪手怎么剪切缩放视频和改变视频尺寸
  • 万兴神剪手怎么剪切缩放视频,改变视频尺寸
  • 使用OpenCV 3.4进行图像的拉伸旋转平移基本处理
  • Flash制作动画—舞台平移与缩放
  • Pdf如何进行平移缩放快速预览?
  • 3DBuilder怎样缩放旋转对象
  • Three.js实现旋转星空的效果(精灵)
  • 暴风影音播放器如何翻转/旋转视频
  • CFX缩放网格的方法
  • An如何旋转图片