[关闭]
@markheng 2016-03-12T04:42:21.000000Z 字数 2511 阅读 1744

Computing the Pixel Coordinates of a 3D points

计算机图形学 Scratchapixel


Chapter2 Mathematics of Computing the 2D Coordinates of a 3D Point

local coordination
global coordination

local coordination 可以由基于global coordination 的3个单位向量和1个点确定,假设一个local coordination的原点在处,三个坐标轴的单位向量分别为那么以下的矩阵可以表示这个local coordination


一般的


这个矩阵称为 local-to-world matrix


相应的,有

the inverse of M () 称为world-to-local coordination

camera coordiation 摄像机坐标

摄像机坐标的x,y轴和世界坐标的x,y轴相同,z轴与世界坐标的z轴相反。
把 camera coordination 作为 local coordination ,利用上面的方法可以将world coordination 变为 local coordination ,之后在camera coordination中进行其他的变换。

projection devide

求世界坐标系中的一点在幕布上的投影,利用的几何关系为三角形相似,图
见此
求P'的过程


这个过程称为 projection devide
在camera coordination 中,有

因为的值为负(为正的点“不可见”),所以上面两个式子算出来的会与P点相应的坐标值的符号相反,这是没有必要的,所以一般写为

clip bounded ragion

将所有点的P'点都计算出来之后,超出可视区域的点是不可见的,所以不予进行接下来的变换。即


x是P’在投影面上的x坐标,y是在投影面上的y坐标
W,H代表宽和高

NDC (Nomalize Device Coordinate)

坐标单位化,为了使camera coordination里的点在不同尺寸的屏幕上显示,需要将坐标单位化。利用下面的关系

Raster space

将NDC坐标乘上像素宽度,即可转化成各个尺寸下的显示坐标

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注