What is the equation for a 3D line?

Just like we have the equation $y=mx+b$ for $\mathbb{R}^{2}$, what would be a equation for $\mathbb{R}^{3}$? Thanks.

Here are three ways to describe the formula of a line in $3$ dimensions. Let's assume the line $L$ passes through the point $(x_0,y_0,z_0)$ and is traveling in the direction $(a,b,c)$.

Vector Form

$$(x,y,z)=(x_0,y_0,z_0)+t(a,b,c)$$

Here $t$ is a parameter describing a particular point on the line $L$.

Parametric Form

$$x=x_0+ta\\y=y_0+tb\\z=z_0+tc$$

These are basically the equations that result from the three components of vector form.

Symmetric Form

$$\frac{x-x_0}{a}=\frac{y-y_0}{b}=\frac{z-z_0}{c}$$

Here we assume $a,b,$ and $c$ are all nonzero. All we've done is solve the parametric equations for $t$ and set them all equal.

• In my opinion, the symmetric form is the most useless one. May 28, 2013 at 4:05
• @Hawk, Can you please explain your point? Nov 5, 2017 at 5:24
• t is an index of step from xo,yo,zo to xn,yn,zn ... as this is an typical stepping function. If you calculate t you will find at which fraction of the line (a,b,c) -> (x0,y0,z0) is point with coordinates (x,y,z) Dec 2, 2018 at 20:21
• @MrReality I'm programming a line intersection with a z=z_0 plane. For my case, Hawk is wrong. Symmetric form immediately gives me the x and y values I wanted Mar 11, 2019 at 13:45
• @Jared, I have misunderstanding with normal form of a line. Is symmetric form == normal May 13, 2020 at 10:20

You can describe a line in space as the intersection of two planes. Thus, $$\{(x,y,z)\in{\mathbb R}^3: a_1x+b_1y+c_1z=d_1 \text{ and } a_2x+b_2y+c_2z=d_2\}.$$ Alternatively, you can use vector notation to describe it as $$\vec{p}(t) = \vec{p}_0 + \vec{d}t.$$

I used this relationship to generate this picture:

This is largely a topic that you will learn about in a third semester calculus course, at least in the states.

• One representation uses 8 numbers and the other uses 6. Is there a representation that uses fewer than 6? Jul 9, 2016 at 3:15
• @SamuelDanielson Spherical Coordinates: theta, phi, x0, y0, z0. May 3, 2017 at 14:37
• Could you say what program you used to draw this graph? Nov 29, 2017 at 18:18
• @TurkhanBadalov I used Mathematica. Nov 29, 2017 at 19:47
• @SamuelDanielson A representations with 4 coordinates is the minimum, e.g. based on the nearest point to the origin and an angle about that axis in which it points, or based on a line direction in theta/phi sphericals and a cylindrical offset from the origin. Mar 24 at 23:49

When I originally asked this question, I was not expecting these seemingly indirect ways of describing a line, such as an intersection of two planes, or vector equations. Just like how $$y=mx+b$$ is the equation of a line in $$2$$D, I was expecting some sort of equation $$z = f(x, y)$$, where $$f$$ is some nice elementary function. I am writing this answer for anyone who has this same idea that I did. I want to quickly explain why the equation of a line cannot be $$z = f(x, y)$$, where $$f$$ is a nice function.

The problem is that if $$f$$ is a nice function, then it is probably defined for all pairs $$(x, y)$$, or almost all. That means that if you try to graph it, there will be a point of the graph of $$f$$ above almost every point of the floor, so the graph of $$f$$ cannot be a line.

Another way to say it is this: imagine the graph of the line. If we want an equation $$f(x, y)$$ for the line, the domain of $$f$$ can only be the shadow of the line on the $$xy$$ plane. But any nice function $$f$$ will have as a domain either all pairs $$(x, y)$$, or almost all of them.

With all of that being said, it is possible to cook up a function $$f(x, y)$$ whose graph is a line. We know that if we could take a plane, for example $$g(x, y) = x+y$$, and somehow restrict its domain to a line on the $$xy$$ plane, that would give us a line in $$xyz$$ space. Here is one way to do it: $$f(x, y) = x+y+\sqrt{-(y-x)^2}$$

The expression $$-(y-x)^2$$ is $$\le 0$$ for any $$x, y$$ and it equals zero precisely when $$y = x$$. Therefore $$\sqrt{-(y-x)^2}$$ will only be defined precisely when $$y = x$$, and when $$y$$ does equal $$x$$, $$f(x, y) = x+y$$. Thus the graph of $$f$$ is a line in 3D space.

• For a line, the number of coordinates that can be freely determined is one. However, in this function, f(x,y), there are two. So it is impossible to write it in this form.
– ANuo
Aug 21, 2020 at 6:56
• @ANuo It's inconvenient, but no impossible. Please see the updated answer.
– Ovi
Feb 15, 2021 at 15:29

I am giving you an example. Let $$A(-2,0,1),~~B(4,5,3)$$ be two points in $$\mathbb R^3$$. And let $$C$$ be the end point for the vector which is drawn from the origin. In addition, we assume that this vector has the same direction as the vector $$AB$$. So we have its coordinates is $$(4,5,3)-(-2,0,1)=(6,5,2)$$. Therefore the equation of the line passing through $$A$$ and $$B$$ is $$L_{AB}: x=(-2,0,1)+t(6,5,2)$$

• Please advise my friend if you have the time.Thank you. math.stackexchange.com/questions/404862/… May 28, 2013 at 16:58
• @BabakS.: Nice answer + 1, and congratulations on doing 1000 edit reviews - I know how hard those are to do my friend! May 28, 2013 at 19:45
• @Amzoti: Thanks so much. Yes indeed it was. Huuuh :-) May 28, 2013 at 19:46
• Hello, dear friend! I hope your students did well on the exam you gave them! May 29, 2013 at 0:28
• @amWhy: I am red-penciling their jobs. They were not so bad. May 29, 2013 at 4:26

I love your answer for a line equation in the form of z = f(x, y)... Unfortunately calculating square roots can be impractical from the calculational standpoint and hence I really doubt any plotting software will be able to graph it correctly.

I was thinking of a little bit different approach in order to achieve this. Based on a symmetric equation of a line. However it requires some support for if ... else logic.

$$z=if\:\left(\frac{x}{2}+1=\frac{y}{3}+2\right)\:then\left(\frac{x}{5}+3\right)\:else\left(undefined\right)$$

Of course the advantage here is that it's easy to read and you can potentially define any line in $$R^3$$ by changing the constant parameters. In practice though, even when conditional statements are supported, for example in GeoGebra - it still fails to actually draw the line.

Besides the parametric form, another equation of a line in 3D to get it in the form $$f(x,y,z)=0$$ could be written as: $$\frac{\mathbf{r}-\mathbf{r_0}}{|\mathbf{r}-\mathbf{r_0}|} \cdot \mathbf{n} = 1$$

Here $$\mathbf{r}=(x,y,z)$$ is a vector representing any general point on the line. $$\mathbf{r_0}=(x_0,y_0,z_0)$$ is a given point that lies on the line. $$\mathbf{n}=(n_x,n_y,n_z)$$ is a given unit vector (that has a magnitude of unity) that is parallel to the line. If two separate points $$\mathbf{r_1}$$ and $$\mathbf{r_2}$$ are given through which the line passes, then we could write $$\mathbf{n} = \frac{\mathbf{r_2}-\mathbf{r_1}}{|\mathbf{r_2}-\mathbf{r_1}|}$$.

Written differently, the equation would read: $$(x-x_0)n_x + (y-y_0)n_y + (z-z_0)n_z - \sqrt{(x-x_0)^2+(y-y_0)^2+(z-z_0)^2} = 0$$

This is a quadratic equation in, say, $$z$$, in that a closed form solution could be written for $$z$$ in terms of $$x, y$$ and other given parameters. However, it is not easy to see that this equation should lead to a real solution for $$z$$ for only a specific subset of $$x, y$$ pairs on the $$x-y$$ plane.