Find the equation of plane which passes through two points and parallel to a given axis

• Last Updated : 22 Nov, 2021

Given two points A(x1, y1, z1) and B(x2, y2, z2) and a set of points (a, b, c) which represent the axis (ai + bj + ck), the task is to find the equation of plane which passes through the given points A and B and parallel to the given axis.

Examples:

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

Input: x1 = 1, y1 = 2, z1 = 3, x2 = 3, y2 = 4, z2 = 5, a= 6, b = 7, c = 8
Output: 2x + 4y + 2z + 0 = 0

Input: x1 = 2, y1 = 3, z1 = 5, x2 = 6, y2 = 7, z2 = 8, a= 11, b = 23, c = 10.
Output: -29x + 7y + 48z + 0= 0

Approach:
From the given two points on plane A and B, The directions ratios a vector equation of line AB is given by:

direction ratio = (x2 – x1, y2 – y1, z2 – z1)

Since the line

is parallel to the given axis

. Therefore, the cross-product of

and

is 0 which is given by:

where,
d, e, and f are the coefficient of vector equation of line AB i.e.,
d = (x2 – x1),
e = (y2 – y1), and
f = (z2 – z1)
and a, b, and c are the coefficient of given axis.

The equation formed by the above determinant is given by:

(Equation 1)

Equation 1 is perpendicular to the line AB which means it is perpendicular to the required plane.
Let the Equation of the plane is given by

(Equation 2)
where A, B, and C are the direction ratio of the plane perpendicular to the plane.
Since Equation 1 is Equation 2 are perpendicular to each other, therefore the value of the direction ratio of Equation 1 & 2 are parallel. Then the coefficient of the plane is given by:

A = (b*f – c*e),
B = (a*f – c*d), and
C = (a*e – b*d)

Now dot product of plane and vector line AB gives the value of D as

D = -(A * d â€“ B * e + C * f)

Below is the implementation of the above approach:

C++

 // C++ implementation to find the// equation of plane which passes// through two points and parallel// to a given axis #include using namespace std; void findEquation(int x1, int y1, int z1,                  int x2, int y2, int z2,                  int d, int e, int f){     // Find direction vector    // of points (x1, y1, z1)    // and (x2, y2, z2)    double a = x2 - x1;    double b = y2 - y1;    double c = z2 - z1;     // Values that are calculated    // and simplified from the    // cross product    int A = (b * f - c * e);    int B = (a * f - c * d);    int C = (a * e - b * d);    int D = -(A * d - B * e + C * f);     // Print the equation of plane    cout << A << "x + " << B << "y + "         << C << "z + " << D << "= 0";} // Driver Codeint main(){     // Point A    int x1 = 2, y1 = 3, z1 = 5;     // Point B    int x2 = 6, y2 = 7, z2 = 8;     // Given axis    int a = 11, b = 23, c = 10;     // Function Call    findEquation(x1, y1, z1,                 x2, y2, z2,                 a, b, c);     return 0;}

Java

 // Java implementation to find the// equation of plane which passes// through two points and parallel// to a given axisimport java.util.*; class GFG{ static void findEquation(int x1, int y1, int z1,                         int x2, int y2, int z2,                         int d, int e, int f){         // Find direction vector    // of points (x1, y1, z1)    // and (x2, y2, z2)    double a = x2 - x1;    double b = y2 - y1;    double c = z2 - z1;     // Values that are calculated    // and simplified from the    // cross product    int A = (int)(b * f - c * e);    int B = (int)(a * f - c * d);    int C = (int)(a * e - b * d);    int D = -(int)(A * d - B * e + C * f);     // Print the equation of plane    System.out.println(A + "x + " + B + "y + " +                       C + "z + " + D + "= 0 ");} // Driver codepublic static void main(String[] args){     // Point A    int x1 = 2, y1 = 3, z1 = 5;     // Point B    int x2 = 6, y2 = 7, z2 = 8;     // Given axis    int a = 11, b = 23, c = 10;     // Function Call    findEquation(x1, y1, z1,                 x2, y2, z2,                 a, b, c);}} // This code is contributed by Pratima Pandey

Python3

 # Python3 implementation# to find the equation# of plane which passes# through two points and# parallel to a given axisdef findEquation(x1, y1, z1,                 x2, y2, z2,                 d, e, f):       # Find direction vector    # of points (x1, y1, z1)    # and (x2, y2, z2)    a = x2 - x1    b = y2 - y1    c = z2 - z1     # Values that are calculated    # and simplified from the    # cross product    A = (b * f - c * e)    B = (a * f - c * d)    C = (a * e - b * d)    D = -(A * d - B *          e + C * f)     # Print the equation of plane    print (A, "x + ", B, "y + ",           C, "z + ", D, "= 0") # Driver Codeif __name__ == "__main__":       # Point A    x1 = 2    y1 = 3    z1 = 5;     # Point B    x2 = 6    y2 = 7    z2 = 8     # Given axis    a = 11    b = 23    c = 10     # Function Call    findEquation(x1, y1, z1,                 x2, y2, z2,                 a, b, c) # This code is contributed by Chitranayal

C#

 // C# implementation to find the// equation of plane which passes// through two points and parallel// to a given axisusing System;class GFG{ static void findEquation(int x1, int y1, int z1,                         int x2, int y2, int z2,                         int d, int e, int f){         // Find direction vector    // of points (x1, y1, z1)    // and (x2, y2, z2)    double a = x2 - x1;    double b = y2 - y1;    double c = z2 - z1;     // Values that are calculated    // and simplified from the    // cross product    int A = (int)(b * f - c * e);    int B = (int)(a * f - c * d);    int C = (int)(a * e - b * d);    int D = -(int)(A * d - B * e + C * f);     // Print the equation of plane    Console.Write(A + "x + " + B + "y + " +                  C + "z + " + D + "= 0 ");} // Driver codepublic static void Main(){     // Point A    int x1 = 2, y1 = 3, z1 = 5;     // Point B    int x2 = 6, y2 = 7, z2 = 8;     // Given axis    int a = 11, b = 23, c = 10;     // Function Call    findEquation(x1, y1, z1,                 x2, y2, z2,                 a, b, c);}} // This code is contributed by Code_Mech

Javascript

 
Output:
-29x + 7y + 48z + 0= 0

My Personal Notes arrow_drop_up