3Dで外積は良く聞くけど2Dでは余り聞かない気がする。
2Dでも物凄く使えるのに。
直に使う事は無いですけど、sin出したり線分と点の当たり判定に使ったり、多角形の内部判定等(凸)、比較的良く使う気がします。(面積は使ったこと無いけど、数学ではお世話になるのでは?)
寧ろ3Dよりも使ってるような・・・
メモ2
楕円の当たり判定(2D 且つ点との)
楕円を円にする行列変換
楕円のオフセット
[
[ 1 , 0 , 0 ]
[ 0 , 1 , 0 ]
[ -x, -y, 1 ]
]
楕円の角度をθとして
[
[ cos(-θ) , -sin(θ) , 0 ]
[ sin(-θ) , cos(θ) , 0 ]
[ 0 , 0 , 0 ]
]
楕円の横幅をrx,高さをryとすると
楕円のスケールを計算 //Xでも出来る
[
[ 1, 0, 0 ]
[ 0, rx/ry,0]
[ 0, 0, 1]
]
まとめると
[
[ cos(θ),-rx/ry*sin(θ),0]
[ sin(θ), -rx/ry*cos(θ),0]
[ -x*cos(-θ) -y*sin(θ),rx/ry*(x*sin(θ),y*cos(θ), 1]
]
これから三辺は
float of_x=点のx - 楕円のx座標;
float of_y=点のy - 楕円のx座標;
float out_x=of_x*cos(楕円の角度) + of_y*sin(楕円の角度);
float out_y=楕円の幅/楕円の高さ*( of_x*cos(楕円の角度)-of_y*sin(楕円の角度) )
float out_r=楕円の幅
よっしゃ、出来た!と思ったら◯☓さんの所にあったorz
なんという再車輪(笑)
http://marupeke296.com/COL_2D_No6_EllipsVsPoint.html
此所に詳しくのってます。