WPF繪製光滑連續貝塞爾曲線

2021-09-20 14:33:04 字數 927 閱讀 1772

原文:

wpf繪製光滑連續貝塞爾曲線

wpf本身沒有直接把點集合繪製成曲線的函式。可以通過貝塞爾曲線函式來繪製。  

貝塞爾曲線類是:beziersegment,三次貝塞爾曲線,通過兩個控制點來控制開始和結束方向。

quadraticbeziersegment,二次貝塞爾,通過乙個控制點來控制彎曲方向。

本文使用的是三次。

**維基百科

大值思路是根據當前點,前乙個點,後乙個點,再後乙個點。共四個點,來生成一條三次貝塞爾曲線。

曲線需要(開始點,結束點,控制點1,控制點2),圖中標識的兩個紅色點即是控制點。

**主要是計算兩個紅色的控制點。

先計算相鄰點的中點【橙色】。

再將中點的連線平移到相鄰的位置【藍色點】,取得虛線,得到虛線的端點【紅色】。

紅色,即為控制點。

/// /// 獲得貝塞爾曲線

///

/// 當前點

/// 上乙個點

/// 下乙個點1

/// 下乙個點2

///

private beziersegment getbeziersegment(point currentpt, point lastpt, point nextpt1, point nextpt2)

效果圖如下:

感謝閱讀,希望可以幫到你

WPF繪製光滑連續貝塞爾曲線

wpf本身沒有直接把點集合繪製成曲線的函式。可以通過貝塞爾曲線函式來繪製。貝塞爾曲線類是 beziersegment,三次貝塞爾曲線,通過兩個控制點來控制開始和結束方向。quadraticbeziersegment,二次貝塞爾,通過乙個控制點來控制彎曲方向。本文使用的是三次。維基百科 大值思路是根據...

繪製貝塞爾Bezier曲線

trainingtools.cpp 定義控制台應用程式的入口點。include include include include include include using namespace std const int ww max mark count 40 最大40個控制點 int mark c...

OPENGL繪製貝塞爾曲線

最終效果圖 通過3個點形成一條貝塞爾曲線 1.滑鼠問題 在使用滑鼠獲取座標的時候,要知道滑鼠獲取的座標和螢幕座標是不同的 opengl使用右手座標 從左到右,x遞增 從下到上,y遞增 從遠到近,z遞增 而滑鼠是從左到右增x,同時從上到下也是增y 所以在求 y 的時候,用 螢幕大小 y 來獲取 2.繪...