Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
トピック
MIKE猫Soft
◆M1HxkK9fMI2A
2018/12/31 12:12
質問
空間における二点の座標から、xy平面(この平面は、z方向に(+が奥、-が手前になる)動くものとする)の交点をx,yのみ答えるための式を作ってください。
上の通りです。
つまり、3Dエンジンで、Z座標がカメラ距離を超えるとおかしくなるところを、なんとかして食い止めようということで教えてほしいのです。
分かりやすく教えてください。(中学生だから、全然わからんw)
コメント
こういち
2018/12/31 12:34
◆ou0jbJnEJ0Kb
とりあえず、xzの平面でのみ考えると良いですよ。yzの平面もxzと同様に求まります。
2点の座標を(x1,z1),(x2,z2)とすると、
直線の方程式は、z-z1=(z2-z1)(x-x1)/(x2-x1)
になります。
あとは、zにxy平面のz座標を代入すれば、x座標が求まります。
例
(2,3),(4,5),xy平面の座標0の場合
z-3=(5-3)(x-2)/(4-2)
z=x+1
z=0より、
x=-1
こういち
2018/12/31 12:39
◆ou0jbJnEJ0Kb
で、プログラムで実現するときは、直線の方程式をxについて解けばOKです。
z-z1=(z2-z1)(x-x1)/(x2-x1)
x-x1=(z-z1)(x2-x1)/(z2-z1)
x=(z-z1)(x2-x1)/(z2-z1)+x1
yも同様にすると、式が出てきます。
y=(z-z1)(y2-y1)/(z2-z1)+y1
MIKE猫Soft
2018/12/31 12:46
◆M1HxkK9fMI2A
ありがとうございます!
Z,Xの二つで平面が出来上がるということですね!
これなら中学生でもわかりますねw
コメントを書く
この投稿にはコメントできません。
-
WEB PATIO
-