• ベストアンサー

式の変換

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 =…」の式に変換できるのかがわかりません。 変換の手順をおしえてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • 128yen
  • ベストアンサー率44% (107/243)
回答No.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) と同じですよね。

nyanta2
質問者

お礼

128yenさん、とてもわかりやすく説明していただき、ありがとうございました。 なるほどの一言です。2日も悩んでいました。助かりました。

関連するQ&A