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