📌  相关文章
📜  教资会网络 | UGC NET CS 2016 年 8 月 – III |问题 18

📅  最后修改于: 2022-05-13 01:57:55.970000             🧑  作者: Mango

教资会网络 | UGC NET CS 2016 年 8 月 – III |问题 18

Liang-Barsky 线裁剪算法使用从 (x 1 , y 1 ) 到 (x 2 , y 2 ) 的线的参数方程及其
无限扩展,给出为:
x = x 1 + Δxu
y = y 1 + Δyu
其中 Δx = x 2 – x 1 , Δy = y2– y1, u 是 0 < u < 1 的参数。一条 AB 与端点 A(–1, 7) 和 B(11, 1) 是在 x min = 1、x max = 9、y min = 2 和 y max = 8 的矩形窗口上进行剪裁。使用 Liang-Barsky 算法的剪裁线的参数 u 的下限值和上限值给出为:
(A) (0, 2/3)
(B) (1/6, 5/6)
(C) (0, 1/3)
(D) (0, 1)答案:(乙)
说明:首先我们将计算 Δx 和 Δy:
即 ∆x = x 2 – x 1
= 11 – ( – 1)
= 11 + 1
= 12。
Δy = y 2 – y 1
= 1 – 7
= – 6
现在 P 1 = -Δx = – 12
P 2 = Δx = 12
P 3 = -Δy = 6
P 4 = Δy = – 6
Q 1 = x 1 – x最小值= – 1 – 1 = -2
Q 2 = x最大值– x 1 = 9 – ( – 1) = 9 + 1 = 10。
Q 3 = y 1 – y min = 7 – 2 = 5。
Q 4 = y最大值– y 1 = 8 -7 = 1。
P 1 , P 4 < 0 和 P 2 , P 3 > 0。
最初:t 1 = 0,t 2 = 1
t 1 = 最大值(0, Q 1 / P 1 , Q 4 / P 4 )
= 最大值(0, 2 / 12, 1 / -6)
= 1 / 6。
t 2 = min(1, Q 1 / P 1 , Q 4 / P 4 )
= min(1, 10 / 12, 5 /6)。
= 5 / 6。
即 u 介于 (1 / 6, 5 / 6) 之间。
所以,选项(B)是正确的。这个问题的测验