transform infinite plane into finite circular plane

1 Ansicht (letzte 30 Tage)
Alberto Acri
Alberto Acri am 24 Sep. 2023
Bearbeitet: Bruno Luong am 25 Sep. 2023
Is it possible to generate a plan of limited dimensions, for example a 10x10 square?
line = importdata("line_w.mat");
normal = importdata("normal_w.mat");
row = 10; % variabile
P = line(row,:);
plane = normal(row,:);
a=plane(1); b=plane(2); c=plane(3);
d=dot(plane,P);
figure
plot3(line(:,1),line(:,2),line(:,3),'r.','Markersize',10);
hold on
plot3(P(:,1),P(:,2),P(:,3),'b.','Markersize',15);
fimplicit3(@(x,y,z) a*x+b*y+z*c-d)
hold off
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
xlim([0 50])
ylim([-50 20])

Akzeptierte Antwort

Matt J
Matt J am 24 Sep. 2023
Bearbeitet: Matt J am 24 Sep. 2023
You can use patch.
[a,b,c]=deal(1); %fake input data
P=[1 1 1];
R=2;
t=(0:359)';
V=R*[cosd(t),sind(t)]*null([a,b,c])' + P(:)';
patch(V(:,1), V(:,2),V(:,3),'r'); axis square
view(40,25); grid on
  6 Kommentare
Alberto Acri
Alberto Acri am 25 Sep. 2023
I would not know. At the moment any orientation is fine.
Bruno Luong
Bruno Luong am 25 Sep. 2023
Bearbeitet: Bruno Luong am 25 Sep. 2023
[a,b,c]=deal(1); %fake input data
P=[1 1 1];
% ellipse principla axis lengths
R1=1;
R2=5;
t=(0:359)';
V=[cosd(t),sind(t)]*diag([R1,R2])*null([a,b,c])' + P(:)';
patch(V(:,1), V(:,2),V(:,3),'r'); axis square
view(40,25); grid on

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 24 Sep. 2023
Perhaps try rescaling the appropriate variables with rescale.
  1 Kommentar
Alberto Acri
Alberto Acri am 24 Sep. 2023
Bearbeitet: Alberto Acri am 24 Sep. 2023
Thanks for the response. Could you tell me how to obtain the matrix to use in 'rescale'?
Also, is it possible to generate, on that plane created with fimplicit3, a circular-shaped plane defined by the radius R?

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by