iCAx开思工具箱
标题:
(求教)关于通过点做三次b样条曲线的程序
[打印本页]
作者:
描述
时间:
2007-1-23 16:14
标题:
(求教)关于通过点做三次b样条曲线的程序
各位大侠
不会做!时间又紧!谁做过相关的程序能给小弟看一下吗?不胜感激!
作者:
小米粒儿
时间:
2007-1-24 10:16
int i;
double knotseq[19+4];
double pole_array[19*4];
double x,y,z,angle,w = 1.0;
double delta_u = 1.0/((double)(19-4+1));
double r,I,r0,p1;
int k_fixup;
int p_fixup;
tag_t spline_id1;
for(i = 0; i < 4; i++) {
knotseq
= 0.0;
}
for(i = 19; i < 19 + 4; i++) {
knotseq
= 1.0;
}
i = 0;
angle =0.0;
while( i < 19*4){
x=(r+3*(1-cos(angle)+0.5*angle*sin(angle))+1.2*(angle-0.5*angle*cos(angle)-0.5*sin(angle)))*cos(angle);
y=(r+3*(1-cos(angle)+0.5*angle*sin(angle))+1.2*(angle-0.5*angle*cos(angle)-0.5*sin(angle)))*sin(angle);
z=0.0;
angle = angle+PI/18;
pole_array[i++] = x;
pole_array[i++] = y;
pole_array[i++] = z;
pole_array[i++] = 1.0;
}
for(i = 4; i < 19 ; i++){
knotseq
= (i-3)*delta_u;
}
UF_MODL_create_spline(19,4,knotseq,pole_array,
&spline_id1,&k_fixup,&p_fixup);
这个是我以前做过的一个样条 曲线,希望对你有用。其实,在UG的安装盘下面,有个UGOPEN文件夹。这个文件夹里的东西大概有2种:一种是*.c一种是*.h,其中*.h是函数原型和数据结构的定义,而*.c一般是函数的应用例子,那里的例子很全的,你可以上那里找
作者:
描述
时间:
2007-2-27 08:46
非常感谢“小米粒儿“!
不胜感激!我支持你 !
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3