椭圆弧参数角和扫略角之间的转化

椭圆弧参数角和扫略角之间的转化

椭圆参数方程:

x=a*cosθ

y=b*sinθ

那么怎样将θ与扫略角α之间互相转换呢?

已知,

tanα=y/x=(b*sinθ)/(a*cosθ)

tanα=b/a*tanθ;

tanθ=a/b*tanα;

需注意tan周期为PI,以上求得的值可能与真实值相差PI,这时只需判断象限是否一致来修正结果值,

令t=PI/2.0;

if((int)(α/t) != (int)(θ/t))

   α=θ+PI;

(或θ=α+PI;)

如果需要所求值在某个范围内,比如[0,2PI)只需对结果进行进一步规范即可。