Related Articles
Find the equation of plane which passes through two points and parallel to a given axis
• Last Updated : 17 Oct, 2020

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:

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 axis import 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 code public 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 axis using 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 code public 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
Output:
-29x + 7y + 48z + 0= 0


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.

My Personal Notes arrow_drop_up