Surface plot of function over triangular domain
17 views (last 30 days)
Show older comments
Hello,
I would like to create a surface plot over a triangular domain. The result should be a curved triangle. I have a little example here:
syms x y
z = x^2+y^2;
ezsurf(x,y,z);
hold on
% triangular domain with P(x,y)
P1 = [1,1];
P2 = [2,0.5];
P3 = [4,4];
plot([P1(1);P2(1);P3(1);P1(1)],[P1(2);P2(2);P3(2);P1(2)]);
All z values for x,y combinations inside the triangle shall be plotted. The rims should not look like steps. Do you have any suggestions?
Thanks a lot.
Ps: I am using Symbolic Math Toolbox (as you might see)
2 Comments
Answers (1)
Bruno Luong
on 29 Apr 2022
Edited: Bruno Luong
on 29 Apr 2022
P1 = [1,1];
P2 = [2,0.5];
P3 = [4,4];
zfun = @(x,y) x.^2+y.^2;
% Create triangular mesh of triangla P1,P2,P3
n=20;
[I,J]=meshgrid(linspace(0,1,n));
keep=I+J <= 1+eps;
IJ = [I(keep),J(keep)];
K = 1-sum(IJ,2);
F=delaunay(IJ);
IJK = [IJ,K];
XY=IJK*[P1;P2;P3];
x=XY(:,1);
y=XY(:,2);
trisurf(F,x,y,zfun(x,y))
2 Comments
See Also
Categories
Find more on Number Theory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!