How can I plot a 3D plane knowing its center point coordinates and its Normal
78 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Abeer Heikal
le 22 Juin 2016
Réponse apportée : Nitin Phadkule
le 18 Sep 2021
How can I plot a 3D plane knowing its center point coordinates and its Normal ?
0 commentaires
Réponse acceptée
Roger Stafford
le 23 Juin 2016
Modifié(e) : Roger Stafford
le 23 Juin 2016
Using Dr. Siva’s notation with the point at (x1,y1,z1) and normal vector v = [a,b,c], (v should be a row vector,) you can plot a surface version of the plane with this:
w = null(v); % Find two orthonormal vectors which are orthogonal to v
[P,Q] = meshgrid(-50:50); % Provide a gridwork (you choose the size)
X = x1+w(1,1)*P+w(1,2)*Q; % Compute the corresponding cartesian coordinates
Y = y1+w(2,1)*P+w(2,2)*Q; % using the two vectors in w
Z = z1+w(3,1)*P+w(3,2)*Q;
surf(X,Y,Z)
2 commentaires
Roger Stafford
le 27 Juin 2016
If I understand you correctly Abeer, I have to disagree with your statement that "there can be infinite number of 3D planes". For a 3D plane to have a given normal direction and to contain a given point makes that plane absolutely unique - no other such plane is possible. Remember, we are speaking of mathematically perfectly flat planes, not curved ones.
Plus de réponses (2)
KSSV
le 22 Juin 2016
You know a point (x1,y1,z1) and normal vector (a,b,c). Then equation of plane should be:
a(x-x1)+b(y-y1)+c(z-z1) = 0 ;
1 commentaire
Nitin Phadkule
le 18 Sep 2021
% ax+by+cz+d plane
% 3x+2y+6z+2 plane
y =linspace(-4,4,51);
a=3;b=2;c=6;d=2;
x =linspace(-4,4,51);
[y2,x2]=meshgrid(y ,x );
z2=(1/c).*(d+(a.*x2)+(b.*y2));% ax+by+cz+d plane
surf( x2,y2,z2 );
0 commentaires
Voir également
Catégories
En savoir plus sur Scatter Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!