共用方式為


基數曲線

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

圖顯示通過六個定義點的基數曲線

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

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

圖顯示四個基數曲線通過相同的三點

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

若要繪製基底曲線,您需要 Graphics 物件、Pen 物件,以及 Point 物件的陣列。 Graphics 物件會提供繪製曲線的 DrawCurve 方法,而 Pen 物件會儲存曲線的屬性,例如線條寬度和色彩。 Point 物件的陣列會儲存曲線將通過的點。 下列範例會繪製透過 myPointArray 點的基數曲線。 第三個參數是緊張。

myGraphics.DrawCurve(&myPen, myPointArray, 3, 1.5f);