How to draw a Plane perpendicular to a line and then generate multiple planes at regular intervals

10 visualizzazioni (ultimi 30 giorni)
If I have a line defined by
P1 = [1, -1, 3];
P2 = [2, 3, 4];
How can I draw a plane perpendicular to this line please. I have read the previous posts on this but I m not clear how to draw the surface. Plane can be initially at the mid point of the line.
Then I want to be able to generate multiple planes at regular intervals .
Thanks

Risposta accettata

Arya Chandan Reddy
Arya Chandan Reddy il 29 Giu 2023
Modificato: Arya Chandan Reddy il 29 Giu 2023
Hi, I understand that you are trying to generate a plane perpendicular to the line joining those two points. In 3d geometry any plane is defined by the equation ax + by + cz = d , where [a b c] is the direction of plane's normal ( which is perpendicular to the plane )
Hence, direction of normal is P2 - P1. [a b c]
And the dot product of normal and the mid point gives d.
surf helps us plot the planar surface and plot3 to plot 3-d line.
Here is the code
P1 = [1, -1, 3];
P2 = [2, 3, 4];
midpoint = (P1 + P2) / 2;
normal = P2 - P1;
% Create a grid of points for the plane
[X, Y] = meshgrid(-10:10, -10:10);
Z = (-normal(1) * X - normal(2) * Y + dot(normal, midpoint)) / normal(3);
% Plot the plane
figure;
hold on;
surf(X, Y, Z,'FaceAlpha', 0.5);
plot3([P1(1), P2(1)], [P1(2), P2(2)], [P1(3), P2(3)], 'r', 'LineWidth', 2);
hold off;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Plane Perpendicular to Line Joining Two Points');
grid on;
axis equal;
Refer the documentation for better understanding
Hope it helps.
  4 Commenti

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by