- ベストアンサー
式の変換
s = (PBx + t×Bx - PAx) / Ax s = (PBy + t×By - PAy) / Ay これを「=」でつなげ、「t = …」のかたちにします。 t = (Ax×(PBy - PAy) - Ay×(PBx - PAx)) / (Bx×Ay - By×Ax) と書いてあったのですが、どうやって計算していけば 下の「t =…」の式に変換できるのかがわかりません。 変換の手順をおしえてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
s = (PBx + t×Bx - PAx) / Ax s = (PBy + t×By - PAy) / Ay (PBx + t×Bx - PAx) / Ax = (PBy + t×By - PAy) / Ay 両辺にAxAyを掛けて Ay(PBx + t×Bx - PAx) = Ax(PBy + t×By - PAy) AyPBx + t×AyBx - PAxAy = AxPBy + t×AxBy - PAxAy t = の形にしたい場合は、左辺にtを含んでいる項を 右辺にはtのない項を持っていきます。 t×AyBx - t×AxBy = AxPBy - PAxAy + PAxAy - AyPBx tx(AyBx - AxBy) = AxPBy - PAxAy + PAxAy - AyPBx t = (AxPBy - PAxAy + PAxAy - AyPBx) / (AyBx - AxBy) これは、t = (Ax×(PBy - PAy) - Ay×(PBx - PAx)) / (Bx×Ay - By×Ax) と同じですよね。
お礼
128yenさん、とてもわかりやすく説明していただき、ありがとうございました。 なるほどの一言です。2日も悩んでいました。助かりました。