计算机图形学试题,请帮忙解答,奖励积分50

来源:百度知道 编辑:UC知道 时间:2024/06/26 06:04:12
综合题:
1、 投影中心为点O(0,0,0),投影平面为平行于平面XOY,且z=5,请写出此透视投影的变换矩阵,并求端点A(5,15,25)和B(30,20,10)的直线段AB在该投影平面的投影。
2、 编写一个函数,判断一个点是否在一个矩形区域内部。
函数原型为:BOOL ISINRECT(POINT P,RECT R ),其中POINT为一个点结构,RECT为一个矩阵结构。
Struct POINT{ struct RECT{
Int x ; int left;
Int y; int right;
} int top;
Int bottom;
}
3、Voronoi图在有些文献里也称为Thiessen Tesselation或者Dirichlet Tesselation。它是在19世纪初由俄国数学家J.Voronoi首先提出的一个几何概念,2维空间颁布的N个点的V图把平面分迈出互不相交且紧密相连的N个多边形,称为Voronoi多边形。每一个多边形是离其对应点比离其他分布点更近的点的轨迹。一个比较典型的例子是撒在平静湖面的若干石子激起的涟漪互相蔓延形成的边界。V图在很多领域具有应用价值,如在机器人路径规划中,假设Voronoi图是由障碍物形成(每个障碍物是上图所示的其中一个节点),那么,机器人只要沿着Voronoi多边形的边行走就不会遇到障碍物,请同学们根据自己的理解,给出至少两个领域的问题能够用Voronoi图理论来解决,并说明原理。

1.先理解透视投影
三维计算机图形学中另外一种重要的变换是透视投影。与平行投影沿着平行线将物体投影到图像平面上不同,透视投影按照从投影中心这一点发出的直线将物体投影到图像平面。这就意味着距离投影中心越远投影越小,距离越近投影越大。

最简单的透视投影将投影中心作为坐标原点,z = 1 作为图像平面,这样投影变换为 x' = x / z; y' = y / z,用齐次坐标表示为:

(这个乘法的计算结果是 (xc,yc,zc,wc) = (x,y,z,z)。)

在进行乘法计算之后,通常齐次元素 wc 并不为 1,所以为了映射回真实平面需要进行齐次除法,即每个元素都除以 wc:

更加复杂的透视投影可以是与旋转、缩放、平移、切变等组合在一起对图像进行变换。