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

ตรวจสอบว่าจุดอยู่ภายใน ภายนอก หรือบนพาราโบลาใน C++


สมมติว่ามีพาราโบลาหนึ่งอัน (พิกัดจุดยอด (h, k) และระยะห่างจากจุดโฟกัสและจุดยอดคือ a) อีกจุดหนึ่งจะได้รับด้วย เราต้องหาว่าจุดนั้นอยู่ในพาราโบลาหรือไม่ ในการแก้ เราต้องแก้สมการต่อไปนี้สำหรับจุดที่กำหนด (x, y)

\left(y-k\right)^2=4a\left(x-h\right)

หากผลลัพธ์น้อยกว่า 0 แสดงว่าอยู่ในพาราโบลาหากเป็น 0 แสดงว่าอยู่บนพาราโบลา และหากมากกว่า 0 แสดงว่าอยู่นอกพาราโบลา

ตัวอย่าง

#include <iostream>
#include <cmath>
using namespace std;
int isInsideParabola(int h, int k, int x, int y, int a) {
   int res = pow((y - k), 2) - 4 * a * (x - h);
   return res;
}
int main() {
   int x = 2, y = 1, h = 0, k = 0, a = 4;
   if(isInsideParabola(h, k, x, y, a) > 0){
      cout <<"Outside Parabola";
   }
   else if(isInsideParabola(h, k, x, y, a) == 0){
      cout <<"On the Parabola";
   } else{
      cout <<"Inside Parabola";
   }
}

ผลลัพธ์

Inside Parabola