首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >椭圆与修改一条轴的直线切线拟合

椭圆与修改一条轴的直线切线拟合
EN

Stack Overflow用户
提问于 2010-11-01 05:14:28
回答 2查看 387关注 0票数 1

此问题的图表如下所示:

http://dl.dropbox.com/u/13390614/Question.jpg

取一个具有固定短轴的轴对齐椭圆,沿其长轴拉伸该椭圆,直到它与某个线段相切(图中的A)。

切点(P)的坐标是多少,或者长轴的长度是多少?

如果我有切点,我知道如何计算长轴,如果我有长轴,我知道如何计算点,但如果两者都没有,我就难倒了。

当短轴和长轴一起拉伸时,我也解决了这个问题,保持比率不变。问题是当一个轴是固定的。

任何见解都将不胜感激,尤其是通过trig。

加里

EN

回答 2

Stack Overflow用户

发布于 2010-11-01 05:27:16

考虑一下

代码语言:javascript
复制
x^2/max^2 + y^2/fix^2 = 1; % ellipse
Ax + By + C = 0;            % segment line

然后

代码语言:javascript
复制
x^2/max^2 + (Ax + C)^2/(B*fix)^2 = 1; // Quadratic equation

你的解决方案是当判别式等于0时。

代码语言:javascript
复制
   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);
票数 2
EN

Stack Overflow用户

发布于 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不在原始线段上,而只是它对直线的延伸,或者垂直轴实际上是结果椭圆的长轴;您可能需要根据您的应用程序检查这些情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4065168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档