1. 程式人生 > >中點畫線中的一些不嚴謹的地方

中點畫線中的一些不嚴謹的地方

我認為對於初學者,特別是自學的人,因為沒有老師可以請教,所以任何一點不嚴謹的地方都會讓人困惑很久,我個人認為計算機圖學中關於中點畫線有如下的不嚴謹的地方:

1、假設直線的一般方程AX+BY+C = 0,那麼A=-(deltaY),B=(deltaX),C=-B(deltaX),這個前提是斜率存在的情況下,但是我見過的老師和教材的講解,卻沒有前提,具體推導如下:

假設直線上的兩點(x1,y1),(x2,y2),那麼斜率K=(y2-y1)/(x2-x1),所以y=(deltaY/deltaX)x+b,再將任意一點代入方程,得到

b = (x2y1-x1y2)/(x2-x1),然後化簡,直線方程如下:

-(y2-y1)x +(x2-x1)y -(x2y1-x1y2) = 0

因此A = -deltaY,B=deltaX,C=-B*deltaX。

2、判定一個點在直線上下方

我見過的老師和教材都是F(x,y)>0,點在上方,F(x,y)<0,點在下方,F(x,y)=0,點在直線上,這裡有個前提,那就是B必須大於0,否則結論就是相反的。

比如:對於直線x-2y+2=0,這裡B是負數,那麼對於直線上的點P1(1,1.5)上方的點P2(1,2)代入直線方程得到:

1-4+2=-1,函式小於0,但是卻在上方。

希望老師和教材能夠嚴謹一些,因為畢竟有很多自學的人,如果我說的不對,請大家用證明的方式指出,只求學術上的正確性。