我正在尝试编写像3d墙一样的代码 http://www.flashloaded.com/flashcomponents/3dwall/
我想要创建的形状就像一个浴室或竞技场,它是一个曲线形的角形矩形,边缘倾斜。
下图显示了从上方查看时我想要实现的目标。我希望有所帮助。
任何人都可以给我一些关于使用原始矩形形状创建这个形状的数学的想法。
谢谢, 约什
答案 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点(矢量)
移动/旋转/缩放只是将每个向量乘以变换矩阵。
对于预期投影(相机),请查看:http://en.wikipedia.org/wiki/3D_projection
例如:您可以创建矩形并围绕轴旋转它们以创建如下的圆柱体:
(来源:flashloaded.com)
创建以原点(0,0,0)为中心的所有矩形,然后根据需要旋转它们并移动到所需位置。我建议你先编写矩阵例程,比如rotate(),move(),scale()和一个简单的绘画函数(只是画线,没有透视),其余部分只是用矩阵来播放。