how to project images on the side walls of a 3D surf plot
    6 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Sven
      
 on 27 Feb 2014
        
      Edited: Sven
      
 on 27 Feb 2014
  
      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 Comments
  Gabriele Barbaraci
 on 26 Sep 2018
				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
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

