ฉันจะหาจุดบนเส้นได้อย่างไร


คำตอบ:


26

คำนวณเวกเตอร์VจากAถึงBและทำให้เป็นมาตรฐาน

V = (B - A) / |B - A|

ตั้งแต่เวกเตอร์ปกติก็จะมีความยาวของหนึ่งและมันจะบ่งบอกถึงทิศทางของเทียบกับB Aหากคุณขยายสเกลเวกเตอร์โดยdคุณจะได้การกระจัดจากAเป็นC

V' = d * V

ซึ่งคุณสามารถเพิ่มไปAยังผลผลิตC:

C = V' + A

btw: ใครช่วยแนะนำหนังสือที่ฉันสามารถเรียนรู้เกี่ยวกับสิ่งเช่นนั้นได้ไหม :)
eempee

ไพรเมอร์ 3 มิติคณิตศาสตร์เป็นหนึ่งที่ดี: amazon.com/Primer-Graphics-Development-Wordware-Library/dp/...
Ricky AH

ยังไม่ได้อ่านอันนี้ แต่ฉันได้รับการบอกว่าเป็นสิ่งที่ดีงามamazon.com/Mathematics-Programming-Computer-Graphics-Second/dp/ …
Ricky AH

1
ดูคำถามนี้: gamedev.stackexchange.com/questions/1210/…

btw นี่เป็นขั้นตอนสองสามขั้นตอนสุดท้ายในอัลกอริธึมการแยกเรย์: คุณคิดว่าไกลแค่ไหนที่เรย์จุดตัดคือและจากนั้นคุณจะได้รับพิกัดของจุดgeomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
jhocking

1

ในกรณีที่อัตราส่วน d ของคุณเป็นอัตราส่วนแทนที่จะเป็นความยาวเช่น 0.5 ทำให้ระยะทางเท่ากันจาก A และ B คุณสามารถทำสิ่งต่อไปนี้และหลีกเลี่ยงการทำให้เป็นมาตรฐาน:

C = A * (1 - ratio) + B * ratio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.