2013-07-16 44 views
3

我無法破譯形狀NURBSTo條目中的NURBS公式的各個參數(用於樣條 - 曲線邊緣)。 MS Visio文檔沒有太多幫助。Visio NURBS公式

根據曲線的複雜性,參數的數量是可變的。一個更簡單的例子是:

NURBS(0.4492,3,0,1,0,-0.1875,0,1,1,-0.1875,0,1) 

在那裏我找到了起點和終點座標參數開始是5 X和6日爲Y.最終是第9個X和10日爲Y.但在Y座標仍然是錯的,所以我想他們應該結合另一個參數。此Java代碼提供了最好的結果到目前爲止,在得到花鍵的控制點:

int j = 0; 

for (int i = 2; i + 4 < pointsS.length; i = i + 4) 
{ 
    mxPoint currPoint = new mxPoint(); 
    currPoint.setX(startXY.getX() + (endXY.getX() - startXY.getX()) * pointsRaw[i + 2]); 
    currPoint.setY(startXY.getY() - (endXY.getY() - startXY.getY()) * pointsRaw[i + 3]); 
    pointList.add(currPoint); 
    j++; 
} 

只是一個例子一個更復雜的樣條:

NURBS(2.9857,3,1,1,0.1875,0,0,1,0.1875,-0.8954,0,1,0.1875,-1.3431,0,1,0.1875,-1.7908,0.4521,1,-0.4936,-1.7908,1.049,1,-1.1747,-1.7908,1.424,1,-1.1747,-2.1799,1.902,1,-1.1747,-2.5689,2.3742,1) 

的文件說,爲參數2只「度」。我想這是用於近似的多項式的程度。

約NURBS的wiki頁面: http://en.wikipedia.org/wiki/Non-uniform_rational_B-spline

當然,它不會說話有關Visio參數:)

回答

2

你佔你應該如何解釋的影響第三和第四個參數有x和y參數?

從MSDN(http://msdn.microsoft.com/en-us/library/office/aa224197(v=office.11).aspx):

NURBS(knotLast,程度的xtype,yType,X1,Y1,knot1,重量1,...)

knotLast最後一個結。

度樣條的程度。

xType指定如何解釋x輸入數據。如果xType爲0,則所有x輸入數據被解釋爲寬度的百分比。如果xType爲1,則所有x輸入數據都被解釋爲本地座標。

yType指定如何解釋y輸入數據。如果yType爲0,則所有y輸入數據都被解釋爲高度的百分比。如果yType爲1,則所有y輸入數據都被解釋爲本地座標。

x1 x座標。

y1 y座標。

knot1 B樣條上的結。

weight1 B樣條上的權重。

+0

是的Mike,甚至它不完全如文檔中所述。 –