我正試圖在我製作的一個小物理引擎中產生良好的偏轉效果。現在它很好地偏離了多邊形邊界的法線。但是不用製作一個具有100條邊的多邊形來獲得「圓偏轉」的平滑效果,我想我可以使用橢圓來計算偏轉法線。通過橫截面上的一個點在橢圓上找到正常的「N」
所以,我很想是,需要一個點P上的線段和在假想橢圓的圓周返回正常Ñ(W,H)的功能。有關詳細信息,請參閱附圖。
拿到一分上橢圓的圓周我敢肯定它是:
x=P.x+Math.sin()*w
y=P.y+Math.cos()*h
,但我怎麼能得到正常的嗎?
Here's a fiddle嘗試實施BDO Adams博士的答案。
我試着實現這個[這裏](http://jsfiddle.net/45eFT/2/),但是結果單元向量'〜(0.55,0.83)'看起來不正確。我期望像'(0,1)'或'(0,-1)'這樣的東西。 –