首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基础知识03-drawTriangles三维空间到二维投影[转]

2012-12-25 
基础知识03-drawTriangles三维到二维投影[转]转载 原文为 [url]http://www.pan3d.me/tutorial [/url]作者

基础知识03-drawTriangles三维到二维投影[转]
转载 原文为 [url]http://www.pan3d.me/tutorial [/url]作者 Pan3d.Me



核心提示, 在这里,我们不单只是把三角形画出来了,而是跟据真实的空间中的4个点(一个矩形面) 投影成像在镜头上来了,

这样一来,我们就可以通过这种方法将任何三维对象(如,建筑,人) 中的三角形逐个绘制出来。

程序提示。 (下载并打开源文件)

_br=200 是指焦距

存储三维的点坐标, (为了更好直观 需要自己修改其中的一些数据,观察图像变化)

_pointitem.push(new Vector3D( -100, 50, -50) );
_pointitem.push(new Vector3D( -100, -50, -50) );
_pointitem.push(new Vector3D( 100, -50, 50) );
_pointitem.push(new Vector3D( 100, 50, 50) );

因为是三维的数据我们需要转成为二维的,(3D的数据有x,y,z, 2D只有 x,y);

private function transform3d_to_2d(_point:Vector3D) {      //传入一个三维坐标,通过映射公司可以得到 二维坐标,
return {x:_point.x / (_point.z+_br) * _br ,y:-_point.y / (_point.z+_br) * _br}
}

二维坐标Y 为什么要将 三维的 Y坐标 加一个负数呢, 上章有说过,FLASH 舞台跟我们数学中的坐标 Y是相反的,

热点排行