Peppa Pig on Non-Orientable Smooth Manifold

Source: https://community.wolfram.com/groups/-/m/t/1594536
Author: Shenghui Yang

Test code on small samples:

In[]:=
Withsurf=SurfaceData
Möbius strip
SURFACE
,"ParametricEquations"[1],​​TableWithpic=GraphicsGridConstantArrayRotate
,kDegree,{9,2},Rasterize@ParametricPlot3D[surf[u,v],{u,-0.5,0.5},{v,-π,π},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8],PlotPoints25,ViewPoint{1.5,-0.5,1.5}],{k,{0,45,90}}​​
Out[]=

,
,


To generate the first gif in the post:

res1=Withsurf=SurfaceData
Möbius strip
SURFACE
,"ParametricEquations"[1],​​TableWithpic=GraphicsGridConstantArrayRotate
,kDegree,{9,2},Rasterize@ParametricPlot3D[surf[u,v],{u,-0.5,0.5},{v,-π,π},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8],PlotPoints25,ViewPoint{1.5,-0.5,1.5}],{k,Range[0,360,8]~Join~Reverse[Range[0,360,8]]}​​
In[]:=
Export["anim.gif",res1]
Out[]=
anim.gif

To generate rotating Peppa on a cylinder - animation

res2=TableWithsurf={Cos[#1],Sin[#1],#2}&,​​pic=GraphicsGridConstantArrayRotate
,kDegree,{2,8},Rasterize@ParametricPlot3D[surf[u,v],{u,0,2π},{v,-1,1},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8]],{k,Range[0,360,8]~Join~Reverse[Range[0,360,8]]};
In[]:=
Export["anim2.gif",res2]
Out[]=
anim2.gif

To generate Peppa flow on Möbius

res3=Withsurf=SurfaceData
Möbius strip
SURFACE
,"ParametricEquations"[1],​​pic=GraphicsGridConstantArrayRotate
,10Degree,{9,2},Table[Rasterize@ParametricPlot3D[surf[u,v],{u,-0.5,0.5},{v,-π+k,π+k},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8],PlotPoints25,ViewPoint{1.5,-0.5,1.5}],{k,Range[0,2π,π/20]~Join~Reverse[Range[0,2π,π/20]]}]​​;

To generate Peppa and Wendy texture on Möbius - one frame

res4=Withsurf=SurfaceData
Möbius strip
SURFACE
,"ParametricEquations"[1],​​pic=GraphicsGridTranspose@ConstantArrayRotate
,10Degree,12,ConstantArray
,12,Table[ParametricPlot3D[surf[u,v],{u,-0.5,0.5},{v,-π+k,π+k},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8],PlotPoints25,ViewPoint{-9,-2,-5}],{k,{0}}]​​;

To generate peppa vs wendy wolf flow on mobius - animation

In[]:=
res5=Withsurf=SurfaceData
Möbius strip
SURFACE
,"ParametricEquations"[1],​​pic=GraphicsGridTranspose@ConstantArrayRotate
,10Degree,12,ConstantArray
,12,Table[ParametricPlot3D[surf[u,v],{u,-0.5,0.5},{v,-π+k,π+k},PlotStyleDirective[Texture[pic]],MeshStyleOpacity[0.05],AxesNone,BoxedFalse,ColorFunctionGrayLevel[0.8],PlotPoints25,ViewPoint{-9,-2,-5}],{k,Range[0,3π,π/20]~Join~Reverse[Range[0,3π,π/20]]}]​​;
In[]:=
Export["anim5.gif",res5]
Out[]=
anim5.gif