2014-11-06 83 views
1

所以我們假設我有一個座標網格。我需要知道p0是否位於從p1到p2結束的橢圓上。與其他幾何對象橢圓公式中的位置

實施例: - 矩形

function PositiongOnRectangle(posx, posy, x1, y1, x2, y2) 
    return (posx >= x1 and posy >= y1 and posx <= x2 and posy <= y2) 
end 

- 圈之上

function PositionOnCircle(posx, posy, x1, y1, radius) 
    local distance = math.sqrt((posx - x1)^2 + (posy - y1)^2) 
    return (radius >= distance) 
end 

Exmaples是在Lua威滕,但是僞代碼都行。我想用橢圓做同樣的事情。

在此先感謝!

+1

什麼是橢圓形的(從與P2結束P1開始)的數學定義 - 是橢圓?對於橢圓你可能不得不定義更多的參數 – MBo 2014-11-06 11:47:05

+0

是的,我的意思是橢圓..對不起我的英語技能。 – user3426112 2014-11-06 11:56:23

+0

是否刻在軸對齊的矩形中,由兩個頂點p1,p2定義,或者這些點應該位於橢圓圓周上? – MBo 2014-11-06 12:03:03

回答

1

對於橢圓形,在軸對齊矩形內接,通過兩個頂點P1,P2來定義:

PositionOnEllipse(posx, posy, x1, y1, x2, y2) 

///center of ellipse coordinates: 
mx = (x1+x2)/2 
my = (y1+y2)/2 

///ellipse semiaxes: 
ax = (x1-x2)/2 
ay = (y1-y2)/2 

////due to ellipse equation 
return = (posx-mx)^2/ax^2 + (posy-my)^2/ay^2 <= 1 
+0

好的,現在你能解釋一下x,y,mx,我的意思嗎?我怎麼知道位置是否在橢圓內? – user3426112 2014-11-06 12:27:08

+0

已添加,更正了錯誤 – MBo 2014-11-06 12:33:46

+0

好的,謝謝你的時間!適合我! – user3426112 2014-11-06 12:36:13