此问题的图表如下所示:
http://dl.dropbox.com/u/13390614/Question.jpg
取一个具有固定短轴的轴对齐椭圆,沿其长轴拉伸该椭圆,直到它与某个线段相切(图中的A)。
切点(P)的坐标是多少,或者长轴的长度是多少?
如果我有切点,我知道如何计算长轴,如果我有长轴,我知道如何计算点,但如果两者都没有,我就难倒了。
当短轴和长轴一起拉伸时,我也解决了这个问题,保持比率不变。问题是当一个轴是固定的。
任何见解都将不胜感激,尤其是通过trig。
加里
发布于 2010-11-01 05:27:16
考虑一下
x^2/max^2 + y^2/fix^2 = 1; % ellipse
Ax + By + C = 0; % segment line然后
x^2/max^2 + (Ax + C)^2/(B*fix)^2 = 1; // Quadratic equation你的解决方案是当判别式等于0时。
x^2 (1/max^2 + A^2/(B*fix)^2)
+ x 2 AC/(B*fix)^2
+ C^2/(B*fix)^2 - 1
= 0
a = (1/max^2 + A^2/(B*fix)^2);
b = 2 AC/(B*fix)^2;
c = C^2/(B*fix)^2 - 1.
b^2 = 4ac ==> a = b^2/c ==>
a = 4(AC)^2/(B*fix)^4 / ( C^2/(B*fix)^2 - 1 )
1/max^2 = 4(AC)^2/(B*fix)^4 / ( C^2/(B*fix)^2 - 1 ) - A^2/(B*fix)^2);发布于 2010-11-01 08:41:15
点P具有y坐标r^2/h,其中r是椭圆的半短轴(因此这里是r=0.75),h是线段延伸与y轴相交的点的y坐标(称为该点H)。
为什么会这样呢?假设我们知道正确的椭圆和点P是什么,现在执行仿射变换(x,y) -> (kx,y),其中选择k,使椭圆变成一个圆。这不会移动H,因为H在y轴上,它将P移动到具有相同y坐标的点P‘,因此HP’是从H到半径为r的圆的切线段。通过类似的直角三角形,P‘(因此P)具有y坐标r^2/h。
当然,可能发生的情况是,P不在原始线段上,而只是它对直线的延伸,或者垂直轴实际上是结果椭圆的长轴;您可能需要根据您的应用程序检查这些情况。
https://stackoverflow.com/questions/4065168
复制相似问题