Skip to content

Instantly share code, notes, and snippets.

@WallyYang
Created February 20, 2019 22:00
Show Gist options
  • Save WallyYang/6238be94a1f255b39837bf7acc6a3757 to your computer and use it in GitHub Desktop.
Save WallyYang/6238be94a1f255b39837bf7acc6a3757 to your computer and use it in GitHub Desktop.
\\ Mobius.bvr
// Strip
strip=parametricSurface
strip.setMinMax=t,0,6.6
strip.setMinMax=s,-1,1
strip.setEquation=x,((3+s*cos(t/2))*cos(t))
strip.setEquation=y,((3+s*cos(t/2))*sin(t))
strip.setEquation=z,(s*sin(t/2))
strip.setSegmentCount=40
strip.color=yellow
strip.spawn
// Curve
center=parametricCurve
center.setMinMax=t,0,12.6
center.setEquation=x,(3*cos(t))
center.setEquation=y,(3*sin(t))
center.setEquation=z,(0)
center.setSegmentCount=40
center.setThickness=0.2
center.color=red
center.spawn
// Curve perimeter
peri=parametricCurve
peri.setMinMax=t,0,12.6
peri.setEquation=x,((3+cos(t/2))*cos(t))
peri.setEquation=y,((3+cos(t/2))*sin(t))
peri.setEquation=z,(sin(t/2))
peri.setSegmentCount=40
peri.setThickness=0.2
peri.color=green
peri.spawn
// Curve diff
diff=parametricCurve
diff.setMinMax=t,0,12.6
diff.setEquation=x,(cos(t/2)*cos(t))
diff.setEquation=y,(cos(t/2)*sin(t))
diff.setEquation=z,(0)
diff.setSegmentCount=40
diff.setThickness=0.2
diff.color=blue
diff.spawn
// Curve cross
cross=parametricCurve
cross.setMinMax=t,0,12.6
cross.setEquation=x,(cos(t)*sin(t/2))
cross.setEquation=y,(-sin(t)*sin(t/2))
cross.setEquation=z,(-cos(t/2))
cross.setSegmentCount=40
cross.setThickness=0.2
cross.color=gray
cross.spawn
// Curve
curve=parametricCurve
curve.setMinMax=t,0,12.6
curve.setEquation=x,(3*cos(t)+3*cos(t)*sin(t/2))
curve.setEquation=y,(3*sin(t)-3*sin(t)*sin(t/2))
curve.setEquation=z,(-3*cos(t/2))
curve.setSegmentCount=40
curve.setThickness=0.2
curve.color=cyan
curve.spawn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment