Hello guys! I need a little help with 3d plotting. I need to do the coloring for the surface like this, but I cant get the yellowy parts to their correct positions.

조회 수: 2(최근 30일)
This is what I have done so far (first is the function calling code, it wasnt made by me, only the function):
[X, Y] = meshgrid(x,y);
Z = 2*(peaks(X, Y)-3);
[C,U,V,W,fig1,plt1,plt2,fig2,plt3,cl] = tengerpart(X,Y,Z)
function [C,U,V,W,fig1,plt1,plt2,fig2,plt3,cl] = tengerpart(X,Y,Z)
[U, V, W]=surfnorm(X, Y, Z);
plt1=surf(X, Y, Z, C);
xlim([-5 5]);
ylim([-5 5]);
zlim([-20 15]);
hold on;
plt2=quiver3(X, Y, Z, U, V, W, 'r');

채택된 답변

Daniel Vieira
Daniel Vieira 2022년 4월 13일
ok... what do you mean by "correct position" for the yellow parts? where is the correct?
strange things I noticed:
1) the "U=U; V=V; W=W" part means nothing, you can take that out.
2) when you do "C=gradient(Z);" you only get the x-component of the gradient, was that really your intention? to get both you shoud do "[Cx,Cy]=gradient(Z);".
  댓글 수: 4
Image Analyst
Image Analyst 2022년 4월 13일
@Tamás Zsombor Tolvaj, since it worked could you click the Accept this answer link to award @Daniel Vieira his "reputation points"? Thanks in advance. 🙂

댓글을 달려면 로그인하십시오.

추가 답변(0개)


Community Treasure Hunt

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

Start Hunting!

Translated by