PerspectiveMatrix3D继承自Matrix3D。表示投影矩阵的功能类。

公式:用4X4矩阵向z=d的平面投影

public function perspectiveFieldOfViewLH(fieldOfViewY:Number,
                                                 aspectRatio:Number,
                                                 zNear:Number,
                                                 zFar:Number):void {
            var yScale:Number = 1.0/Math.tan(fieldOfViewY/2.0);
            var xScale:Number = yScale / aspectRatio;
            this.copyRawDataFrom(Vector.<Number>([
                xScale, 0.0, 0.0, 0.0,
                0.0, yScale, 0.0, 0.0,
                0.0, 0.0, zFar/(zFar-zNear), 1.0,
                0.0, 0.0, (zNear*zFar)/(zNear-zFar), 0.0
            ]));
        }

使用perspectiveFieldOfViewLH时,设定的是左手坐标系,投影平面在z=1的地方。

public function perspectiveFieldOfViewRH(fieldOfViewY:Number,
                                                 aspectRatio:Number,
                                                 zNear:Number,
                                                 zFar:Number):void {
            var yScale:Number = 1.0/Math.tan(fieldOfViewY/2.0);
            var xScale:Number = yScale / aspectRatio;
            this.copyRawDataFrom(Vector.<Number>([
                xScale, 0.0, 0.0, 0.0,
                0.0, yScale, 0.0, 0.0,
                0.0, 0.0, zFar/(zNear-zFar), -1.0,
                0.0, 0.0, (zNear*zFar)/(zNear-zFar), 0.0
            ]));
        }

使用perspectiveFieldOfViewRH时,设定的是右手坐标系,投影平面在z=-1的地方。

在实际应用中,要特别注意坐标系的选择,否则会出现屏幕上看不到物体的情况。

最新文章

  1. linux下apache各种跳转(包括伪静态)的配置
  2. iOS开发网络篇—发送json数据给服务器以及多值参数
  3. VS - 实用技巧
  4. boost.compressed_pair源码剖析
  5. jndi配置数据源
  6. iOS 检测版本更新
  7. android 监听app进入后台以及从后台进入前台
  8. github在eclipse中的配置
  9. hdu 5612 Baby Ming and Matrix games(dfs暴力)
  10. 【Android进阶】Android面试题目整理与讲解(二)
  11. Win10打不开chm文件的解决办法
  12. uploadify上传文件(2)--基础语法
  13. 一个简单程序快速入门JDBC
  14. linux 硬盘满了如何处理
  15. 11 python初学 (文件)
  16. Modbus库开发笔记:Modbus ASCII Slave开发
  17. ArchLinux安装Sublime Text 3
  18. Android Studio 解析json文件出现中文乱码解决方法
  19. 复刻smartbits的国产网络测试工具minismb-如何测试路由器
  20. 联想笔记本BIOS设置中文详解

热门文章

  1. 1、shader简介、渲染管线
  2. 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
  3. 孤荷凌寒自学python第四十二天python线程控制之Condition对象
  4. 孤荷凌寒自学python第三十一天python的datetime.timedelta模块
  5. PAT——乙级1028
  6. URAL 1732. Ministry of Truth ( KMP 多模式串匹配 )
  7. C# 在子窗体调用父窗体的值(转)
  8. [poj] 2618 popular cows
  9. AE中实现Control中的各种图形工具的方法
  10. server reached pm.max_children setting (5), consider raising it