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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nurbs曲线拟合程序_NURBS曲线DeBoor算法(Grasshopper数学插件)

發布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nurbs曲线拟合程序_NURBS曲线DeBoor算法(Grasshopper数学插件) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

16 June 2020

● 版本 0.0.2 alpha

● 版權 (c) 2019-2020 mahaidong

● Supported by http://ikuku.cn & caad.xyz

這個插件能做什么?

演示Nurbs曲線的DeBoor算法

僅僅靠自己的抽象想象力去理解不同的控制點位置(point)、權重向量(weight)和結點向量(knot)對NURBS曲線的影響是很難獲得直觀的理解與認識的.

這個grasshopper組件可以讓你通過設定曲線的度數、控制點、重量向量和結點向量來演示如何生成NURBS曲線。其結果是讓用戶可以直觀的看到最一般意義上的NURBS曲線的生成.

同時在曲線的繪制的時, 直接展示了與DeBoor算法相關的輔助線,及輔助線如何生成曲線.

什么是DeBoor算法?

● DeBoor算法是DeCasteljau算法的B-spline版本

● 通過DeBoor算法可以精準的描繪B-spline

● 通過控制點及結點向量knot的值u,通過遞歸求得曲線上的點的位置

● DeBoor算法也可以用于Nurbs曲線的生成

BSpline的DeBoor算法偽代碼, python源碼見github

5階BSpline的演示

10個控制點

knots= [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 5]

weight= [1, 1, 1, 1, 1, 1, 1, 1, 1,1]

NURBS曲線的DeBoor算法

De Boor的算法也適用于NURBS曲線。我們只需將每個控制點乘以它的權重,將NURBS曲線轉換為4D B-spline曲線,在這條4D B-spline曲線上執行de Boor算法,然后將得到的曲線上的點的xyz除以w,就可以將曲線投影回來. python源碼見github

圓的Nurbs擬合演示

9個控制點

knots= [0, 0, 1, 1, 2, 2, 3, 3, 4, 4]

weight=[1, 0.707107, 1, 0.707107, 1, 0.707107, 1, 0.707107, 1]

演示Bezier曲線與Bernstein多項式

參數曲線的范疇

什么是Bezier曲線

Bezier曲線的數學基礎–伯恩斯坦多項式–早在1912年就已為人所知,但直到大約50年后,法國工程師皮埃爾-貝茲爾(Pierre Bézier)才將這些多項式應用于圖形,并將其廣泛宣傳,他用它們在雷諾公司設計汽車車身。這些曲線的研究最早是在1959年由數學家Paul de Casteljau利用de Casteljau的算法發展起來的,該算法是一種數值穩定的方法,用于評估法國另一家汽車制造商Citro?n的Bézier曲線。

Bezier曲線的數學公式

Bernstein多項式

其中:

n階貝塞爾曲線的定義

n=1:

當n=1的時候可以用來表示直線.

n=2:

當n=2的時候可以用來表示曲線.

5階貝塞爾曲線的演示

如何安裝與使用?

方法一

● 拷貝dist文件夾中的ghuser 文件到 User Objects 文件夾

● 打開dist文件夾中的案例文件 DeBoorAlgorithmNurbs.gh 查看演示效果

方法二

● 打src文件夾中的案例文件 DeBoorAlgorithmNurbs.gh 查看演示效果

b-spline:

nurbs circle:

bezier curve:

todo

● Single Insertion

● Inserting a Knot Multiple Times

● compute tangent and normal vectors at a point on a Bézier curve

● b-spline surface

● curve interpolation

許可證

你可以根據自由軟件基金會發布的GNU Lesser General Public License版本3的條款重新發布它和/或修改它。

插件下載

相關文章

建筑師編程課推廣ikuku精選課 Python4Rhino建筑師編程課 第3期 2020.6.27開始直播!|ikuku.cn|在庫言庫?www.ikuku.cn

總結

以上是生活随笔為你收集整理的nurbs曲线拟合程序_NURBS曲线DeBoor算法(Grasshopper数学插件)的全部內容,希望文章能夠幫你解決所遇到的問題。

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