Surface plot of function over triangular domain

16 visualizaciones (últimos 30 días)
Gaudio
Gaudio el 21 de Ag. de 2015
Comentada: Bruno Luong el 29 de Abr. de 2022
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 comentarios
Gaudio
Gaudio el 26 de Ag. de 2015
Hello everybody,
I was able to solve my Problem with DelaunayTriangulation and inpolygon.
Best, Gauido
Noah Stam
Noah Stam el 29 de Abr. de 2022
Can you elaborate on your solution? :P

Iniciar sesión para comentar.

Respuestas (1)

Bruno Luong
Bruno Luong el 29 de Abr. de 2022
Editada: Bruno Luong el 29 de Abr. de 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 comentarios
Noah Stam
Noah Stam el 29 de Abr. de 2022
Thanks a lot!
Bruno Luong
Bruno Luong el 29 de Abr. de 2022
You are welcome. Please accept the answer if it helps. Thanks

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by