รับตำแหน่งของจุดบนเส้นรอบวงของวงกลมให้มุม?


13

ฉันต้องการทราบวิธีการรับจุดเฉพาะในเส้นรอบวงของวงกลมให้มุม เส้นผ่าศูนย์กลางของวงกลมคือ 1 { X: 0.5, Y: 0.5 }และจุดศูนย์กลางของวงกลมคือ

คำตอบ:


23

คุณสามารถทำสิ่งนี้ได้โดยใช้ตรีโกณมิติพื้นฐาน http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html

Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse

ฉันมักจะจำข้างต้นเป็น

The Old Arab
Sat On His
Camel And Howled

ข้างต้นหมายความว่าถ้าเรามีมุมและความยาวหนึ่งของสามเหลี่ยมมุมฉากเราสามารถคำนวณความยาวของอีกด้านได้ โชคดีที่ปัญหาของคุณสามารถคิดได้ว่าเป็นการคำนวณความยาวของสามเหลี่ยมด้าน:

รูปภาพสามเหลี่ยมวงกลม

ด้านบน r คือด้านตรงข้ามมุมฉาก x คือด้านประชิดและ y คือด้านตรงข้าม

ดังนั้นสำหรับ x:

Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r

และสำหรับ y:

Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r

นี่คือสมมุติว่ามีวงกลมที่ (0, 0) ดังนั้นเราแค่บวกที่กึ่งกลางของวงกลม

radius = 1;
CenterX = 0.5;
CenterY = 0.5;

x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;

หมายเหตุ:ฟังก์ชั่น C # Math ใช้มุมเป็นเรเดียนดังนั้นหากคุณมีองศาแปลงเป็นอันดับแรก:

radians = degrees * Math.PI / 180

1
โปรดทราบว่ามุมควรเป็นเรเดียน
bummzack

ขึ้นอยู่กับห้องสมุดคณิตศาสตร์ แต่ข้อดีคือ XNA / .Net ใช้เรเดียน
George Duckett

ทำไมชาวอาหรับเก่าถึงคร่ำครวญ? ที่นี่เราไม่ใช่ผู้พูดภาษาอังกฤษทุกคนดังนั้นกฎความทรงจำทางความคิดนั้นดีกว่าประโยคช่วยจำ
FxIII

1
@FxIII: จริงมันไม่ใช่ memonic ที่ได้รับความนิยมมากที่สุด แต่ฉันมักจะจำได้ง่ายกว่า SOHCAHTOA เพราะมันผิดปกติ
George Duckett

หรือคุณสามารถค้นหาได้เมื่อคุณคุ้นเคยกับแนวคิดปีละครั้งหรือสองครั้งที่คุณต้องการ
Tetrad
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.