actionscript flex 中三维坐标和屏幕(二维)坐标的转换
- flash.display.DisplayObject?类包含 z 属性和新的旋转和缩放属性,这些属性用于操作 3D 空间中的显示对象。DisplayObject.local3DToGlobal?() 方法提供了一种将?3D 几何图形投影到 2D 平面?的简单方式?。??Java代码??
- //?屏幕坐标系和3D坐标系:??
- ??
- //?将_sprite的(200,?0,?0)的那个点三维点转换成一个二维点??
- var?p:Point?=?_sprite.local3DToGlobal(new?Vector3D(200,?0,?0));??
- ??
- //?二维坐标?转换成?三维坐标??
- var?p:Vector3D?=?_sprite.globalToLocal3D(new?Point(mouseX,?mouseY));??
- ??
- //?pointAt?方法接收一个?Vector3D?对象作为指向的目标,这边设成了鼠标光标??
- _sprite.transform.matrix3D.pointAt(new?Vector3D(mouseX,?mouseY,?0));??
- flash.geom.Vector3D?类可用作管理 3D 点?的数据结构?。该类还支持矢量数学运算。
- flash.geom.Matrix3D?类支持复杂的 3D 几何转换?,例如旋转、缩放和平移。
- flash.geom.PerspectiveProjection?类控制着将?3D 几何图形映射到 2D 视图?的相关参数?。
在 ActionScript 中,有两种不同的模拟 3D 图像的方式:
- 在?3D 空间?中排列平面对象并进行动画处理?。这种方式需要使用显示对象的 x、y 和 z 属性来对显示对象进行动画处理,或者使用 DisplayObject 类设置旋转和缩放属性。使用DisplayObject.transform.matrix3D?对象可以实现更为复杂的运动?。DisplayObject.transform.perspectiveProjection?对象可自定义显示对象在 3D 透视?中的绘制方式?。如果需要对主要包含平面的 3D 对象进行动画处理,可以使用这种方式。这种方式的例子包括 3D 图库或者 3D 空间中排列的 2D 动画对象。
- 从?3D 几何图形生成 2D 三角形?,然后用纹理呈现这些三角形。要使用这种方式,必须首先定义和管理有关 3D 对象的数据,然后将这些数据转换成?要呈现的?2D 三角形?。可以将位图纹理映射到这些三角形,然后使用 Graphics.drawTriangles?()方法将三角形绘制为图形对象。这种方式的例子包括从文件中加载 3D 模型数据?并将模型呈现到屏幕上,或以三角形网格形式生成和绘制 3D 图形。
?
?
?
原帖地址:http://www.4ucode.com/Study/Topic/840272