how to project images on the side walls of a 3D surf plot
조회 수: 29(최근 30일)
표시 이전 댓글
USing for example the next surf plot:
[X,Y,Z] = peaks(30);
surfc(X,Y,Z)
(in my script, X, Y and Z are vectors)
I would like to complete the next 2 tasks:
a. to project an image into one of the side walls which are white. b. to have the projection of the Z-X array (2D plot) in the other white side wall.
Is that possible? If yes, any help or idea is more than welcome. thank you,
댓글 수: 0
채택된 답변
Sven
2014년 2월 27일
편집: Sven
2014년 2월 27일
Hi Konstantinos,
Does this code get you on your way?
R = 0:0.1:1;
z = cos(-R); % that'd be your current y-function
th = 0:pi/20:2*pi;
X = bsxfun(@times,R',cos(th)) + 1;
Y = bsxfun(@times,R',sin(th)) + 1;
Z = repmat(z',1,length(th));
clf,surf(X,Y,Z)
box
hold on
axis image
C = surfc(Z,X,Y);
delete(C(1))
for i = 2:length(C)
Ch = C(i);
set(C(i),'ZData',get(C(i),'XData'))
set(C(i),'XData',get(C(i),'XData')*0)
end
If that's not what you're looking for, can you elaborate on the question?
Thanks, Sven.
댓글 수: 9
Gabriele Barbaraci
2018년 9월 26일
figure(1) surf(x,y,Lfr) xlabel('r_w[m]=radius of wire') ylabel('d[m]=distance between wires') zlabel('Inductance[H]') title('Partial Mutual-Inductance for Round Cross Section Wire') hold on for X=0.001:0.001:0.05; plot3(0*ones(size(rw)),d,(u0/(2*pi))*L*(log((L./(d+X))+sqrt((L./(d+X)).^2+1))+((d+X)./L)-sqrt(1+((d+X)./L).^2))) hold on end
추가 답변(0개)
참고 항목
범주
Find more on Surface and Mesh Plots 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!