舉個例子,一個普通的圓方程可以寫成x^2+y^2=1,如果直接根據這個方程來畫圖要怎麼畫呢?我們可以對x在-1~1之間進行取樣,接著把取樣得到的值代入這個方程去求每個取樣點對應的y值,然後我們就會發現好像一個x會解出兩個y來,所以要根據解出來的兩個y生成兩個取樣點。而且解的方法在用程式實現時,要麼採用迭代的方法求數值解,要麼直接實現二次方程的求根公式,而且要注意分情況求兩個解,這個過程實現起來很麻煩。等求完所有的y之後,還要想辦法對這些取樣點進行排序,再把它們依次連線畫一個圓來。那如果用引數方程呢?圓方程可以寫成y=sin(a)x=cos(a)我只需要對a在0~2π之內進行取樣,然後依次代到引數方程中就可以得到自然而然地排好序了一個取樣點陣列,接下來只要依次把取樣點連線起來就畫出圓來了。而且,用程式實現不需要涉及任何解方程的方法,不僅實現起來很快,而且執行起來也更快。以上例子說明了引數方程的兩個優點:1、自然地得到排好序的取樣點陣列。 2、計算取樣點座標的方法實現起來更簡單,執行得也更快。下面再來看一個例子。比方說一個被旋轉過的橢圓,它的普通方程和引數方程如下根據第一個普通的橢圓方程,一般人都不能很快地求出長短軸的頂點座標。你能很快說出頂點的x座標是多少然後代進去求y嗎?但是用下面的引數方程,只要讓t=0,π/2,π,3π/2,2π,即可求出長短軸的頂點來,如下圖所示,利用引數方程畫出來的橢圓取樣點精確地採到了這些特殊的頂點,結果是隻用少量的幾個取樣點即可有很好的效果。這些頂點對於繪製出來的橢圓的效果是很重要的,如果只是簡單地對x進行均勻取樣,再解普通方程求出取樣點的y座標,且取樣點數量不多,運氣不好沒采到這些頂點,那繪製的結果就會很難看,比如像下面這樣雖然用了更多的取樣點,但效果卻比使用引數方程進行取樣的結果還差。這說明引數方程還有一個優點是:3、更容易地對特殊點進行定位,在取樣點不多時畫出更好的結果。
舉個例子,一個普通的圓方程可以寫成x^2+y^2=1,如果直接根據這個方程來畫圖要怎麼畫呢?我們可以對x在-1~1之間進行取樣,接著把取樣得到的值代入這個方程去求每個取樣點對應的y值,然後我們就會發現好像一個x會解出兩個y來,所以要根據解出來的兩個y生成兩個取樣點。而且解的方法在用程式實現時,要麼採用迭代的方法求數值解,要麼直接實現二次方程的求根公式,而且要注意分情況求兩個解,這個過程實現起來很麻煩。等求完所有的y之後,還要想辦法對這些取樣點進行排序,再把它們依次連線畫一個圓來。那如果用引數方程呢?圓方程可以寫成y=sin(a)x=cos(a)我只需要對a在0~2π之內進行取樣,然後依次代到引數方程中就可以得到自然而然地排好序了一個取樣點陣列,接下來只要依次把取樣點連線起來就畫出圓來了。而且,用程式實現不需要涉及任何解方程的方法,不僅實現起來很快,而且執行起來也更快。以上例子說明了引數方程的兩個優點:1、自然地得到排好序的取樣點陣列。 2、計算取樣點座標的方法實現起來更簡單,執行得也更快。下面再來看一個例子。比方說一個被旋轉過的橢圓,它的普通方程和引數方程如下根據第一個普通的橢圓方程,一般人都不能很快地求出長短軸的頂點座標。你能很快說出頂點的x座標是多少然後代進去求y嗎?但是用下面的引數方程,只要讓t=0,π/2,π,3π/2,2π,即可求出長短軸的頂點來,如下圖所示,利用引數方程畫出來的橢圓取樣點精確地採到了這些特殊的頂點,結果是隻用少量的幾個取樣點即可有很好的效果。這些頂點對於繪製出來的橢圓的效果是很重要的,如果只是簡單地對x進行均勻取樣,再解普通方程求出取樣點的y座標,且取樣點數量不多,運氣不好沒采到這些頂點,那繪製的結果就會很難看,比如像下面這樣雖然用了更多的取樣點,但效果卻比使用引數方程進行取樣的結果還差。這說明引數方程還有一個優點是:3、更容易地對特殊點進行定位,在取樣點不多時畫出更好的結果。