《计算机图形学基础(OpenGL版)》勘误表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wpxu08/article/details/77610287
页码 行或位置 原内容 更正为 备注
38 9 (1MB) (128KB)
41 16
k = Δ x / Δ y
k = Δ y / Δ x
46 6
s t = s Δ x Δ y ( x i + 1 ) + 2 b + 2 y i 1
s t = s Δ x Δ y ( x i + 1 ) + 2 b 2 y i 1
46 倒数第4行
1 1 0
0 k 1
47 26 int curx = x1; int curx = x1 + 1;
48 12
b = x 0 x 1
b = x 1 x 0
51 19 T 点的坐标为 x i , y i ) P 点的坐标为 x i , y i )
58-59 58页倒数第2行~59页第11行 见教材 从点P向任意方向发出一条射线,若该射线与多边形交点的个数为奇数,则P位于多边形内;若为偶数,则P位于多边形外部。当射线与多边形边界点的交点是多边形顶点时(该交点称为奇点,如图3-13的 P 3 P 4 P 5 P 6 情况),如果把每一个奇点简单地计为一个交点,则交点个数为偶数时P点可能在内部,如图3-13中的 P 4 情况。但若将每一个奇点都简单地计为两个交点,同样会导致错误的结果,如图3-13中的 P 3 P 5 情况。因此,必须按不同情况区别对待。一般来说,多边形的顶点可分为两类:极值点和非极值点。如果顶点相邻的两边在射线的同侧时,则称该顶点为极值点(如图3-13中的 Q 0 Q 1 );否则称该顶点为非极值点(如图3-13中的 Q 2 )。为了保证射线法判别结果的正确性,奇点交点的计数可以根据上述分类来采用不同的方式。当奇点是多边形的极值点时,交点按照两个交点计算,否则,按一个交点计算,如图3.13所示。
59 图3-13 见教材 图片描述
60 图3.16 这里写图片描述 这里写图片描述
65 倒数第4行 图3.22 图3.23
65 倒数第3行 y i + m / 2 y i i n t ( y i ) + m / 2
73 6 y = r s i n ( ϕ + θ ) = r c o s ϕ s i n θ r s i n ϕ c o s θ y = r s i n ( ϕ + θ ) = r c o s ϕ s i n θ + r s i n ϕ c o s θ
75 8 相对于y轴的反射 相对于x轴的反射
117 2
T = R ( θ ) T ( x 0 , y 0 ) = [ c o s θ s i n θ 0 s i n θ c o s θ 0 0 0 1 ] [ 1 0 x 0 0 1 y 0 0 0 1 ]
T = R ( θ ) T ( x 0 , y 0 ) = [ c o s θ s i n θ 0 s i n θ c o s θ 0 0 0 1 ] [ 1 0 x 0 0 1 y 0 0 0 1 ]
122 15
t 1 = ( x R x 1 ) / d x
t 1 = ( y b y 1 ) / d y
130 24 glLoadIdentity() 应移至void display(void)中的第1个glColor3f(0.0,0.0,1.0)后 参考5.5 Opengl编程实例-红蓝三角形
131 1 这里写图片描述 这里写图片描述
131 图5.17后 增加思考内容:“思考:教材中原代码中根据所给三角形顶点坐标,三角形应为一个正角形,为何显示时不是正角形呢?同时,在旋转后的三角形也发生了变形,请分析原因,并给出修改建议。提示:请从”glViewport()”函数入手。”
135 (6.2)
u = V × n N = ( u x , u y , u z )
u = V × n V × n = ( u x , u y , u z )
151 (6.29)
[ x p y p 0 1 ] = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 d 1 ] [ x s y s z s 1 ] = [ x s y s 0 1 + z s d ]
[ x p y p 0 1 ] = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 d 0 ] [ x s y s z s 1 ] = [ x s y s 0 z s d ]
151 (6.31)
[ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 r 1 ]
[ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 r 0 ]
151 (6.33)
[ 1 0 0 0 0 1 0 0 0 0 1 0 p 0 0 1 ]
[ 1 0 0 0 0 1 0 0 0 0 1 0 p 0 0 0 ]
151 (6.34)
[ 1 0 0 0 0 1 0 0 0 0 1 0 0 q 0 1 ]
[ 1 0 0 0 0 1 0 0 0 0 1 0 0 q 0 0 ]
152 (6.35) 这里写图片描述 这里写图片描述
152 (6.35) 这里写图片描述 这里写图片描述
152 12 线性关系 非线性关系
152 (6.37)
a = ( z f a r + z n e a r ) z n e a r z f a r z n e a r
a = z f a r + z n e a r z n e a r ( z f a r z n e a r )
224 2 对于右手坐标系 对于OpenGL所采用的左手坐标系 烟台大学韩明峰指正
图8.17 这里写图片描述 这里写图片描述
8 深度缓冲器所有单元均置为最 z值 深度缓冲器所有单元均置为最 z值 为保持与图8.17一致而修改,原内容也没错,下同
11 若z > ZB(x, y),则ZB(x, y)=z 若z < ZB(x, y),则ZB(x, y)=z
20 ZB(x,y)单元置为最 ZB(x,y)单元置为最
26 if(z(x,y) > ZB(x,y)) if(z(x,y) < ZB(x,y))

附录B 模拟试题及答案

页码 位置 原内容 更正 备注
337 图B.1 这里写图片描述 这里写图片描述
340 模2试题,一.单选题,第6题
T = [ 2 0 0 0 1 0 1 1 1 ]
P = P T = [ x y 1 ] [ 2 0 0 0 1 0 1 1 1 ]
345 模3试题,一.单选题,第1题B选项 高光域准确 可以产生高光 此题正确答案为B,见后
347 四.填空题,第3题 点坐标采用向量形式 点坐标采用向量形式
349 模1答案,二.多选题,第1题答案 ABC ABCD 错切变换是沿坐标轴错切,参考对象仍为坐标原点
350 模2答案,一.单选题,第1题答案 B C
350 一.单选题,第3题答案 B C
350 一.单选题,第4题答案 C D
350 二.多选题,第10题答案 ACD ABCD
350 二.多选题,第11题答案 CD BCD
352 模3答案,一.单选题,第1题答案 D B
352 二.多选题,第1题答案 BCE AD
352 二.多选题,第2题答案 BD B
352 二.多选题,第6题答案 BD BCD
354 第1行
[ 0 0 0 1 1 / 27 1 / 9 1 / 3 0 8 / 27 4 / 9 1 / 3 0 1 1 1 1 ]
[ 0 0 0 1 1 / 27 1 / 9 1 / 3 1 8 / 27 4 / 9 2 / 3 1 1 1 1 1 ]
  • P349, 模拟试题1,第四大题第3小题答案:
    T 1 = [ 1 0 0 0 1 0 2 4 1 ]

T 2 = [ c o s 600 s i n 600 0 s i n 600 c o s 600 0 0 0 1 ] = [ 1 / 2 3 / 2 0 3 / 2 1 / 2 0 0 0 1 ]

T 3 = [ 1 0 0 0 1 0 2 4 1 ]

T = T 1 T 2 T 3 = [ 1 / 2 3 / 2 0 3 / 2 1 / 2 0 3 2 3 6 + 3 1 ]

P = P T 可得:
[ A B C ] = [ A B C ] T = [ 2 4 1 4 4 1 4 1 1 ] T = [ 2 4 1 1 4 3 1 1 3 3 / 2 11 / 2 3 1 ]

  • P350, 模拟试题1,第四大题第4小题答案:
    由相似三角形关系可得

    x x = d d z
    于是
    x = x d d z = x 1 z d

    同理有:
    y = y 1 z d

    另外, z = 0 .
    于是有:
    P = [ x y z 1 ] = [ x 1 z d y 1 z d 0 1 ] [ x y 0 1 z d ] = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 d 1 ] [ x y z 1 ] T P

    上式中 T 即为透视变换矩阵,其中 表示齐次坐标转化。
    顶点坐标计算:以G点为例,G点齐次坐标为(1,1,-1,1),则由透视变换可知:
    G = T G = T [ 1 1 1 1 ] = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 d 1 ] [ 1 1 1 1 ] [ 1 1 0 1 + 1 d ] [ d d + 1 d d + 1 0 1 ]

    故透视变换后G点变为 G = ( d d + 1 , d d + 1 , 0 ) .

  • P351, 模拟试题2,第五大题第2小题答案:

    c o s i = L N = 0.5 , R = 2 c o s i N L = ( 1 / 2 , 1 / 2 , 2 / 2 ) .

    c o s θ = R V = 2 / 2 < 0 , R V 90 V c o s θ 0.

    I = I p a k a + I p ( k d c o s i + k s c o s n θ ) = 160 0.5 + 175 ( 0.2 0.5 + 0 ) = 97.5

  • P353, 模拟试题3,第五大题第1小题答案:
    a = y 0 y 1 = 4 , b = x 1 x 0 = 8 , d 0 = a + 0.5 b = 0 ; a + b = 4 , a = 4 ,当 d i < 0 时,中点M在直线下方,下一点取当前点P的右上方点,记为NE,同时 d i + 1 = d i + a + b ;当 d i 0 时,中点M在直线上方,下一点取当前点P的右侧点,记为E,同时 d i + 1 = d i + a 。根据中点线算法原理可得下表:

    扫描二维码关注公众号,回复: 3202613 查看本文章
x y d i Next Point
2 1 0 E
3 1 0-4=-4 NE
4 2 -4+4=0 E
5 2 0-4=-4 NE
6 3 -4+4=0 E
7 3 0-4=-4 NE
8 4 -4+4=0 E
9 4 0-4=-4 NE
10 5

猜你喜欢

转载自blog.csdn.net/wpxu08/article/details/77610287