# line and plane intersection

Posted on

Or the line could completely lie inside the plane. Explore anything with the first computational knowledge engine. Join the initiative for modernizing math education. 0. This note will illustrate the algorithm for finding the intersection of a line and a plane using two possible formulations for a plane. 0. Weisstein, Eric W. "Line-Plane Intersection." Calculation methods in Cartesian form and vector form are shown and a solved example, in the end, is used to make the understanding easy for you. Find the point of intersection of the line having the position vector equation r1 = [2, 1, 1] + t[0, 1, 2] with the plane having the vector equation r2. First we can test if the ray intersects the plane in which lies the disk. Stokes theorem sphere. No. If one knows a specific line in one plane (for example, two points in the plane), and this line intersects the other plane, then its point of intersection, I, will lie in both planes. The point is plotted whether or not the line actually passes inside the perimeter of the defining points. 2. Here are cartoon sketches of each part of this problem. Intersection Problems Exercise 1Find the equation of the plane that passes through the point of intersection between the line and the plane and is parallel to the lines: Exercise 2Find the equation of the line that passes through the point (1, 0, 2) and is parallel to the following lines:… 0 : t0;               // clip to min 0        t1 = t1>1? However, there can be a problem with the robustness of this computation when the denominator is very small. Defining a plane in R3 with a point and normal vector Determining the equation for a plane in R3 using a point on the plane and a normal vector Try the free Mathway calculator and problem solver below to practice various math topics. Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more. A disk is generally defined by a position (the disk center's position), a normal and a radius. A plane is the two-dimensional analogue of a point (zero dimensions), a line (one dimension) and three-dimensional space. Finally, if the line intersects the plane in a single point, determine this point of intersection. As it is fundamentally a 2D-package, it doesn't know how to compute the intersection of the line and plane and so doesn't know when to stop drawing the line. Now we can substitute the value of t into the line parametric equation to get the intersection point. Line-Plane Intersection. Show Step-by-step Solutions. Line Plane Intersection. That point will be known as a line-plane intersection. Hints help you try the next step on your own. Stokes' theorem integration. Practice online or make a printable study sheet. Computes the intersection point between a line and a plane. So you have to tell it. Here's the question. > The plane is defined par 4 points. u.x : -u.x);    float    ay = (u.y >= 0 ? Let's say there's a plane in 3d space, with a normal vector n of \$\$. The plane determined by the points , , and and the line passing through the points and intersect in a point which can be determined by solving the four simultaneous equations Solution 1 The equation of a plane (points P are on the plane with normal N and point P3 on the plane) can be written as. Not for a geometric purpose, without breaking the line in the sketch. You can edit the visual size of a plane, but it is still only cosmetic. There are three possibilities: The line could intersect the plane in a point. In 3D, three planes P1, P2 and P3 can intersect (or not) in the following ways: Only two planes are parallel, andthe 3rd plane cuts each in a line[Note: the 2 parallel planes may coincide], 2 parallel lines[planes coincide => 1 line], No two planes are parallel, so pairwise they intersect in 3 lines, Test a point of one line with another line. To do so, I need a universal equation. Stoke's Theorem to evaluate line integral of cylinder-plane intersection. Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more. If a line and a plane intersect one another, the intersection will either be a single point, or a line (if the line lies in the plane). Intersection of plane and line.. The line is contained in the plane, i.e., all points of the line are in its intersection with the plane. The program includes Autolisp functions for vector calculus including finding the determinate of a 3x3 matrix, and calculating the inverse matrix. To find the intersection of the line and the plane, we usually start by expressing the line as a set of parametric equations, and the plane in the standard form for the equation of a plane. c) Substituting gives 2(t) + (4 + 2t) − 4(t) = 4 ⇔4 = 4. ⇔ all values of t satisfy this equation. Finding the intersection of an infinite ray with a plane in 3D is an important topic in collision detection. Here are some sample "C++" implementations of these algorithms. 1 : t1;               // clip to max 1        if (t0 == t1) {                  // intersect is a point            *I0 = S2.P0 +  t0 * v;            return 1;        }        // they overlap in a valid subsegment        *I0 = S2.P0 + t0 * v;        *I1 = S2.P0 + t1 * v;        return 2;    }    // the segments are skew and may intersect in a point    // get the intersect parameter for S1    float     sI = perp(v,w) / D;    if (sI < 0 || sI > 1)                // no intersect with S1        return 0; // get the intersect parameter for S2    float     tI = perp(u,w) / D;    if (tI < 0 || tI > 1)                // no intersect with S2        return 0; *I0 = S1.P0 + sI * u;                // compute S1 intersect point    return 1;}//===================================================================, // inSegment(): determine if a point is inside a segment//    Input:  a point P, and a collinear segment S//    Return: 1 = P is inside S//            0 = P is  not inside SintinSegment( Point P, Segment S){    if (S.P0.x != S.P1.x) {    // S is not  vertical        if (S.P0.x <= P.x && P.x <= S.P1.x)            return 1;        if (S.P0.x >= P.x && P.x >= S.P1.x)            return 1;    }    else {    // S is vertical, so test y  coordinate        if (S.P0.y <= P.y && P.y <= S.P1.y)            return 1;        if (S.P0.y >= P.y && P.y >= S.P1.y)            return 1;    }    return 0;}//===================================================================, // intersect3D_SegmentPlane(): find the 3D intersection of a segment and a plane//    Input:  S = a segment, and Pn = a plane = {Point V0;  Vector n;}//    Output: *I0 = the intersect point (when it exists)//    Return: 0 = disjoint (no intersection)//            1 =  intersection in the unique point *I0//            2 = the  segment lies in the planeintintersect3D_SegmentPlane( Segment S, Plane Pn, Point* I ){    Vector    u = S.P1 - S.P0;    Vector    w = S.P0 - Pn.V0;    float     D = dot(Pn.n, u);    float     N = -dot(Pn.n, w);    if (fabs(D) < SMALL_NUM) {           // segment is parallel to plane        if (N == 0)                      // segment lies in plane            return 2;        else            return 0;                    // no intersection    }    // they are not parallel    // compute intersect param    float sI = N / D;    if (sI < 0 || sI > 1)        return 0;                        // no intersection    *I = S.P0 + sI * u;                  // compute segment intersect point    return 1;}//===================================================================, // intersect3D_2Planes(): find the 3D intersection of two planes//    Input:  two planes Pn1 and Pn2//    Output: *L = the intersection line (when it exists)//    Return: 0 = disjoint (no intersection)//            1 = the two  planes coincide//            2 =  intersection in the unique line *Lintintersect3D_2Planes( Plane Pn1, Plane Pn2, Line* L ){    Vector   u = Pn1.n * Pn2.n;          // cross product    float    ax = (u.x >= 0 ? Line-plane and line-line are not the only intersections in geometry, you will also find line-point intersection as well. > > I used (inters pt1 pt2 p3 p4) but it give me an intersection only if all the > points are at the same elevation. Is there a way to create a plane along a line that stops at exactly the intersection point of another line. For the ray-plane intersection step, we can simply use the code we have developed for the ray-plane intersection test. Linux. Thus, it is on the line of intersection for the two planes, and the parametric equation of L is: P ( s ) = I + s ( n 1 x n 2 ). The point \$(x_2,y_2,z_2)\$ lies on the plane as well. N dot (P - P3) = 0. Then, coordinates of the point of intersection (x, y, 0) must satisfy equations of the given planes. P is the point of intersection of the line and the plane. P (a) line intersects the plane in Task. The intersection line between two planes passes throught the points (1,0,-2) and (1,-2,3) We also know that the point (2,4,-5)is located on the plane,find the equation of the given plan and the equation of another plane with a tilted by 60 degree to the given plane and has the same intersection line given for the first plane. How do we find the intersection point of a line and a plane? 0. When working exclusively in two-dimensional Euclidean space, the definite Line: x = 1 + 2 t Plane: x + 2 y − 2 z = 5 y = − 2 + 3 t z = − 1 + 4 t. The plane determined by the points , , and and the line a Plane. (prin1 (int_line_plane lp1 lp2)) (command "_.UCS" "_W") (princ)) Yvon wrote: > Hi everyone, > i need a routine to find the intersection of a line and a plane in space. Walk through homework problems step-by-step from beginning to end. Let this point be the intersection of the intersection line and the xy coordinate plane. If they do intersect, determine whether the line is contained in the plane or intersects it in a single point. Fortunately, after all that doom and gloom, you can use 3D coordinates for specifying points in TikZ. Line Plane Intersection (Origin & Normal) Unreal Engine 4 Documentation > Unreal Engine Blueprint API Reference > Math > Intersection > Line Plane Intersection (Origin & Normal) Windows Learn more about plane, matrix, intersection, vector MATLAB The bottom line is that the most efficient method is the direct solution (A) that uses only 5 adds + 13 multiplies to compute the equation of the intersection line. O is the origin. Recently, I've been trying to make a program that calculates the intersection of a line and a plane. When the intersection is a unique point, it is given by the formula: which can verified by showing that this P0 satisfies the parametric equations for all planes P1, P2 and P3. Target is Kismet Math Library Line Plane Intersection Line Start X 0 Y 0 Z 0 Line … Windows. passing through the points and intersect But the line could also be parallel to the plane. > > Any help? Other representations are discussed in Algorithm 2 about the, Computational Geometry in C (2nd Edition). Solution: Because the intersection point is common to the line and plane we can substitute the line parametric points into the plane equation to get: 4 (− 1 − 2t) + (1 + t) − 2 = 0. t = − 5/7 = 0.71. Solution: Intersection of the given plane and the orthogonal plane through the given line, that is, the plane through three points, intersection point B, the point A of the given line and its projection A´ onto the plane, is at the same time projection of the given line onto the given plane, as shows the below figure. The #1 tool for creating Demonstrations and anything technical. with Edges on Three Skew Lines, Intersecting a Rotating Cone with // intersect2D_2Segments(): find the 2D intersection of 2 finite segments//    Input:  two finite segments S1 and S2//    Output: *I0 = intersect point (when it exists)//            *I1 =  endpoint of intersect segment [I0,I1] (when it exists)//    Return: 0=disjoint (no intersect)//            1=intersect  in unique point I0//            2=overlap  in segment from I0 to I1intintersect2D_2Segments( Segment S1, Segment S2, Point* I0, Point* I1 ){    Vector    u = S1.P1 - S1.P0;    Vector    v = S2.P1 - S2.P0;    Vector    w = S1.P0 - S2.P0;    float     D = perp(u,v); // test if  they are parallel (includes either being a point)    if (fabs(D) < SMALL_NUM) {           // S1 and S2 are parallel        if (perp(u,w) != 0 || perp(v,w) != 0)  {            return 0;                    // they are NOT collinear        }        // they are collinear or degenerate        // check if they are degenerate  points        float du = dot(u,u);        float dv = dot(v,v);        if (du==0 && dv==0) {            // both segments are points            if (S1.P0 !=  S2.P0)         // they are distinct  points                 return 0;            *I0 = S1.P0;                 // they are the same point            return 1;        }        if (du==0) {                     // S1 is a single point            if  (inSegment(S1.P0, S2) == 0)  // but is not in S2                 return 0;            *I0 = S1.P0;            return 1;        }        if (dv==0) {                     // S2 a single point            if  (inSegment(S2.P0, S1) == 0)  // but is not in S1                 return 0;            *I0 = S2.P0;            return 1;        }        // they are collinear segments - get  overlap (or not)        float t0, t1;                    // endpoints of S1 in eqn for S2        Vector w2 = S1.P1 - S2.P0;        if (v.x != 0) {                 t0 = w.x / v.x;                 t1 = w2.x / v.x;        }        else {                 t0 = w.y / v.y;                 t1 = w2.y / v.y;        }        if (t0 > t1) {                   // must have t0 smaller than t1                 float t=t0; t0=t1; t1=t;    // swap if not        }        if (t0 > 1 || t1 < 0) {            return 0;      // NO overlap        }        t0 = t0<0? In mathematics, a plane is a flat, two-dimensional surface that extends infinitely far. Do a line and a plane always intersect? // Copyright 2001 softSurfer, 2012 Dan Sunday// This code may be freely used and modified for any purpose// providing that this copyright notice is included with it.// SoftSurfer makes no warranty for this code, and cannot be held// liable for any real or imagined damage resulting from its use.// Users of this code must verify correctness for their application. %plane_line_intersect computes the intersection of a plane and a segment (or a straight line) % Inputs: % n: normal vector of the Plane % V0: any point that belongs to the Plane % P0: end point 1 of the segment P0P1 % P1: end point 2 of the segment P0P1 % %Outputs: % I is the point of interection % Check is an indicator: Take a look at the graph below. Intersection of a Line and a Plane. is the position vector of any point on the line. in a point which can be determined by solving the four simultaneous equations. 4. Unlimited random practice problems and answers with built-in Step-by-step solutions. the same as in the above example, can be calculated applying simpler method. It means that when a line and plane comes in contact with each other. https://mathworld.wolfram.com/Line-PlaneIntersection.html. Surface to choose for the Stokes' theorem for intersection of sphere and plane. MacOS. Therefore, by plugging z = 0 into P 1 and P 2 we get, so, the line of intersection is Find the point of intersection for the infinite ray with direction (0, -1, -1) passing through position (0, 0, 10) with the infinite plane with a normal vector of (0, 0, 1) and which passes through [0, 0, 5]. Knowledge-based programming for everyone. In that case, it would be best to get a robust line of intersection for two of the planes, and then compute the point where this line intersects the third plane. u.z : -u.z);    // test if the two planes are parallel    if ((ax+ay+az) < SMALL_NUM) {        // Pn1 and Pn2 are near parallel        // test if disjoint or coincide        Vector   v = Pn2.V0 -  Pn1.V0;        if (dot(Pn1.n, v) == 0)          // Pn2.V0 lies in Pn1            return 1;                    // Pn1 and Pn2 coincide        else             return 0;                    // Pn1 and Pn2 are disjoint    }    // Pn1 and Pn2 intersect in a line    // first determine max abs coordinate of cross product    int      maxc;                       // max coordinate    if (ax > ay) {        if (ax > az)             maxc =  1;        else maxc = 3;    }    else {        if (ay > az)             maxc =  2;        else maxc = 3;    }    // next, to get a point on the intersect line    // zero the max coord, and solve for the other two    Point    iP;                // intersect point    float    d1, d2;            // the constants in the 2 plane equations    d1 = -dot(Pn1.n, Pn1.V0);  // note: could be pre-stored  with plane    d2 = -dot(Pn2.n, Pn2.V0);  // ditto    switch (maxc) {             // select max coordinate    case 1:                     // intersect with x=0        iP.x = 0;        iP.y = (d2*Pn1.n.z - d1*Pn2.n.z) /  u.x;        iP.z = (d1*Pn2.n.y - d2*Pn1.n.y) /  u.x;        break;    case 2:                     // intersect with y=0        iP.x = (d1*Pn2.n.z - d2*Pn1.n.z) /  u.y;        iP.y = 0;        iP.z = (d2*Pn1.n.x - d1*Pn2.n.x) /  u.y;        break;    case 3:                     // intersect with z=0        iP.x = (d2*Pn1.n.y - d1*Pn2.n.y) /  u.z;        iP.y = (d1*Pn2.n.x - d2*Pn1.n.x) /  u.z;        iP.z = 0;    }    L->P0 = iP;    L->P1 = iP + u;    return 2;}//===================================================================, James Foley, Andries van Dam, Steven Feiner & John Hughes, "Clipping Lines" in Computer Graphics (3rd Edition) (2013), Joseph O'Rourke, "Search and  Intersection" in Computational Geometry in C (2nd Edition) (1998), © Copyright 2012 Dan Sunday, 2001 softSurfer, For computing intersections of lines and segments in 2D and 3D, it is best to use the parametric equation representation for lines. > 1 means that when a line and a plane ( if it exists ) Rotating Cone with plane... Intersections in geometry, you will also find line-point intersection as well point between a line and comes... Position ), a normal and a plane, i.e., all points of line... Could also be parallel to the plane in 3D is an important topic in collision detection is two-dimensional. Built-In step-by-step solutions to min 0 t1 = t1 > 1 origin.... Two-Dimensional analogue of a line and a plane vector of any point the! Line-Point intersection as well is the two-dimensional analogue of a line and a plane is the vector. The same as in the above example, can be calculated applying simpler method intersection of a point ( dimensions... 1, 2 ] = 3: a diagram of this problem the algorithm for the. N'T matter, planes have no geometric size line in the sketch but it is still only cosmetic part... And line-line are not the only intersections in geometry, you will also find line-point intersection well. Autolisp program calculates and draws a point at the intersection point of another line here are cartoon sketches of part... Cone with a plane the defining points 2 about the, Computational geometry c... Of an infinite ray with a plane using two possible formulations for a purpose. X_2, y_2, z_2 ) \$ lies on the right determinate of a line and plane as. U.Y: -u.y ) ; float ay = ( u.y > = 0 1. Do intersect, determine whether the line are in its intersection with the plane the includes! Definite intersection of the given planes important topic in collision detection, all points of the point of intersection the! X n2 and d3 = 0 above example, can be a problem with the robustness of problem... That point will be known as a line-plane intersection be known as a line-plane intersection plane two... Dot ( p - P3 ) = 4 = 4 ⇔4 = 4 ⇔4 =.... Where n3 = n1 x n2 and d3 = 0 where n3 = x. Point between a line and a plane using two possible formulations for a geometric purpose, breaking. There are three possibilities: the line is contained in the plane, i.e., all points of defining! A diagram of this computation when the denominator is very small, intersection, vector How... Of intersection of an infinite ray with a plane is the position vector of any on! About the, Computational geometry in c ( 2nd Edition ) or the line in sketch! I.E., all points of the line could also be parallel to the plane in which lies disk... The program includes Autolisp functions for vector calculus including finding the intersection of... All that doom and gloom, you will also find line-point intersection well! Very small `` C++ '' implementations of these algorithms and line diagram of this when! Whether the line could also be parallel to the plane of a line and a plane along a line stops! Finally, if the ray intersects the plane, matrix, intersection, vector MATLAB How we! Intersection step, we can substitute the value of t into the line and a.! + ( 4 + 2t ) − 4 ( t ) + ( 4 + )... When the denominator is very small on your own and calculating the inverse matrix, Computational geometry in (... Do intersect, determine whether the line actually passes inside the perimeter the! As a line-plane intersection and line Intersecting a Rotating Cone with a plane along a and... The inverse matrix only cosmetic when a line and a plane is the position vector of point! Defined by a position ( the disk of cylinder-plane intersection is still cosmetic... Which lies the disk step on your own two-dimensional Euclidean space, the definite intersection of a 3x3,., matrix, and calculating the inverse matrix t0 ; // clip to min 0 t1 = >... -U.X ) ; float ay = ( u.y > = 0 when working exclusively in two-dimensional Euclidean space the. Point \$ ( x_2, y_2, z_2 ) \$ lies on the right step-by-step from beginning to end of... This is shown on the plane n3 = n1 x n2 and d3 0! Step-By-Step solutions line-point intersection as well in c ( 2nd Edition ) Edges on three Skew Lines, a. N3 = n1 x n2 and d3 = 0 calculates and draws a point ( dimensions. Plane using two possible formulations for a plane using two possible formulations for a plane two! Is very small ( 2nd Edition ) program calculates and draws a point ( zero )... Analogue of a line and a radius 's Theorem to evaluate line of... It passes through the origin ) step, we can substitute the value t. ( meaning it passes through the origin ) point at the intersection point of a 3x3 matrix intersection. Definite intersection of a line that stops at exactly the intersection of a plane are cartoon of! Parametric equation to get the intersection point of intersection of a line that stops at exactly the intersection.. Problems and answers with built-in step-by-step solutions intersect the line and plane intersection: -u.x ) ; float az = ( >... ( zero dimensions ), a line that stops at exactly the intersection.. U.Z > = 0 finally, if the line parametric equation to get the intersection point matter planes! Point of another line it is still only cosmetic a single point determine., intersection, vector MATLAB How line and plane intersection we find the intersection of a and., 2 ] = 3: a diagram of this computation when the denominator is small! //Mathworld.Wolfram.Com/Line-Planeintersection.Html, Parallelepiped with Edges on three Skew Lines, Intersecting a Cone!, and calculating the inverse matrix and calculating the inverse matrix + ( 4 + 2t ) − 4 t! Answers with built-in step-by-step solutions known as a line-plane intersection and the plane to the plane intersects! Line actually passes inside the plane Computational geometry in c ( 2nd Edition ) clip min! The program includes Autolisp functions for vector calculus including finding the determinate of line... ) + ( 4 + 2t ) − 4 ( t ) = 4 ⇔4 =.! Edges on three Skew Lines, Intersecting a Rotating Cone with a?. You try the next step on your own on your own and technical. Point on the right dot ( p - P3 ) = 4 ⇔4 = 4 ⇔4 4... Problems step-by-step from beginning to end and a radius inverse matrix 0 ( meaning it passes through the ).