樣條曲線反求控制點

2021-10-02 06:15:59 字數 1039 閱讀 7705

對於開曲線,關於首末端點條件,採用了兩種演算法進行比對:端點切矢,自由端點。下面只介紹核心部分,其他參考教材即可。

測試思路:(1)根據型值點求出控制點;(2)由型值點在autocad畫出圖形輸出dxf檔案;(3)將(1)求出的控制點在(2)中新增進去,用於和cad計算的結果做比對。

一、端點切矢法:

最主要的是切矢怎麼給,採用三點圓法求端點切矢(參考《自由曲面造型方法及五座標數控加工的研究》),切矢給了,方程個數也就夠了,可以求出控制點了。

下面是比對:

放大後的細節部分:

可以看出,前面幾段曲線是有點差別的,中間部分基本重合。

二、自由端點法:

演算法的思想如下:

1、已知n個型值點(pi, i=1,2,3…n),求n+2個控制點(v1.....vn+2)

2、在首末端點:v1 = p1,  vn+2 = pn

紅色圈出來的部分為新增的端點條件。

比對發現基本重合,但是前幾段放大後還是有細微的差別。但是相對端點切矢的演算法,效果好很多

放大後的細節:

由於不知道autocad採用的是什麼演算法,無法完全重合它算出來的圖形。問題在於,不知道它是怎麼定義起點切向和終點切向的,cad的切向是按角度給的,預設0,這個角度是誰與誰的,暫未調查出來。

求B樣條曲線各個點座標及C 實現

功能 根據引數u值和k 大小為階數值 與節點向量,計算第i個k次b樣條基數 輸入引數 u 引數值 k 大小值為階數 i 第i個k次b樣條的支撐區間左端節點的下標 anode為節點向量。輸出引數 返回函式值。double getbasefunval double u,int i,int k,vecto...

AGG第十七課 貝塞爾曲線 控制點

摘自 目前沒有使用過任何的貝塞爾曲線,也沒有進行過任何的相關資訊的處理,僅僅是簡單介紹該函式的使用。上面描述的控制點,沒有進行任何的調整,所以看起來並沒有任何的曲線樣子,需要進行數學的計算。再次描述 curve3類的構造器如下 curve3 double x1,double y1,double x2...

等保2 0控制點總結

全通用要求細分為技術要求和管理要求。其中技術要求包括 安全物理環境 安全通訊網路 安全區域邊界 安全計算環境 和 安全管理中心 管理要求包括 安全管理制度 安全管理機構 安全管理人員 安全建設管理 和 安全運維管理 兩者合計10大類,如下圖所示 安全擴充套件要求分為雲計算安全擴充套件要求 移動互聯安...