iCAx开思工具箱

标题: 求助:关于在UG中的spline二次开发问题 [打印本页]

作者: liang8849    时间: 2007-4-26 21:35
标题: 求助:关于在UG中的spline二次开发问题
本人近期作样条曲线生成的二次开发,想用UF_CURVE_create_spline函数,里面用到了UF_CURVE_spline_p_t这个结构,查询这个结构体,里面的数据项包括下列几项:
num_poles
int num_poles
number of poles

order
int order
order of the spline (degree +1)

is_rational
int is_rational
1 if it is a rational spline

knots
double* knots
pointer to the array of knots

poles
double(* poles)[ 4 ]
pointer to the array of poles

start_param
double start_param
start parameter

end_param
double end_param
里面的几项我都不知道代表什么意思,请各位大虾帮忙看看。向这样的开发应该如何着手呢,请各位帮忙看看,不胜感激!
作者: jackey_zm    时间: 2008-12-2 09:48
帮忙顶一下,跟我有着同样的问题。大家帮忙看一下。
尤其是后面四个参数的含义:knots,poles,start_param,end_param
再重点说下如何给knots和poles赋值的?
作者: sac807    时间: 2008-12-2 11:19
首先你需要了解什么是样条曲线,Bezier,B样条和Nurbs。有了这些基础就好理解了。NX里面的样条曲线实际上是NUTBS,NURBS曲线是各种样条的一般情况。如果需要特殊样条(比如Bezier的话),只需调整它的参数就行了。

num_poles 是控制顶点数,控制顶点用来控制曲线外型。
order 是曲线的阶数,也就是次数+1。比如三次样条曲线,就是四阶。
is_rational 是否有理。有理B样条,或者无理。
knots NURBS的节点向量。
poles 控制顶点。用齐次坐标表示的控制顶点,四个分量。前面三个分别是XYZ,最后一个是W,表示控制顶点的权值。一般不需要的话可以取1。
start_param 开始的参数,取0就可以。
end_param 终止参数,取1。
另外需要注意的是节点向量knots的取值和他们两个有关。
如果需要更详细的帮助,可以和我联系。


作者: jackey_zm    时间: 2008-12-2 12:35
标题: 回复 3楼 sac807 的帖子
我给你发了短消息 q我一下




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3