共用方式為


GDI+ 中的基本曲線

基數曲線是聯結成較大曲線的個別曲線序列。 曲線是由點陣列和張力參數所指定。 基數曲線會平滑地通過陣列中的每個點;沒有尖角,曲線的緊緻度不會突然變化。 下圖顯示一組點和一個基數曲線,該曲線會通過集合中的每個點。

基數曲線

實體和數學曲線

實體曲線是薄片木或其他彈性材料。 在數學曲線出現之前,設計工具會使用實體曲線繪製曲線。 設計師會將曲線放在一張紙上,並將它錨定到一組指定的點。 然後,設計工具可以透過畫筆或鉛筆沿著曲線繪製來建立曲線。 根據實體曲線的屬性,給定的一組點可能會產生各種曲線。 例如,具有高彎曲阻力的曲線會產生與極其靈活的曲線不同的曲線。

數學曲線的公式是以彈性棒的屬性為基礎,因此數學曲線所產生的曲線類似於曾經由實體曲線產生的曲線。 就像不同張力的實體曲線會產生通過一組指定點的不同曲線一樣,具有不同張力參數值的數學曲線將產生通過一組指定點的不同曲線。 下圖顯示四個基數曲線通過同一組點。 每個曲線都會顯示張力。 張力為 0 對應於實體張力無限大,迫使曲線在各點之間採取最短的路徑 (直線)。 張力為 1 對應到沒有實體張力,讓曲線採用最小總彎曲的路徑。 使用大於 1 的張力值,曲線的行為就像壓縮的彈簧,被推擠以採取較長的路徑。

基數曲線

上圖中的四條曲線在起點上共用相同的切線。 切線是從起點到曲線上的下一個點繪製的線條。 同樣地,終點的共用切線是從終點繪製到曲線上前一個點的線條。

若要繪製基數曲線,您需要 Graphics 類別的實例、PenPoint 物件的陣列。Graphics 類別的實例會提供繪製曲線的 DrawCurve 方法,而 Pen 會儲存曲線的屬性,例如線條寬度和色彩。 Point 物件的陣列會儲存曲線將通過的點。 下列程式碼範例示範如何繪製通過 myPointArray 中各點的基數曲線。 第三個參數是張力。

myGraphics.DrawCurve(myPen, myPointArray, 1.5f);
myGraphics.DrawCurve(myPen, myPointArray, 1.5F)

另請參閱