当前位置:编程学习 > C#/ASP.NET >>

椭圆弧的起始角度与终止角度怎么计算

已知椭圆弧绕某一点旋转后,相对于该点的圆心,长轴端点相对于圆心的坐标,起始角度和终止角度,求旋转前的起始角度,终止角度,圆心,长半径和短半径? --------------------编程问答-------------------- 不太明白需求,

可以使用
x=acos@
y=bsin@
方程来求解。 --------------------编程问答-------------------- 就是求椭圆弧两个端点旋转前的角度 --------------------编程问答-------------------- 没有人知道怎么计算椭圆弧两个端点的角度吗? --------------------编程问答-------------------- 看来这是个很难的问题啊,都没有人知道的 --------------------编程问答-------------------- 我不是很了解你的需求。。
能否再详细的说明白点或者配图? --------------------编程问答-------------------- 你不画图不思考有个p用,问问题也不清不楚,「起始角度和终止角度」已知,知个p啊,是长轴还是短轴?是和x轴还是和y轴?亏我还在便签纸上画个草图,画出来我就撕了。。你这是挖了个大坑啊。。 --------------------编程问答-------------------- 这样吧,先问个简单的,长轴在X轴上,短轴在Y轴上,圆心在原点,长半径为LR,短半径为SR,起点坐标(X1,Y1),终点坐标(X2,Y2),求起点角度和终点角度 --------------------编程问答-------------------- 知道椭圆的方程么?
x^2/a^2 + y^2/b^2 = 1
或者
x = asin@
y = bcon@
好像是这样,
既然已经知道x,y,a,b,那么求@这个角度不是很简单么? --------------------编程问答-------------------- 椭圆方程不知道哦,另外给你个数据,从CAD上读取的,

起点坐标(58.383,33.8979),
圆心坐标(56.6124,34.1635),
终点坐标(55.1213,35.4112),
长半径=2.0606,
短半径=1.7463,

在CAD上显示的起始角度为115,终点角度为326,你用你说的公式(x=asin@,y=bcos@)算算看能得到后面那两个角度值吗? --------------------编程问答-------------------- 我不晓得圆心是不是中心点的意思,
如果是的话,就有点奇怪了,
因为起点和终点坐标分别减去圆心坐标,
将该段圆弧移到坐标原点去,
那么得到的结果是:
起点:1.7706,-0.2656
终点:-1.4911,1.2477

感觉起点在第四象限,终点在第二象限
再根据:
x=acosθ , y=bsinθ
a = 2.0606
b = 1.7463
x*x/(a*a) + y*y/(b*b) = 1;

好像对不起来呢,不像一个标准的椭圆方程呢。。


--------------------编程问答-------------------- 标准椭圆可以算的啊
@ = arcsin(x/a);
@ = arccos(y/b);

每个方程式都有两个解,联合起来就只有一个了,a长轴,b短轴,@为所求角度 --------------------编程问答--------------------
引用 11 楼  的回复:
标准椭圆可以算的啊
@ = arcsin(x/a);
@ = arccos(y/b);

每个方程式都有两个解,联合起来就只有一个了,a长轴,b短轴,@为所求角度


我用上面这个方法求出来的角度也还是对不上CAD上显示的,所以我觉得还是没搞清楚起点角度与终点角度这两者是怎么定义的? --------------------编程问答-------------------- 呵呵,这个问题就不好解了。。 --------------------编程问答-------------------- 你的应该是非标准椭圆,将坐标点旋转平移到标准坐标系下在解 --------------------编程问答-------------------- 先找个几何老师学明白了再解决问题。 --------------------编程问答--------------------
引用 14 楼  的回复:
你的应该是非标准椭圆,将坐标点旋转平移到标准坐标系下在解


在标准椭圆下求解确实可以正确求出相应的角度,你说将坐标点旋转平移到标准坐标系下在解,是不是说把圆心、起始、终止坐标值都转换到标准坐标系下求解呢? --------------------编程问答-------------------- 还是计算不对,看来这个旋转后椭圆弧的起始与终止角度是没法计算的了?还是我没找到规律,这里有没有研究DXF文件的牛人啊? --------------------编程问答-------------------- 还是计算不对,我上google去找答案,找到了相似的问题,但是没人回答这个问题,或者回答要用椭圆的参数方程,问题依然没解决,这里有没有研究DXF文件的牛人啊? --------------------编程问答-------------------- 旋转角度是指标准椭圆中相对于第一象限长轴的角度。
所谓标准椭圆就是 长轴在x轴,短轴在y轴,亦即去除旋转角后的椭圆。 --------------------编程问答-------------------- 表述可能有歧义。
上面第一行的旋转角度指的是 起始角度,和终点角度。
第二行的旋转角指的是 整个椭圆相对于水平线的旋转角度。 --------------------编程问答-------------------- 怎么感觉有点像地球绕太阳和月球绕地球的感觉?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,