• Remix
  • Share
  • New Entry

on 15 Nov 2023
  • 10
  • 17
  • 0
  • 0
  • 1157
drawframe(39);
function drawframe(f)
gamma = pchip([0 5 20 30 43 48],[0 0 -pi/2 -pi/2 0 0],f);
alpha = 0.3*gamma/(-pi/2);
t = linspace(0,2*pi,48);
ct = cos(t);
st = sin(t);
clf
hgt = hgtransform;
page = patch([0 1 1 0 0],[0 0 1 1 0],-0.01*[1 1 1 1 1],1 - alpha*[1 1 1], ...
EdgeColor=0.5*[1 1 1], ...
LineWidth=2);
face= patch(0.25*ct+0.5,0.25*st+0.5,-0.005*ones(size(t)), ...
"yellow", ...
EdgeColor="black",LineWidth=2);
eye11 = patch(0.02*ct+0.58,0.03*st+0.55,0*ones(size(t)), ...
"black", ...
EdgeColor="none");
eye21 = patch(0.02*ct+0.42,0.03*st+0.55,0*ones(size(t)), ...
"black", ...
EdgeColor="none");
mouth = patch([0.43 0.57 0.57 0.43],[0.39 0.39 0.42 0.42], ...
"black", ...
EdgeColor="none");
axis equal
axis([0.05 1 0 0.95])
axis off
face2 = copyobj(face,gca);
face2.ZData = face2.ZData-0.03;
eye12 = patch(0.02*ct+0.58,0.04*st+0.55,-0.03*ones(size(t)), ...
"black", ...
EdgeColor="none");
eye22 = patch(0.02*ct+0.42,0.04*st+0.55,-0.03*ones(size(t)), ...
"black", ...
EdgeColor="none");
mouth2 = patch(0.05*ct+0.5,0.05*st+0.4,-0.03*ones(size(t)), ...
"black", ...
EdgeColor="none");
set([page face eye11 eye21 mouth],Parent=hgt)
t1 = makehgtform("translate",[-1 1 0],"xrotate",gamma,"yrotate",gamma,"translate",[1 -1 0]);
hgt.Matrix = t1;
end
Animation
Remix Tree