MATLAB: Linking two axes with rotate3D

axesdigital image processingrotate3d

I have two plots in a figure:
ax1 = subplot(1,2,1); surf(peaks); ax2 = subplot(1,2,2); surf(membrane);
Now rotate3d can rotate the data. I want to use it on axes 1 and want callback to automatically rotate the membrane plot with the same angle
I tried to get it using the post callback function but I am not successful.
function mypostcallback(obj,evd) k=get(obj,'Children') newView = round(get(evd.Axes,'View')) axes(k(end)) % hopnig my second axes is the last one. view([newView])
Can someone help me?

Best Answer

h(1) = figure(1);
v(1) = plot3(rand(10,1),rand(10,1),rand(10,1));
h(2) = figure(3);
v(2) = plot3(rand(10,1),rand(10,1),rand(10,1));
aH = cell2mat(ancestor(v,'axes'));
linkprop(aH,'CameraPosition');
The two plots should rotate together now.