日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF绘制光滑连续贝塞尔曲线

發布時間:2023/12/31 asp.net 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF绘制光滑连续贝塞尔曲线 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:WPF繪制光滑連續貝塞爾曲線

?

1.需求

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

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

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

本文使用的是三次。

?

圖片來源維基百科

2.思路

參考文檔是:https://www.cnblogs.com/pangliang/archive/2011/03/24/1993308.html

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

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

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

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

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

紅色,即為控制點。

3.主要代碼

?

/// <summary>/// 獲得貝塞爾曲線/// </summary>/// <param name="currentPt">當前點</param>/// <param name="lastPt">上一個點</param>/// <param name="nextPt1">下一個點1</param>/// <param name="nextPt2">下一個點2</param>/// <returns></returns>private BezierSegment GetBezierSegment(Point currentPt, Point lastPt, Point nextPt1, Point nextPt2){//計算中點var lastC = GetCenterPoint(lastPt, currentPt);var nextC1 = GetCenterPoint(currentPt, nextPt1); //貝塞爾控制點var nextC2 = GetCenterPoint(nextPt1, nextPt2);//計算相鄰中點連線跟目的點的垂足//效果并不算太好,因為可能點在兩個線上或者線的延長線上,計算會有誤差//所以就直接使用中點平移方法。//var C1 = GetFootPoint(lastC, nextC1, currentPt);//var C2 = GetFootPoint(nextC1, nextC2, nextPt1);//計算“相鄰中點”的中點var c1 = GetCenterPoint(lastC, nextC1);var c2 = GetCenterPoint(nextC1, nextC2);//計算【"中點"的中點】需要的點位移var controlPtOffset1 = currentPt - c1;var controlPtOffset2 = nextPt1 - c2;//移動控制點var controlPt1 = nextC1 + controlPtOffset1;var controlPt2 = nextC1 + controlPtOffset2;//如果覺得曲線幅度太大,可以將控制點向當前點靠近一定的系數。controlPt1 = controlPt1 + 0 * (currentPt - controlPt1);controlPt2 = controlPt2 + 0 * (nextPt1 - controlPt2);var bzs = new BezierSegment(controlPt1, controlPt2, nextPt1, true);return bzs;}

  

效果圖如下:

?

4.源碼下載

?https://files.cnblogs.com/files/chlm/WPF%E5%85%89%E6%BB%91%E6%9B%B2%E7%BA%BF%E5%9B%BE.rar

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

總結

以上是生活随笔為你收集整理的WPF绘制光滑连续贝塞尔曲线的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 很黄很色的视频 | 国产精品污www一区二区三区 | 超碰最新在线 | 精品在线免费视频 | 成人免费视频免费观看 | 欧美色亚洲 | 少妇毛片一区二区三区 | 亚洲一区免费观看 | 午夜影院在线 | 蜜臀久久99精品久久久 | 日韩中字在线 | 黄网站欧美内射 | 日韩精品视频在线观看网站 | 97中文字幕| 欧美精品色哟哟 | 国产乱码久久久久 | 麻豆传媒一区二区 | 色老头在线视频 | 快色av| 熟妇大屁股一区二区三区视频 | 丰满岳乱妇一区二区三区 | 极品美女高潮出白浆 | 国产精品国产精品国产专区不片 | 在线观看视频一区二区三区 | 欧美大片黄 | 偷偷久久 | 蜜臀av性久久久久蜜臀av麻豆 | 免费观看理伦片在线播放视频软件 | 国产精品高清在线 | 成人做爰www看视频软件 | 日本亚洲一区 | 精品久久久久久久中文字幕 | 全部孕妇毛片丰满孕妇孕交 | 久久蜜臀精品av | 一级片99 | 肉大捧一进一出免费视频 | 国产成人啪免费观看软件 | 天堂va欧美va亚洲va老司机 | 亚洲va在线 | 美女又爽又黄视频毛茸茸 | 亚洲91视频 | 潮喷失禁大喷水无码 | 五月婷婷狠狠干 | 亚洲精品第一页 | 99精品福利 | 亚洲av综合av一区二区三区 | 久久国产精品99久久人人澡 | 免费看h网站 | 波多野结衣一区二区三区在线 | 在线观看视频一区二区三区 | 色综合中文字幕 | 精品人妻伦九区久久aaa片 | 波多野吉衣一区二区 | 伊人影院在线观看 | 一区二区三区在线观 | 欧美一区二区高清视频 | 欧美乱色 | 天堂视频免费在线观看 | 国产精品一区免费观看 | 体内精69xxxxx | 久久影院一区二区 | 99久久久无码国产精品性黑人 | 丁香花免费高清完整在线播放 | 欧美精品一区二区成人 | 国产午夜福利一区 | 国产第一页第二页 | 国产又黄又猛视频 | 亚洲综合图色40p | 偷拍欧美另类 | 美女露隐私网站 | 亚洲电影影音先锋 | 成人免费毛片视频 | 一级看片 | 嫩草在线视频 | 蜜桃臀aⅴ精品一区二区三区 | 四虎一区二区三区 | 免费观看黄色一级视频 | wwwav视频在线观看 | 欧美性受xxxx黑人xyx性 | 全黄性高潮 | 91丝袜呻吟高潮美腿白嫩在线观看 | 亚洲国产一二三 | 久久99国产精品久久99 | 91色爱 | 国产一区久久久 | 777精品视频 | 一区二区三区亚洲 | 精品国产乱码久久久久久郑州公司 | 亚洲av无码一区二区三区人妖 | 视频在线观看一区二区三区 | 久久黄网| 99草在线视频 | 色婷婷yy| 亚洲天堂性 | 免费av一级 | 成人做爰9片免费视频 | 国产豆花视频 | 国产黑丝在线视频 | youjizz.com在线观看 |