สมมติว่าเรามีโค้งแบบ y = x(A - x) เราต้องหาเส้นปกติที่จุดที่กำหนด (x,y) บนโค้งนั้น ที่นี่ A เป็นจำนวนเต็ม x และ y ก็เป็นจำนวนเต็มเช่นกัน
เพื่อแก้ปัญหานี้ เราต้องตรวจสอบว่าจุดที่กำหนดอยู่บนโค้งหรือไม่ ถ้าอยู่ ให้หาอนุพันธ์ของโค้งนั้น ซึ่งจะเป็น:
$$\frac{dy}{dx}=A-2x$$
จากนั้นแทน x และ y ลงใน dy/dx แล้วหาเส้นปกติโดยใช้สมการนี้:
$$Y-y=-\left(\frac{dx}{dy}\right)*(X-x)$$
ตัวอย่างโค้ด C++
#include <iostream>
using namespace std;
void getNormal(int A, int x, int y) {
int differentiation = A - x * 2;
if (y == (2 * x - x * x)) {
if (differentiation < 0)
cout << 0 - differentiation << "y = " << "x" << (0 - x) + (y * differentiation);
else if (differentiation > 0)
cout << differentiation << "y = " << "-x+" << x + differentiation * y;
else
cout << "x = " << x;
}
else
cout << "Not possible";
}
int main() {
int A = 5, x = 2, y = 0;
cout << "Equation of normal is: ";
getNormal(A, x, y);
}
ผลลัพธ์
Equation of normal is: 1y = -x+2