実現したいこと
3D空間で平行でも交わる事もないねじれた2直線で、直線間が指定した距離になった時の直線上の座標を求める事は可能でしょうか?その方法を教えていただきたいです。
発生している問題・分からないこと
交わる事がある2直線であれば、内積や三角関数で指定した距離になった時の斜辺の長さ等を求める事はできるのですが、2直線がねじれた時から頭がパニックです。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
googleで検索するとねじれた2直線間の最短距離を求める方法はたくさん出てきました。
補足
Unityを使用して試しております。
> googleで検索するとねじれた2直線間の最短距離を求める方法はたくさん出てきました。
であれば、その方法をC#で書き直せばいいだけだと思いますが、どこで困っているのですか?
というか、そもそも何でこれが必要になったのですか?
Unityであれば、CapsuleColliderを使えばいいと思うのですが。
分かりにくい文章ですみません。
2直線間の最短距離を求めたいのではなく、2直線間が指定した距離になった時の直線上の座標を求めたいのです。
Unityであればある程度の当たり判定はやってくれる見たいですが、まぁ勉強というか色々試してみたくって。
そうであれば、Unityというよりかは数学的な問題ですので、「C#」や「Unity」ではなく「アルゴリズム」といった適切なタグにしたほうがいいと思います。
現状では、C#とUnity以外の人からは、関係ないという判断でスルーされる可能性が高いです(タグ絞り込みという機能の影響もあります)。
2つのねじれの直線(L,M)間の最短距離となる線分NはLとN、MとNがそれぞれ直角に交わるので、長さとと座標がでれば、L上の特定ポイントからのMへの距離はNを使った直角三角形の斜辺ですね。2直線長さと直角がわかっているのでもう1直線の長さもわかるので、最大4座標が計算できそうですが
fiveHndredさん、すみません。以後気をつけます。
yambejpさん、ありがとうございます。
最短距離の線分は2直線ともに直角なのですね、それを使えば内積や三角関数が使えそうです。
速やかに終了しちゃってますが…
> 2直線間が指定した距離になった時の直線上の座標
この言葉が実際に指す物次第では,回答内容は全然ダメ(=大間違い)な気がしています.
→回答のコメント欄の方をご確認願いたく.
回答1件
あなたの回答
tips
プレビュー