Bagaimana cara menemukan titik pada sebuah garis?


11

Saya memiliki dua poin (A, B) dan panjang d. Bagaimana saya bisa menemukan titik C?

contoh

Jawaban:


26

Hitung vektor Vdari Amenjadi B, dan normalkanlah.

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

Karena vektor dinormalisasi, ia akan memiliki panjang satu, dan itu akan menunjukkan arah Brelatif ke A. Jika Anda kemudian skala vektor oleh dAnda akan memiliki perpindahan dari AkeC

V' = d * V

yang bisa Anda tambahkan ke Auntuk menghasilkan C:

C = V' + A

btw: ada yang bisa merekomendasikan saya buku di mana saya bisa belajar tentang hal-hal seperti itu? :)
eempee


Tidak membaca yang satu ini, tetapi saya telah diberitahu bahwa itu juga amazon yang bagus.com/Mathematics-Programming-Computer-Graphics-Second/dp/…
Ricky AH


btw ini adalah beberapa langkah terakhir dalam algoritma interseksi sinar: Anda mengetahui seberapa jauh di sepanjang sinar titik persimpangan, dan kemudian Anda mendapatkan koordinat titik geomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
jhocking

1

Jika d Anda adalah rasio dan bukan panjang, mis. 0,5 menempatkannya pada jarak yang sama dari A dan B, Anda dapat melakukan hal berikut dan menghindari normalisasi:

C = A * (1 - ratio) + B * ratio
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.