最不能理解的一點,一討論軟件的曲面,曲線功能,最后就變成曲線、曲面的數學原理的討論了,但是里面也沒數學好的,討論的結果可想而知。 我不是數學家,我不懂這么復雜的方程,只要好用就行了。 在CAD中,設計師需要設計出各種各樣的曲線;數學中,曲線是通過各種各樣的方程表示的,比如一條通過點A(0,0)、B(1,1)的直線可以表示為: y=x 或者用參數方程表示: P(u) = (1-u)A+tB 再比如一個通過原點(1,2)、半徑為2的圓可以表示為: (x-1)^2 + (y-2)^2 = 4 或者用參數方程表示: x = 2cos(u)+1 y = 2sin(u)+2 上面舉例的是兩種很簡單的曲線,對于更復雜的曲線可以用更復雜的方程來表示(比如用高次多項式); 如果我們的設計師是一位數學家就好了,他可以根據自己的需要,設計出一個復雜的方程來表示自己想要的一條優美的曲線,但是事與愿違,設計師們往往想通過一種直觀的方式來設計曲線,而不是利用方程。 因此,諸位科學家和工程師設計出了Bezier曲線、B樣條和NURBS,下面是一個有四個控制點的Bezier曲線: 可以通過改變一個控制點的位置來改變曲線的形狀,比如將上圖曲線中左邊第二個控制點往上移,就可以得到下面的曲線: 可以看到,這種曲線生成方式比較直觀和靈活,我只需要放置控制點,然后調整控制點的位置來得到想要的曲線,這就避免了和復雜的數學方程打交道,豈不快哉? Bezier曲線、B樣條和NURBS都是根據控制點來生成曲線的,那么他們有什么區別了?簡單來說,就是: § Bezier曲線中的每個控制點都會影響整個曲線的形狀,而B樣條中的控制點只會影響整個曲線的一部分,顯然B樣條提供了更多的靈活性; § Bezier和B樣條都是多項式參數曲線,不能表示一些基本的曲線,比如圓,所以引入了NURBS,即非均勻有理B樣條來解決這個問題; Bezier曲線只是B樣條的一個特例而已,而B樣條又是NURBS的一個特例,它們的關系可以圖示為: B樣條克服了Bezier曲線的一些缺點,Bezier曲線的每個控制點對整條曲線都有影響,也就是說,改變一個控制點的位置,整條曲線的形狀都會發生變化,而B樣條中的每個控制點只會影響曲線的一段參數范圍,從而實現了局部修改; |
|