Flash AS3中的3d数学

时间:2009-10-11 20:08:18

标签: actionscript-3 math 3d

我正在尝试编写像3d墙一样的代码 http://www.flashloaded.com/flashcomponents/3dwall/

我想要创建的形状就像一个浴室或竞技场,它是一个曲线形的角形矩形,边缘倾斜。

下图显示了从上方查看时我想要实现的目标。我希望有所帮助。

alt text

任何人都可以给我一些关于使用原始矩形形状创建这个形状的数学的想法。

谢谢, 约什

1 个答案:

答案 0 :(得分:4)

http://en.wikipedia.org/wiki/Matrix_multiplication

http://en.wikipedia.org/wiki/Transformation_matrix

http://www.devmaster.net/wiki/Transformation_matrices

矩形有4个3D点(矢量)

  

以这种方式定义矢量
  alt text   

移动/旋转/缩放只是将每个向量乘以变换矩阵。

  

该矩阵围绕X轴旋转:
  alt text   

对于预期投影(相机),请查看:http://en.wikipedia.org/wiki/3D_projection

例如:您可以创建矩形并围绕轴旋转它们以创建如下的圆柱体: alt text
(来源:flashloaded.com

  

你的坑:
  注意:角度不正确,应该是pi-a(180º-a)   alt text   

     

创建以原点(0,0,0)为中心的所有矩形,然后根据需要旋转它们并移动到所需位置。我建议你先编写矩阵例程,比如rotate(),move(),scale()和一个简单的绘画函数(只是画线,没有透视),其余部分只是用矩阵来播放。