iCAx开思工具箱

标题: 请键盘兄来看看 [打印本页]

作者: wuyancai1122    时间: 2005-6-8 13:51
标题: 请键盘兄来看看
typedef struct UF_CURVE_conic_s {  
tag_t matrix_tag;  
int conic_type;  
double rotation_angle;  
double start_param;  
double end_param;  
double center[3];  
double k1;  
double k2;  
} UF_CURVE_conic_t, *UF_CURVE_conic_p_t;  
请问下在创建双曲线的时候半横轴,半共轭轴,最大DY,最小DY分别为  
a=20,b=10,ymax=10,ymin=-10,则它们 与上述结构的对应关系怎样呢?  
对抛物线的对应关系又怎样呢?谢谢!
作者: 深夜摔键盘    时间: 2005-6-8 16:00
文档里说的很清楚啊,给出了参数方程:
X = k1 * cos (t)
Y = k2 * sin (t)
  
For parabola:
  
X = t**2 / k1
Y = t
  
For hyperbola:
  
X = k1 / cos (t)
Y = k2 * sin (t) / cos (t)
  
----------------------------------------------------------
  
conic_type指定曲线子类型:
UF_conic_ellipse_subtype
UF_conic_parabola_subtype
UF_conic_hyperbola_subtype
作者: wuyancai1122    时间: 2005-6-8 22:57
在创建圆弧的时候起始参数是不是要这样写(end_param也要这样写)?
conic_data.start_param = atan( (conic_data.k1 / conic_data.k2)
tan( DEGRA * start_angle) );
modf((start_angle + 90)/180, [$n_adj)]
conic_data.start_param = (n_adj * PI) + conic_data.start_param;
我不太懂这个start_param怎么要用两次?
作者: wuyancai1122    时间: 2005-6-8 22:57
是创建椭圆的时候,不是创建圆弧,上面写错了
作者: wuyancai1122    时间: 2005-6-9 05:00
在创建双曲线的时候这样写有什么不妥?请教
conic_data.conic_type=UF_conic_hyperbola_subtype;
conic_data.rotation_angle=rot_angle*DEGRA;
conic_data.start_param=minimum_y;
conic_data.end_param=maximum_y;
conic_data.center[0]=xc;
conic_data.center[1]=yc;
conic_data.center[2]=zc;
conic_data.k1=transverse(半横轴);
conic_data.k2=conjugate(半共轭轴);
UF_CURVE_create_conic([$conic_data,&tHyperbola)]
作者: jjf1120    时间: 2005-6-21 11:32
conic_type指定曲线子类型:  
ellipse  = 2
parabola  = 3
hyperbola = 4
**************************
start = conic_data.start_param;
end = conic_data.end_param;
  
**************************
conic_type是个整形
作者: 深夜摔键盘    时间: 2005-6-21 13:54
曲线是采用参数方程来表示的,start param和end param应该是参数t的定义域。
作者: wuyancai1122    时间: 2005-6-21 14:11
THANKS




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