Dados 4 puntos (x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4). La tarea es escribir un programa para verificar si estos 4 puntos son coplanares o no.
Nota: se dice que 4 puntos en un plano 3D son coplanares si se encuentran en el mismo plano.
Ejemplos:
Input: x1 = 3, y1 = 2, z1 = -5 x2 = -1, y2 = 4, z2 = -3 x3 = -3, y3 = 8, z3 = -5 x4 = -3, y4 = 2, z4 = 1 Output: Coplanar Input: x1 = 0, y1 = -1, z1 = -1 x2 = 4, y2 = 5, z2 = 1 x3 = 3, y3 = 9, z3 = 4 x4 = -4, y4 = 4, z4 = 3 Output: Not Coplanar
Acercarse:
- Para comprobar si 4 puntos son coplanares o no, en primer lugar, encuentre la ecuación del plano que pasa por cualquiera de los tres puntos dados.
Planteamiento para hallar la ecuación de un plano que pasa por 3 puntos . - A continuación, compruebe si el 4º punto satisface la ecuación obtenida en el paso 1. Es decir, poniendo el valor del 4º punto en la ecuación obtenida. Si satisface la ecuación, entonces los 4 puntos son coplanares, de lo contrario no.
A continuación se muestra la implementación de la idea anterior:
C++
// C++ program to check if 4 points // in a 3-D plane are Coplanar #include<bits/stdc++.h> using namespace std ; // Function to find equation of plane. void equation_plane(int x1,int y1,int z1,int x2,int y2,int z2, int x3, int y3, int z3, int x, int y, int z) { 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) ; // equation of plane is: a*x + b*y + c*z = 0 # // checking if the 4th point satisfies // the above equation if(a * x + b * y + c * z + d == 0) cout << "Coplanar" << endl; else cout << "Not Coplanar" << endl; } // Driver Code int main() { int x1 = 3 ; int y1 = 2 ; int z1 = -5 ; int x2 = -1 ; int y2 = 4 ; int z2 = -3 ; int x3 = -3 ; int y3 = 8 ; int z3 = -5 ; int x4 = -3 ; int y4 = 2 ; int z4 = 1 ; // function calling equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) ; return 0; // This code is contributed by ANKITRAI1 }
Java
//Java program to check if 4 points //in a 3-D plane are Coplanar public class GFG { //Function to find equation of plane. static void equation_plane(int x1,int y1,int z1,int x2,int y2,int z2, int x3, int y3, int z3, int x, int y, int z) { 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) ; // equation of plane is: a*x + b*y + c*z = 0 # // checking if the 4th point satisfies // the above equation if(a * x + b * y + c * z + d == 0) System.out.println("Coplanar"); else System.out.println("Not Coplanar"); } //Driver Code public static void main(String[] args) { int x1 = 3 ; int y1 = 2 ; int z1 = -5 ; int x2 = -1 ; int y2 = 4 ; int z2 = -3 ; int x3 = -3 ; int y3 = 8 ; int z3 = -5 ; int x4 = -3 ; int y4 = 2 ; int z4 = 1 ; //function calling equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) ; } }
Python3
# Python program to check if 4 points # in a 3-D plane are Coplanar # Function to find equation of plane. def equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x, y, z): 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) # equation of plane is: a*x + b*y + c*z = 0 # # checking if the 4th point satisfies # the above equation if(a * x + b * y + c * z + d == 0): print("Coplanar") else: print("Not Coplanar") # Driver Code x1 = 3 y1 = 2 z1 = -5 x2 = -1 y2 = 4 z2 = -3 x3 = -3 y3 = 8 z3 = -5 x4 = -3 y4 = 2 z4 = 1 equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)
C#
// C# program to check if 4 points // in a 3-D plane are Coplanar using System; class GFG { // Function to find equation of plane. static void equation_plane(int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3, int x, int y, int z) { 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) ; // equation of plane is: a*x + b*y + c*z = 0 # // checking if the 4th point satisfies // the above equation if(a * x + b * y + c * z + d == 0) Console.WriteLine("Coplanar"); else Console.WriteLine("Not Coplanar"); } // Driver Code static public void Main () { int x1 = 3 ; int y1 = 2 ; int z1 = -5 ; int x2 = -1 ; int y2 = 4 ; int z2 = -3 ; int x3 = -3 ; int y3 = 8 ; int z3 = -5 ; int x4 = -3 ; int y4 = 2 ; int z4 = 1 ; //function calling equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4); } } // This code is contributed by jit_t
PHP
<?php // PHP program to check if 4 points // in a 3-D plane are Coplanar // Function to find equation of plane. function equation_plane($x1, $y1, $z1, $x2, $y2, $z2, $x3, $y3, $z3, $x, $y, $z) { $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); // equation of plane is: // a*x + b*y + c*z = 0 # // checking if the 4th point // satisfies the above equation if($a * $x + $b * $y + $c * $z + $d == 0) echo ("Coplanar"); else echo ("Not Coplanar"); } // Driver Code $x1 = 3; $y1 = 2; $z1 = -5; $x2 = -1; $y2 = 4; $z2 = -3; $x3 = -3; $y3 = 8; $z3 = -5; $x4 = -3; $y4 = 2; $z4 = 1; // function calling equation_plane($x1, $y1, $z1, $x2, $y2, $z2, $x3, $y3, $z3, $x4, $y4, $z4); // This code is contributed // by Shivi_Aggarwal ?>
Javascript
<script> //javascript program to check if 4 points //in a 3-D plane are Coplanar // Function to find equation of plane. function equation_plane(x1 , y1 , z1 , x2 , y2 , z2 , x3 , y3 , z3 , x , y, z) { 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); // equation of plane is: a*x + b*y + c*z = 0 # // checking if the 4th point satisfies // the above equation if (a * x + b * y + c * z + d == 0) document.write("Coplanar"); else document.write("Not Coplanar"); } // Driver Code var x1 = 3; var y1 = 2; var z1 = -5; var x2 = -1; var y2 = 4; var z2 = -3; var x3 = -3; var y3 = 8; var z3 = -5; var x4 = -3; var y4 = 2; var z4 = 1; // function calling equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4); // This code is contributed by Rajput-Ji </script>
Producción:
Coplanar
Publicación traducida automáticamente
Artículo escrito por AashutoshChauhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA