プログラミングの為の数学と算数 vol.2

このエントリーをはてなブックマークに追加
948デフォルトの名無しさん
板違いならすいません。
どうしてもわからないので質問したいのですが
DirectXで3Dのゲームを組んでるのですが、ある点からポリゴン面までの
最短距離をはかりたいのですが、数学的知識があまりなくうまくいきません
なんとか距離をはかる方法はないでしょうか?

ポリゴン面はとりあえず3点で構成されているただの一枚のポリゴンです。
949デフォルトの名無しさん:2007/08/12(日) 07:01:48
>948
ある点=点P、ポリゴン面=僊BCとする
次の3通りの可能性がある
1.面上の何処かが一番近い
  >面の法線ベクトルで点Pを通る直線がポリゴンと交わる時、交わる点が一番近い
2.3辺の線上の何処かが一番近い
  >1を満たさず、各辺と点Pからなる三角形の内角が90度を越えない場合、点Pと該当する辺に垂直に交わる点が一番近い
3.3頂点の何処かが一番近い
  >1と2を満たさない場合、3頂点のうち一番距離が近い頂点が一番近い
950デフォルトの名無しさん:2007/08/12(日) 07:12:19
|(PA×PB)・PC| / |AC・BC|
とかのほうがかえって早いとかは?