Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm góc phần tư của một Tọa độ đối với một Đường tròn trong C ++

Chúng ta có một đường tròn (tọa độ tâm và bán kính), chúng ta phải tìm góc phần tư của một điểm đã cho khác (x, y) nằm đối với tâm của đường tròn, nếu điểm này xuất hiện trong đường tròn, hãy in góc phần tư, nếu không sẽ in lỗi như điểm hiện diện bên ngoài.

Giả sử tâm của đường tròn là (h, k), tọa độ của điểm là (x, y). Chúng ta biết rằng phương trình của đường tròn là -

(𝑥 − ℎ) 2 + (𝑦 − 𝑘) 2 + 𝑟 2 =0

Bây giờ có rất ít điều kiện, dựa vào đó chúng ta có thể quyết định kết quả.

𝑖𝑓 (𝑥 − ℎ) 2 + (𝑦 − 𝑘) 2 > 𝑟, 𝑡ℎ𝑒𝑛 𝑡ℎ𝑒 𝑝𝑜𝑖𝑛𝑡 𝑖𝑠 𝑜𝑢𝑡𝑠𝑖𝑑𝑒 𝑡ℎ𝑒 𝑐𝑖𝑟𝑐𝑙𝑒

𝑖𝑓 (𝑥 − ℎ) 2 + (𝑦 − 𝑘) 2 =0, 𝑡ℎ𝑒𝑛 𝑡ℎ𝑒 𝑝𝑜𝑖𝑛𝑡 𝑖𝑠 𝑜𝑛 𝑡ℎ𝑒 𝑐𝑖𝑟𝑐𝑙𝑒

𝑖𝑓 (𝑥 − ℎ) 2 + (𝑦 − 𝑘) 2 <𝑟, 𝑡ℎ𝑒𝑛 𝑡ℎ𝑒 𝑝𝑜𝑖𝑛𝑡 𝑖𝑠 𝑖𝑛𝑠𝑖𝑑𝑒 𝑡ℎ𝑒 𝑐𝑖𝑟𝑐𝑙𝑒

Ví dụ

#include<iostream>
#include<cmath>
using namespace std;
int getQuadrant(int h, int k, int rad, int x, int y) {
   if (x == h && y == k)
      return 0;
   int val = pow((x - h), 2) + pow((y - k), 2);
   if (val > pow(rad, 2))
      return -1;
   if (x > h && y >= k)
      return 1;
   if (x <= h && y > k)
      return 2;
   if (x < h && y <= k)
      return 3;
   if (x >= h && y < k)
      return 4;
}
int main() {
   int h = 0, k = 3;
   int rad = 2;
   int x = 1, y = 4;
   int ans = getQuadrant(h, k, rad, x, y);
   if (ans == -1)
      cout << "Point is Outside of the circle" << endl;
   else if (ans == 0)
      cout << "Present at the center" << endl;
   else
      cout << ans << " Quadrant" << endl;
}

Đầu ra

1 Quadrant