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

ตรวจสอบว่าวงกลมที่กำหนดอยู่ภายในวงแหวนที่เกิดจากวงกลมสองวงใน C++ . หรือไม่


เรามีวงกลมสองวง ศูนย์กลางของทั้งคู่อยู่ที่จุดกำเนิด รัศมีของวงกลมสองวงนี้ถูกกำหนด พวกมันคือ r และ R, R> r วงอื่นก็มี ให้รัศมี (r1) และจุดศูนย์กลาง เราต้องตรวจสอบว่าจุดนั้นอยู่ภายในวงแหวนที่เกิดจากวงกลมสองวงแรกหรือไม่

ตรวจสอบว่าวงกลมที่กำหนดอยู่ภายในวงแหวนที่เกิดจากวงกลมสองวงใน C++ . หรือไม่

เราแก้ได้โดยใช้ทฤษฎีบทพีทาโกรัส คำนวณระยะทางจากจุดศูนย์กลางของวงกลมและจุดกำเนิด แล้วถ้า (ระยะทาง – r1)>=r และ (ระยะทาง – r1) <=R ถ้าทั้งคู่เป็นจริง วงกลมจะอยู่ภายในวงแหวน

ตัวอย่าง

#include <iostream>
#include <cmath>
using namespace std;
bool isInside(int r, int R, int r1, int x, int y) {
   int dis = sqrt(x*x+y*y);
   return (dis-r1 >= R && dis+r1 <= r);
}
int main() {
   int r = 8, R = 4, r1 = 2, x = 6, y = 0;
   if (isInside(r, R, r1, x, y))
      cout << "Circle is inside the ring." << endl;
   else
      cout << "Circle is not inside the ring." << endl;
}

ผลลัพธ์

Circle is inside the ring.