How do I plot this set as 3d region in matlab?

15 Ansichten (letzte 30 Tage)
Saurabh Madankar
Saurabh Madankar am 9 Sep. 2022
Bearbeitet: Bruno Luong am 9 Sep. 2022
This is the set I need to plot-
.
My main purpose is to see how this set is convex, so I am trying to plot this graph in MATLAB, but don't know how to. I tried using surf but couldn't plot it correctly.
  1 Kommentar
Bruno Luong
Bruno Luong am 9 Sep. 2022
Bearbeitet: Bruno Luong am 9 Sep. 2022
From the equation, the set Q(x,y) is intersection of paraboloid and 4 half spaces, all are convex so it must be convex.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 9 Sep. 2022
Bearbeitet: Matt J am 9 Sep. 2022
This will plot the hull for x=y=0; Looks pretty convex (as we knew it must be).
x=0;y=0;
fcn=@(u,v,z)x.^2+y.^2+u.^2+v.^2-z + 0./(abs(u)<=1) +0./(abs(v)<=1);
ax=[-2 2 -2 2 0 5];
fimplicit3(fcn,ax)
axis(ax); xlabel 'U', ylabel 'V', zlabel 'Z'

Weitere Antworten (1)

Bruno Luong
Bruno Luong am 9 Sep. 2022
Bearbeitet: Bruno Luong am 9 Sep. 2022
Code that plot ALL the boundaries of the domain
x = 0;
y = 0;
c = 1+x^2+y^2;
f1 = @(u,v,z) z - (u.^2 + v.^2 + c);
f2 = @(u,v,z) 1 - abs(u);
f3 = @(u,v,z) 1 - abs(v);
d = @(u,v,z) min(abs(cat(4,f1(u,v,z),...
f2(u,v,z),...
f3(u,v,z))),[],4);
s = @(u,v,z) f1(u,v,z)>=0 & ...
f2(u,v,z)>=0 & ...
f3(u,v,z)>=0;
f = @(u,v,z) d(u,v,z).*(2*s(u,v,z)-1);
fimplicit3(f,[-2 2 -2 2 0 5])
xlabel('u')
ylabel('v')
zlabel('z');

Kategorien

Mehr zu Computational Geometry finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by