Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

มุมระหว่างเส้นตรงสัมผัสและสายตรง เมื่อทราบมุมในส่วนตรงข้ามใน C++

โจทย์ปัญหา

ได้รับวงกลมที่มีสายตรง (Chord) และเส้นตรงสัมผัส (Tangent) ตัดกันที่จุดหนึ่ง ทราบมุมในส่วนตรงข้าม (Alternate Segment) ให้หามุมระหว่างสายตรงและเส้นตรงสัมผัส

ทฤษฎีทางเรขาคณิต (Alternate Segment Theorem)

ทฤษฎี: มุมระหว่างเส้นตรงสัมผัสและสายตรง ที่จุดสัมผัส เท่ากับ มุมในส่วนตรงข้ามที่สายตรงนั้นครอบ

คือ: ∠(Tangent, Chord) = ∠(Alternate Segment)

ตัวอย่าง

Input (มุมในส่วนตรงข้าม)Output (มุมระหว่าง Tangent และ Chord)
40°40°
60°60°
30°30°

การพิสูจน์สรุป

  1. ให้มุมในส่วนตรงข้าม = ∠QPR = z
  2. ให้มุมระหว่างสายตรง QR และเส้นสัมผัส QY = a
  3. เส้นจากศูนย์กลาง O ไปจุดสัมผัส Q ⟂ เส้นสัมผัส → ∠OQR = 90° - a
  4. OQ = OR (รัศมี) → ∠ORQ = 90° - a
  5. ใน △OQR: ∠QOR = 180° - (90°-a) - (90°-a) = 2a
  6. มุมรอบนอกวงกลม = 1/2 มุมศูนย์กลางที่ครอบโค้งเดียวกัน → ∠QPR = 1/2 × ∠QOR = a
  7. สรุป: a = z

โค้ดตัวอย่าง (C++)

#include <bits/stdc++.h>
using namespace std;

void angleChordTangent(int z) {
    cout << "The angle between tangent and the chord is "
         << z << " degrees" << endl;
}

int main() {
    int z = 40;
    angleChordTangent(z);
    return 0;
}

ผลลัพธ์

The angle between tangent and the chord is 40 degrees

คำอธิบายเพิ่มเติม

  • นี่คือ Alternate Segment Theorem (ทฤษฎีส่วนตรงข้าม) - เรื่องสำคัญในเรขาคณิตวงกลม
  • ใช้ได้กับกรณีที่เส้นสัมผัสและสายตรงตัดกันที่จุดบนวงกลม
  • มุมในส่วนตรงข้าม = มุมที่ยุกโดยสายตรงเดียวกัน แต่อยู่ด้านตรงข้ามของสายตรง
  • โปรแกรมนี้แค่ Return ค่าเดิม เพราะทฤษฎีบอกว่ามันเท่ากันโดยตรง

โจทย์ย่อยที่เกี่ยวข้อง

  • หามุมระหว่างเส้นสัมผัสสองเส้น
  • หามุมระหว่างสายตรงสองเส้นที่ตัดกันในวงกลม
  • Power of a Point Theorem