所有3D动画软件(Maya,Renderman等)都离不开坐标系。 弄清楚各个坐标系之间的关系是熟练使用这些软件的前提。
本文讨论Renderman中RIB文件里各坐标系的使用。
Renderman渲染器初始化的摄像机空间坐标系(Camera Space)是最基本的坐标系。其它所有的坐标系都是相对于摄像机空间的。摄像机空间坐标系是一个左手坐标系,摄像机位于原点(0,0,0),它的+x轴 指向摄像机的右侧,+y轴指向摄像机的上方,+z轴指向摄像机的前方。
从RIB文件的“Projection”开始到“WorldBegin”之前,所有的坐标变换矩阵(Coordinates Transformation Matrix)的组合都是在构造World-to-Camera坐标变换矩阵。
看下面的例子:
Display "TeapotAfter.tif" "framebuffer" "rgb"
Format 900 600 1
Projection "perspective" "fov" 30
Translate 0 0 25 这里把WorldSpace移到 (0 0 25)处。
你可以想象把眼睛置于摄像机的位置,观察方向为CameraSpace的+z轴。
你所看到的所有物体(位于WorldSpace中)都被平移到(0 0 25)的地方。
如果这里不存在任何的坐标变换,那么CameraSpace和WorldSpace是重合的。
但是通常这里会有一个位移变换(Translate)把WorldSpace移到远处以便于观察。
WorldBegin 从这里开始,所有的坐标变换矩阵的组合都是在构造Local-to-World坐标变换矩阵。
也就是说,这里的坐标变换是相对于WorldSpace的。
AttributeBegin
Rotate 90 0 1 0 这里的坐标变换(绕y轴顺时针旋转90度)是相对于WorldSpace的。
Cone 12 1 360 定义一个圆锥,其顶点在(0 0 12)处。这里的(0 0 12) 是相对于LocalSpace的。
但这里的的LocalSpace和WorldSpace只差绕WorldSpace的y轴旋转90度。
AttributeEnd
以后我们会来讨论Renderman里其它一些特殊的坐标系。
参考文献:
1. 《Advanced Renderman》 Anthony Apodaca和Larry Gritz著,Morgan Kaufmann 2000年出版。
2.《 Renderman Interface Specification 3.3》Pixar Animation Studios 2002
本文讨论Renderman中RIB文件里各坐标系的使用。
Renderman渲染器初始化的摄像机空间坐标系(Camera Space)是最基本的坐标系。其它所有的坐标系都是相对于摄像机空间的。摄像机空间坐标系是一个左手坐标系,摄像机位于原点(0,0,0),它的+x轴 指向摄像机的右侧,+y轴指向摄像机的上方,+z轴指向摄像机的前方。
从RIB文件的“Projection”开始到“WorldBegin”之前,所有的坐标变换矩阵(Coordinates Transformation Matrix)的组合都是在构造World-to-Camera坐标变换矩阵。
看下面的例子:
Display "TeapotAfter.tif" "framebuffer" "rgb"
Format 900 600 1
Projection "perspective" "fov" 30
Translate 0 0 25 这里把WorldSpace移到 (0 0 25)处。
你可以想象把眼睛置于摄像机的位置,观察方向为CameraSpace的+z轴。
你所看到的所有物体(位于WorldSpace中)都被平移到(0 0 25)的地方。
如果这里不存在任何的坐标变换,那么CameraSpace和WorldSpace是重合的。
但是通常这里会有一个位移变换(Translate)把WorldSpace移到远处以便于观察。
WorldBegin 从这里开始,所有的坐标变换矩阵的组合都是在构造Local-to-World坐标变换矩阵。
也就是说,这里的坐标变换是相对于WorldSpace的。
AttributeBegin
Rotate 90 0 1 0 这里的坐标变换(绕y轴顺时针旋转90度)是相对于WorldSpace的。
Cone 12 1 360 定义一个圆锥,其顶点在(0 0 12)处。这里的(0 0 12) 是相对于LocalSpace的。
但这里的的LocalSpace和WorldSpace只差绕WorldSpace的y轴旋转90度。
AttributeEnd
以后我们会来讨论Renderman里其它一些特殊的坐标系。
参考文献:
1. 《Advanced Renderman》 Anthony Apodaca和Larry Gritz著,Morgan Kaufmann 2000年出版。
2.《 Renderman Interface Specification 3.3》Pixar Animation Studios 2002