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.

1 visualizzazione (ultimi 30 giorni)
Tamás Zsombor Tolvaj il 13 Apr 2022
Commentato: Image Analyst il 13 Apr 2022
This is what I have done so far (first is the function calling code, it wasnt made by me, only the function):
x=-4:0.1:4;
y=-4:0.1:4;
[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)
C=gradient(Z);
[U, V, W]=surfnorm(X, Y, Z);
U=U;
V=V;
W=W;
fig1=figure(1);
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');
end
0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

Risposta accettata

Daniel Vieira il 13 Apr 2022
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 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Tamás Zsombor Tolvaj il 13 Apr 2022
Thank you! It works properly now! Ive actually managed to pull off something with abs(Cy), but it wasnt good. I tried this magnitude thing, and it worked. Ive only used Matlab for like 2-3 months now, and the final is coming soon. Thank you once again!
Image Analyst il 13 Apr 2022
@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. 🙂

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by