Size Işık Kıvılcımı'nın yanıtı ve Elliot'un yanıtı arasında bir yer vermeye çalışmama izin verin, çünkü okuduğumdan, sadece size atılan matematik değil, takip edecek bir algoritma arıyorsunuz.
Sorun İfadesi: Bir konumunuz A (50, 50)
ve bir başlığınız olduğu göz önüne alındığında ( bir konum sağlamadığınız için bunu şu şekilde iddia edeceğim y = 2 * x + 25
), nereye ve başlığa B (80, 90)
göreceli olduğunu bulun A
.
Yapmak istediğiniz şey aslında oldukça basittir. 1) A
Sisteminizin kökenine geçin. Bu, yerel A
değerlerin küresel konum değerleri eksi küresel konum değerleri olacağı anlamına gelir A
. A
olur (0, 0)
ve B
olur (30, 40)
.
1.1) Başlığın da taşınması gerekir. Bunu yapmak gerçekten çok kolaydır, çünkü yerel A
terimlerdeki y kesme noktası her zaman 0'dır ve eğim değişmeyecektir, bu nedenle y = 2 * x
başlık olarak elimizde .
2) Şimdi önceki istikameti X eksenine hizalamamız gerekiyor. Peki, bunu nasıl yapıyoruz? Kavramsal olarak bunu yapmanın en kolay yolu, x, y koordinatlarından kutupsal koordinat sistemine dönüştürmektir. Kutupsal koordinat sistemi, R
bir konuma uzaklık phi
ve x ekseninden bir dönüş açısı içerir. R
olarak tanımlanır sqrt(x^2 + y^2)
ve phi
olarak tanımlanır atan(y / x)
. Bugünlerde çoğu bilgisayar dili devam ediyor ve atan2(y, x)
aynı şeyi yapan, atan(y/x)
ancak çıktı 0 derece ila 360 derece yerine -180 derece ila 180 derece arasında olacak, ancak her ikisi de çalışacak bir işlevi tanımlar .
B
böylece R = sqrt(30^2 + 40^2) = sqrt(2500) = 50
ve phi = atan2(40, 30) = 53.13
derece olarak olur.
Benzer şekilde, başlık şimdi değişiyor. Bunu açıklamak biraz zordur, ancak başlık, tanım gereği her zaman kökenimizden geçer A
, R
bileşen hakkında endişelenmemize gerek yoktur . Başlıklar her zaman sabitin phi = C
nerede C
olduğu şeklinde olacaktır . Bu durumda phi = atan(2 * x / x) = atan(2) = 63.435
derece.
Şimdi, başlığı yerel A
sistemden X eksenine taşımak için sistemi döndürebiliriz . Çok biz taşındığında gibi A
sistemin kökeni, yapmamız gereken tüm çıkarma olduğu phi
tüm başlığının phi
sisteminde değerler. Yani phi
bir B
hale 53.13 - 63.435 = -10.305
derecelerde.
Son olarak, kutupsal koordinatlardan x, y koordinatlarına geri dönüş yapmalıyız. Bu dönüşümü yapacak formül X = R * cos(phi)
ve Y = R * sin(phi)
. İçin B
bu nedenle, biz almak X = 50 * cos(-10.305) = 49.2
ve Y = 50 * sin(-10.305) = 8.9
böylece, B
yerel-to-de A
yakındır koordinatları (49,9)
.
Umarım bu size yardımcı olur ve takip etmeniz için matematikte yeterince hafiftir.