计算机图形学计算题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目中所有的坐标系,均以OpenGL 坐标系为准

1. 使用OpenGL 图形库渲染如下四棱截锥体图形,根据给定点的A 、C 、G 的坐标推算出其

余五个点B 、D 、E 、F 、H 的坐标

答: B( 1.0f , -1.0f , 0.0f) (2分)

D(-1.0f , -1.0f , -2.0f) (2分)

E(-0.5f , 1.0f , -0.5f) (2分) F(-0.5f , 1.0f , -1.5f) (2分) H(0.5f , 1.0f , -0.5f) (2分)

2. 已知在平面P 上有两条向量v1和v2 他们的值分别(2.0f,0.0f,0.0f ),

(0.0f,3.0f,0.0f)求出垂直与平面P 的法向量v3的值为多少,求出v1与v2之间的夹角θ的度数或cos 值为多少?要求写出计算过程。

向量的模 222||z y x V ++= 向量的倍乘

),,(az ay ax aV =

向量之和

),,(21212121z z y y x x V V +++=+

向量的点积

21212121z z y y x x V V ++=• 向量的叉积

),,(21122112211221y x y x x z x z z y z y V V ---=⨯

答: v3= v1与v2 叉积 或 v1×v2 (3分)

v3 = (y1z2 – y2z1 , z1x2 –z2x1 , x1y2 – x2y1)

v3 = ( 0.0f , 0.0f , 6.0f) (2分)

转换单位向量

v3 = (0.0f , 0.0f , 1.0f)

cos θ = v1 与 v2单位向量的点积 或 v1·v2 (2分) v1的单位向量 = (1.0f , 0.0f , 0.0f) (1分) v2的单位向量= (0.0f , 1.0f , 0.0f) (1分)

cos θ = x1x2 +y1y2+z1z2;

cos θ = 1.0f*0.0f + 0.0f*1.0f + 0.0f*0.0f; cos θ = 0 (1分)

θ = 90°

3. 已知空间中一条线段的两个顶点为d1(5.0f,3.0f,-2.0f) d2(6.0f,

4.0f,-2.0f)计算出

其绕(y=3,z=0)的轴旋转90°后再缩小0.5倍后的新的线段的两个顶点坐标,要求写出每一个计算后得到的新矩阵。

平移矩阵 = ⎥⎥

⎥⎥⎦⎤⎢⎢⎢

⎢⎣⎡100

100010

001z y x t t t 缩放矩阵 = ⎥⎥⎥⎥⎦⎤⎢⎢⎢

⎢⎣⎡10

00000000

000z y x s s s 旋转矩阵 绕x 轴 = ⎥⎥

⎥⎥⎦⎤⎢

⎢⎢

⎢⎣⎡-10

000cos sin 00sin cos 00001

θθθθ

绕y 轴 = ⎥⎥⎥⎥⎦

⎢⎢⎢

⎢⎣⎡-10

00

0cos 0sin 00100sin 0cos θθθθ

绕z 轴 = ⎥⎥⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡-10

00

010000cos sin 00sin cos θθ

θθ 答:缩小0.5矩阵 A = ⎥⎥⎥⎥

⎤⎢⎢⎢

⎢⎣⎡100000.500000.50000

0.5 (1分) 沿Y 轴平移3矩阵B=⎥⎥⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡100001003010

0001 (1分)

绕X 旋转90度矩阵C=⎥⎥⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡-100000100100

0001 (1分) 沿Y 轴平移-3矩阵D=⎥⎥

⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡-100

01003010

0001 (1分) A x B = ⎥⎥⎥⎥

⎦⎤⎢⎢⎢

⎢⎣⎡100005.0005.105.00000

5.0 (2分) A x B x C = ⎥⎥⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡-1000005.005.15.0000005.0 (1分) M = A x B x C x D = ⎥⎥⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡--10005.105.005.15.000000

5.0 (1分) d1转换后 = M x d1 = (2.5f , 2.5f, 0.0f) (1分) d2转换后 = M x d2 = (3.0f , 2.5f, 0.5f) (1分)

4.分别使用数值微分法(DDA 算法)、中点画线法和Bresenham 算法计算出P0(1,1)和 P1(3,6)之间扫描过的点。 中点画线法 ⎩⎨

⎧=∆≥+=∆<+=a d d b a d d b a d *20

)

(*20*2

Bresenham 算法 x y x d e e d e d e *2,0*2,再减少如果∆≥=∆-= 答:数值微分法(DDA 算法) 斜率 5.21316-0101=--=-=x x y y k 由于斜率大于1 增量4.01

1==∆=∆k

x y , (2分)

表头2中点画线法 斜率 5.21

31

6-0101=--=-=

x x y y k 由于斜率大于1 0110,y y b x x a -=-= (4分)

Bresenham 算法

相关文档
最新文档