In this article, it is explained how to find the X, Y, and Z intercepts of a plane. There are two ways to find the intercepts:
Case 1: When the general equation of the plane is given.
Examples:
Input: A = -6, B = 5, C = -3, D = 9 Output: 1.5 -1.8 3.0
Input: A = 7, B = 4, C = 5, D = -7 Output: 1.0 1.75 1.4
Approach:
The result can be computed by following the below steps:
- Convert general equation of a plane Ax + By + Cz + D = 0 to Ax + By + Cz = – D
- Divide by -D into both sides of the equation
- So, the equation becomes x/(-D/A) + y/(-D/B) + z(-D/C) = 1
- The above equation is in the intercept form of a plane. Therefore,
X intercepts will be = -D/A
Y intercepts will be = -D/B
Z intercepts will be = -D/C
Below is the implementation of the above approach:
C++
// C++ program to find the // X, Y and Z intercepts of a plane#include<iostream>using namespace std;float * XandYandZintercept(float A, float B, float C, float D){ static float rslt[3]; // For finding the x-intercept // put y = 0 and z = 0 float x = -D / A ; // For finding the y-intercept // put x = 0 and z = 0 float y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 float z = -D / C ; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt; } // Driver code int main () { int A = 2 ; int B = 5 ; int C = 7; int D = 8 ; float *rslt = XandYandZintercept(A, B, C, D); for(int i = 0; i < 3 ; i++) { cout << rslt[i] << " "; } }// This code is contributed by ANKITKUMAR34 |
Java
// Java program to find the // X, Y and Z intercepts of a planeclass GFG { static float[] XandYandZintercept(float A, float B, float C, float D) { float rslt[] = new float[3]; // For finding the x-intercept // put y = 0 and z = 0 float x = -D / A ; // For finding the y-intercept // put x = 0 and z = 0 float y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 float z = -D / C ; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt; } // Driver code public static void main (String[] args) { int A = 2 ; int B = 5 ; int C = 7; int D = 8 ; float rslt[] = XandYandZintercept(A, B, C, D); for(int i = 0; i < 3 ; i++) { System.out.print(rslt[i] + " "); } }}// This code is contributed by AnkitRai01 |
Python3
# Python program to find the # X, Y and Z intercepts of a planedef XandYandZintercept(A, B, C, D): # For finding the x-intercept # put y = 0 and z = 0 x = -D / A # For finding the y-intercept # put x = 0 and z = 0 y = -D / B # For finding the z-intercept # put x = 0 and y = 0 z = -D / C return [x, y, z]# Driver codeA = 2B = 5C = 7D = 8print(XandYandZintercept(A, B, C, D)) |
C#
// C# program to find the // X, Y and Z intercepts of a planeusing System;class GFG { static float[] XandYandZintercept(float A, float B, float C, float D) { float []rslt = new float[3]; // For finding the x-intercept // put y = 0 and z = 0 float x = -D / A ; // For finding the y-intercept // put x = 0 and z = 0 float y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 float z = -D / C ; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt; } // Driver code public static void Main() { int A = 2 ; int B = 5 ; int C = 7; int D = 8 ; float []rslt = XandYandZintercept(A, B, C, D); for(int i = 0; i < 3 ; i++) { Console.Write(rslt[i] + " "); } }}// This code is contributed by AnkitRai01 |
Javascript
<script> // JavaScript program to find the // X, Y and Z intercepts of a plane function XandYandZintercept(A, B, C, D) { // For finding the x-intercept // put y = 0 and z = 0 var x = -D / A; // For finding the y-intercept // put x = 0 and z = 0 var y = -D / B; // For finding the z-intercept // put x = 0 and y = 0 var z = -D / C; return [x, y, z]; } function equation_plane(p, q, r) { var x1 = p[0]; var y1 = p[1]; var z1 = p[2]; var x2 = q[0]; var y2 = q[1]; var z2 = q[2]; var x3 = r[0]; var y3 = r[1]; var z3 = r[2]; // For Finding value of A, B, C, D var a1 = x2 - x1; var b1 = y2 - y1; var c1 = z2 - z1; var a2 = x3 - x1; var b2 = y3 - y1; var c2 = z3 - z1; var A = b1 * c2 - b2 * c1; var B = a2 * c1 - a1 * c2; var C = a1 * b2 - b1 * a2; var D = -A * x1 - B * y1 - C * z1; // Calling the first created function var [x, y, z] = XandYandZintercept(A, B, C, D); document.write(x + " " + y + " " + z); } // Driver Code var x1 = -1; var y1 = 2; var z1 = 1; var x2 = 0; var y2 = -3; var z2 = 2; var x3 = 1; var y3 = 1; var z3 = -4; var p = [x1, y1, z1]; var q = [x2, y2, z2]; var r = [x3, y3, z3]; equation_plane(p, q, r); </script> |
[-4.0, -1.6, -1.1428571428571428]
Time Complexity: O(1)
Auxiliary Space: O(1)
Case 2: When 3 non-collinear points are given.
Examples:
Input: A = (3, 17, 2), B = (4, 8, 5), C = (1, 8, 3) Output: 1.5 -1.8 3.0
Input: A = (2, 11, 4), B = (7, 8, 3), C = (9, 18, 23) Output: 1.0 1.75 1.4
Approach:
The idea is to find the Cartesian form of the equation using three points.
- When three points (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) are given, the determinant value of the following matrix gives the Cartesian form.
- | (x – x1) (y – y1) (z – z1) |
| (x2 – x1) (y2 – y1) (z2 – z1)| = 0
| (x3 – x1) (y3 – y1) (z3 – z1)| - Once the above determinant is found, then the intercepts can be found using the first mentioned approach.
Below is the implementation of the above approach:
C++
// C++ program to find the // X, Y and Z intercepts of a plane#include<bits/stdc++.h>using namespace std;float * XandYandZintercept( float A, float B, float C, float D){ static float rslt[3]; // For finding the x-intercept // put y = 0 and z = 0 float x = -D / A; // For finding the y-intercept // put x = 0 and z = 0 float y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 float z = -D / C; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt;}void equation_plane(int p[], int q[], int r[]){ int x1 = p[0]; int y1 = p[1]; int z1 = p[2]; int x2 = q[0]; int y2 = q[1]; int z2 = q[2]; int x3 = r[0]; int y3 = r[1]; int z3 = r[2]; // For Finding value of A, B, C, D int a1 = x2 - x1; int b1 = y2 - y1; int c1 = z2 - z1; int a2 = x3 - x1; int b2 = y3 - y1; int c2 = z3 - z1; int A = b1 * c2 - b2 * c1; int B = a2 * c1 - a1 * c2; int C = a1 * b2 - b1 * a2; int D = (- A * x1 - B * y1 - C * z1); // Calling the first created function float * rslt=XandYandZintercept(A, B, C, D); for(int i = 0; i < 3; i++) { cout << rslt[i] << " "; }} // Driver Code int main() { int x1 =-1; int y1 = 2; int z1 = 1; int x2 = 0; int y2 =-3; int z2 = 2; int x3 = 1; int y3 = 1; int z3 =-4; int p[3] = {x1, y1, z1}; int q[3] = {x2, y2, z2}; int r[3] = {x3, y3, z3}; equation_plane(p, q, r);}// This code is contributed by chitranayal |
Java
// Java program to find the // X, Y and Z intercepts of a planeimport java.util.*;class solution{static double[] XandYandZintercept( double A, double B, double C, double D){ double []rslt = new double[3]; // For finding the x-intercept // put y = 0 and z = 0 double x = -D / A; // For finding the y-intercept // put x = 0 and z = 0 double y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 double z = -D / C; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt;}static void equation_plane(int []p, int []q, int []r){ int x1 = p[0]; int y1 = p[1]; int z1 = p[2]; int x2 = q[0]; int y2 = q[1]; int z2 = q[2]; int x3 = r[0]; int y3 = r[1]; int z3 = r[2]; // For Finding value of A, B, C, D int a1 = x2 - x1; int b1 = y2 - y1; int c1 = z2 - z1; int a2 = x3 - x1; int b2 = y3 - y1; int c2 = z3 - z1; int A = b1 * c2 - b2 * c1; int B = a2 * c1 - a1 * c2; int C = a1 * b2 - b1 * a2; int D = (- A * x1 - B * y1 - C * z1); // Calling the first created function double []rslt = XandYandZintercept(A, B, C, D); for(int i = 0; i < 3; i++) { System.out.printf(rslt[i]+" "); }} // Driver Code public static void main(String args[]) { int x1 =-1; int y1 = 2; int z1 = 1; int x2 = 0; int y2 =-3; int z2 = 2; int x3 = 1; int y3 = 1; int z3 =-4; int []p = {x1, y1, z1}; int []q = {x2, y2, z2}; int []r = {x3, y3, z3}; equation_plane(p, q, r);}}// This code is contributed by Surendra_Gangwar |
Python3
# Python program to find the # X, Y and Z intercepts of a planedef XandYandZintercept(A, B, C, D): # For finding the x-intercept # put y = 0 and z = 0 x = -D / A # For finding the y-intercept # put x = 0 and z = 0 y = -D / B # For finding the z-intercept # put x = 0 and y = 0 z = -D / C return [x, y, z] def equation_plane(p, q, r): x1 = p[0] y1 = p[1] z1 = p[2] x2 = q[0] y2 = q[1] z2 = q[2] x3 = r[0] y3 = r[1] z3 = r[2] # For Finding value of A, B, C, D a1 = x2 - x1 b1 = y2 - y1 c1 = z2 - z1 a2 = x3 - x1 b2 = y3 - y1 c2 = z3 - z1 A = b1 * c2 - b2 * c1 B = a2 * c1 - a1 * c2 C = a1 * b2 - b1 * a2 D = (- A * x1 - B * y1 - C * z1) # Calling the first created function print(XandYandZintercept(A, B, C, D)) # Driver Code x1 =-1y1 = 2z1 = 1x2 = 0y2 =-3z2 = 2x3 = 1y3 = 1z3 =-4equation_plane((x1, y1, z1), (x2, y2, z2), (x3, y3, z3)) |
C#
// C# program to find the // X, Y and Z intercepts of a plane using System;class GFG{ static double[] XandYandZintercept(double A, double B, double C, double D) { double[] rslt = new double[3]; // For finding the x-intercept // put y = 0 and z = 0 double x = -D / A; // For finding the y-intercept // put x = 0 and z = 0 double y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 double z = -D / C; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt; } static void equation_plane(int[] p, int[] q, int[] r) { int x1 = p[0]; int y1 = p[1]; int z1 = p[2]; int x2 = q[0]; int y2 = q[1]; int z2 = q[2]; int x3 = r[0]; int y3 = r[1]; int z3 = r[2]; // For Finding value // of A, B, C, D int a1 = x2 - x1; int b1 = y2 - y1; int c1 = z2 - z1; int a2 = x3 - x1; int b2 = y3 - y1; int c2 = z3 - z1; int A = (b1 * c2 - b2 * c1); int B = (a2 * c1 - a1 * c2); int C = (a1 * b2 - b1 * a2); int D = (- A * x1 - B * y1 - C * z1); // Calling the first // created function double[] rslt = XandYandZintercept(A, B, C, D); for(int i = 0; i < 3; i++) { Console.Write(rslt[i] + " "); } } // Driver codestatic void Main() { int x1 =-1; int y1 = 2; int z1 = 1; int x2 = 0; int y2 =-3; int z2 = 2; int x3 = 1; int y3 = 1; int z3 =-4; int[] p = {x1, y1, z1}; int[] q = {x2, y2, z2}; int[] r = {x3, y3, z3}; equation_plane(p, q, r); }}// This code is contributed by divyeshrabadiya07 |
Javascript
<script>// Javascript program to find the// X, Y and Z intercepts of a planefunction XandYandZintercept(A, B, C, D){ let rslt = new Array(3); // For finding the x-intercept // put y = 0 and z = 0 let x = -D / A; // For finding the y-intercept // put x = 0 and z = 0 let y = -D / B ; // For finding the z-intercept // put x = 0 and y = 0 let z = -D / C; rslt[0] = x; rslt[1] = y; rslt[2] = z; return rslt;}function equation_plane(p, q, r){ let x1 = p[0]; let y1 = p[1]; let z1 = p[2]; let x2 = q[0]; let y2 = q[1]; let z2 = q[2]; let x3 = r[0]; let y3 = r[1]; let z3 = r[2]; // For Finding value of A, B, C, D let a1 = x2 - x1; let b1 = y2 - y1; let c1 = z2 - z1; let a2 = x3 - x1; let b2 = y3 - y1; let c2 = z3 - z1; let A = b1 * c2 - b2 * c1; let B = a2 * c1 - a1 * c2; let C = a1 * b2 - b1 * a2; let D = (- A * x1 - B * y1 - C * z1); // Calling the first created function let rslt = XandYandZintercept(A, B, C, D); for(let i = 0; i < 3; i++) { document.write(rslt[i] + " "); }}// Driver Codelet x1 = -1;let y1 = 2;let z1 = 1;let x2 = 0;let y2 = -3;let z2 = 2;let x3 = 1;let y3 = 1;let z3 = -4;let p = [ x1, y1, z1 ];let q = [ x2, y2, z2 ];let r = [ x3, y3, z3 ];equation_plane(p, q, r);// This code is contributed by rag2127</script> |
[-0.11538461538461539, -0.42857142857142855, -0.3333333333333333]
Time Complexity: O(1), Space Complexity: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More Information here on that Topic: geeksforgeeks.org/program-to-find-x-y-and-z-intercepts-of-a-plane/ […]
… [Trackback]
[…] Read More to that Topic: geeksforgeeks.org/program-to-find-x-y-and-z-intercepts-of-a-plane/ […]
… [Trackback]
[…] Read More to that Topic: geeksforgeeks.org/program-to-find-x-y-and-z-intercepts-of-a-plane/ […]