我無法破譯形狀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參數:)
是的Mike,甚至它不完全如文檔中所述。 –