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

21 次查看(过去 30 天)
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

采纳的回答

Arya Chandan Reddy
Arya Chandan Reddy 2023-6-29
编辑:Arya Chandan Reddy 2023-6-29
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by