计算机图形学中的空间坐标系

计算机图形学中的空间坐标系

3D空间

1. 对象空间:

       对象空间也叫模型空间,美工在制作模型的时候就是使用对象空间。美工在制作模型的时候,通常以对象空间的原点为中心,以便于进行变换:比如旋转模型。

2. 世界空间:

      在一个场景中,所有对象将共享一个世界空间。它通常用来表示要渲染的对象之间的空间关系。想象一下这个世界空间,我们可以想象我们站在一个矩形空间的西南角,并面向北面。我们定义我们所站的这个角是坐标原点(0,0,0)。

3. 观察空间:

      观察空间,有时也叫摄像机空间,跟世界空间类似,是场景的典型应用。然而,在观察空间中,原点是观察者或者摄像机。摄像机所看到的方向定义为Z轴。

4. 投影空间:

     投影空间是用来将观察空间中的对象进行投影变换。在这个空间里,可见的范围是X,Y在[-1,1],Z在[0,1]。

5. 屏幕空间

     屏幕空间经常指帧缓存的位置。因为帧缓存通常是2D的纹理,所以屏幕空间是一个2D空间,左上角表示屏幕坐标原点。X水平向右,Y轴垂直向下。对于一个缓冲来说,它有w像素宽,h像素高。

空间之间的转换

 1. 世界变换

      世界变换,顾名思义,将顶点从对象空间变换到世界空间。它通常包括一个或者多个的缩放,旋转,平移操作来变换对象,当然这些变换要根据我们要给的,大小,方向,位置信息。

2. 观察变换

      在所有顶点都变换到世界空间后,世界变换将这些顶点从世界空间变换到观察空间。以观察者的视角来观察世界空间出现的对象。

3. 投影变换

      投影变换将顶点从3D空间(比如世界空间和观察空间)变换到投影空间。在投影空间,顶点的X,Y坐标通过3D空间中的X/Z和Y/Z的比来计算。

转载于:https://www.cnblogs.com/italysue/p/9395962.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101515.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 时序图

    java 时序图UML 时序图 又叫序列图或者顺序图 是一种用来描述对象之间传送消息的时间顺序 是用来表示用例中的行为顺序 UML 时序图最基本的符号即含义 1 对象 表示系统的参与者或者任何有效的系统对象 2 生命线 相当于一个时间线 表示对象在一段时间内的存在时间 而且从时序图的顶部一直延伸至底部 长度取决于交互的时间 3 消息 是用来表示一个对象向其他一个或者多个对象发送信号 或者由

    2025年10月12日
    2
  • LTE-TDD随机接入过程(3)-RAR(MSG2)以及MSG1的重传

    LTE-TDD随机接入过程(3)-RAR(MSG2)以及MSG1的重传本文涉及到的内容有:(1)UE在什么时候開始接收RAR(2)怎么确定RA-RNTI(3)UE没有收到RAR后的处理(4)RAR的格式1.UE监測RAR文章《LTE-TDD随机接入过程(2)-前导码Pr

    2022年8月4日
    7
  • 我看撸啊撸

    我看撸啊撸题图:byfrombilojackson360行,行行出状元。我相信今天大家的朋友圈应该被IG刷屏了。ig牛逼。可能有的人还一脸懵逼,不知道到底发生了什么。就…

    2022年8月22日
    5
  • java复杂对象转json字符串_java处理json数据

    java复杂对象转json字符串_java处理json数据最近对自己写的elasticsearch客户端框架在进行性能优化,数据插入部分使用的是JAVABean对象方式传参,框架内部使用了fastjson进行对象转json字符串的操作,尝试着使用不同方式进行对象转json字符串操作。找到了一种性能更好的方式,具体请看下面代码段:packagetest;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.google.common…

    2022年9月21日
    2
  • notifyDataSetChanged不生效「建议收藏」

    notifyDataSetChanged不生效「建议收藏」当ListView绑定数据适配器后,数据所对应的对象重新生成,就造成了listview所对应的数据对象不对,当数据改变时notifyDataSetChange则不能生效

    2022年6月29日
    23
  • 振动与频谱分析_10频震动什么意思

    振动与频谱分析_10频震动什么意思

    2022年10月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号