I*S 发帖数: 203 | 1 已知一椭圆(x/a)^2+(y/b)^2=1和其外部一点P(x0,y0
求椭圆上一点Q(xs,ys)使得PQ
与椭圆上点Q切线垂直
(或者说使|PQ|最小)。
其实看看问题还比较简单,列列方程求解就好了,但关
键是按照我列的方程求解需要解一个四次方程,这就比
较麻烦。
不知道是我的办法太笨呢,还是说必须要解一个四次方
程。
麻烦板上的牛牛们给看看,有没有简单的方法可以解决
的。
多谢了! | H****h 发帖数: 1037 | 2 椭圆上点(x1,y1)的外法向量方向是(x1/a^2,y1/b^2).
(x1,y1)和(x0,y0)的联线方向是(x0-x1,y0-y1).
你需要两者方向一致,于是有
(x1/a^2)/(x0-x1)=(y1/b^2)/(y0-y1)>0
所以有:(x1/a^2)(y0-y1)=(y1/b^2)(x0-x1).
得PQ
【在 I*S 的大作中提到】 : 已知一椭圆(x/a)^2+(y/b)^2=1和其外部一点P(x0,y0 : 求椭圆上一点Q(xs,ys)使得PQ : 与椭圆上点Q切线垂直 : (或者说使|PQ|最小)。 : 其实看看问题还比较简单,列列方程求解就好了,但关 : 键是按照我列的方程求解需要解一个四次方程,这就比 : 较麻烦。 : 不知道是我的办法太笨呢,还是说必须要解一个四次方 : 程。 : 麻烦板上的牛牛们给看看,有没有简单的方法可以解决
| I*S 发帖数: 203 | 3 谢谢啊
但已经了解到不能避免四次方程,所以
还是看看怎么解吧。
【在 H****h 的大作中提到】 : 椭圆上点(x1,y1)的外法向量方向是(x1/a^2,y1/b^2). : (x1,y1)和(x0,y0)的联线方向是(x0-x1,y0-y1). : 你需要两者方向一致,于是有 : (x1/a^2)/(x0-x1)=(y1/b^2)/(y0-y1)>0 : 所以有:(x1/a^2)(y0-y1)=(y1/b^2)(x0-x1). : : 得PQ
| H****h 发帖数: 1037 | 4 也许对于特定的数可以简化方程。
【在 I*S 的大作中提到】 : 谢谢啊 : 但已经了解到不能避免四次方程,所以 : 还是看看怎么解吧。
| N***m 发帖数: 4460 | 5 let x=a*cos(theta),y=b*sin(theta),minimize over (theta),
you will get sth like A*cos(2theta+p)+cos(theta+q),A,pq,are all
coonstants.
得PQ
【在 I*S 的大作中提到】 : 已知一椭圆(x/a)^2+(y/b)^2=1和其外部一点P(x0,y0 : 求椭圆上一点Q(xs,ys)使得PQ : 与椭圆上点Q切线垂直 : (或者说使|PQ|最小)。 : 其实看看问题还比较简单,列列方程求解就好了,但关 : 键是按照我列的方程求解需要解一个四次方程,这就比 : 较麻烦。 : 不知道是我的办法太笨呢,还是说必须要解一个四次方 : 程。 : 麻烦板上的牛牛们给看看,有没有简单的方法可以解决
| I*S 发帖数: 203 | 6 Thanks for ur reply!
I just tried like u described, and finally encountered the quartic equation.
【在 N***m 的大作中提到】 : let x=a*cos(theta),y=b*sin(theta),minimize over (theta), : you will get sth like A*cos(2theta+p)+cos(theta+q),A,pq,are all : coonstants. : : 得PQ
| I*S 发帖数: 203 | 7 怎么个意思呢?
【在 H****h 的大作中提到】 : 也许对于特定的数可以简化方程。
| h**********c 发帖数: 4120 | 8 我记得你这好像是一个计算机公司招人的题,
纯数学的办法我不太会
我想用计算几何的方法是可行的,那么就是迭代,
椭圆
y' = -bx/(ay)
与相切
那么
-bx/(ay)*(y-y_0)/(x-x_0) = -1, this is the objective
先初步判断p在那个相限
e_1, e_2 be the bases of 2d space.
先取e_i = (e_1+e_2)/2
normalize e_i, 沿e_i可以找到一个椭圆上的点q_i 和q_i'。
q_i' 和 vector pq_i 的夹角可以用dot product 来算,
那么迭代就有了方向,
e_i = (e_{i-1}+e_{i-2})/2 (向量和)
这应该相当于一个binary search, O(ln(n)),应该算一个方法不用解quadratic
如有错误,望指教 | I*S 发帖数: 203 | 9 谢谢!
【在 h**********c 的大作中提到】 : 我记得你这好像是一个计算机公司招人的题, : 纯数学的办法我不太会 : 我想用计算几何的方法是可行的,那么就是迭代, : 椭圆 : y' = -bx/(ay) : 与相切 : 那么 : -bx/(ay)*(y-y_0)/(x-x_0) = -1, this is the objective : 先初步判断p在那个相限 : e_1, e_2 be the bases of 2d space.
|
|