Plot a plane or line in 3D

User specifies two independent vectors, and the corresponding plane is graphed.
5.3K Downloads
Updated 26 Dec 2008

No License

The user supplies two independent 3x1 vectors, and output is a graph of the plane generated by these two vectors. A single input of one 3x2 matrix is also ok.

The user may specify just one vector. The plot will
then be just the line generated by that vector.

The plot will also be a line if the two input vectors are linearly
dependent.

Optional 3rd argument: User may also specify a string that determines the plot style of the plane, using the same string options as for MATLAB's plot function.

OTHER FUNCTIONS REQUIRED: arrow3D.m (by Shawn Arseneau), column3D.m, scatter3_2.m, normalize.m, rotatePoints.m
(all of these are included in zip file)

EXAMPLE: >> plotp([1;1;1],[2;2;-4])
>> plotp([1;1;1],[3;-3;0],'m')

EXAMPLE: for matrix of rank 1, plot the 2 dimensional nullspace (a plane), and 1 dimensional row space (a line), the two should be visibly orthogonal subspaces

>> A=[1 0 0; 2 0 0; 3 0 0]

A =

1 0 0
2 0 0
3 0 0

>> hold on
>> plotp(null(A))
>> plotp(orth(A'),'m')

Cite As

Calvin Price (2024). Plot a plane or line in 3D (https://www.mathworks.com/matlabcentral/fileexchange/22158-plot-a-plane-or-line-in-3d), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Surfaces, Volumes, and Polygons in Help Center and MATLAB Answers
Tags Add Tags
Acknowledgements

Inspired by: 3D Arrow with many color/parameter options

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

Added "rotatePoints.m" into zip file; file is needed for arrow3D.m (by Shawn Arseneau)

1.0.0.0