Create Trefoil.pyde
ADD
mode/examples/Demos/Graphics/Trefoil/Trefoil.pyde
+"""
+Trefoil, Andres Colubri
+A parametric surface is textured procedurally
+by drawing on an offscreen PGraphics surface.
+"""
+from Surface import *
+
+
+def setup():
+ global pg, trefoil # PGraphics, PShape
+ size(1024, 768, P3D)
+
+ textureMode(NORMAL)
+ noStroke()
+
+ # Creating offscreen surface for 3D rendering.
+ pg = createGraphics(32, 512, P3D)
+ pg.beginDraw()
+ pg.background(0, 0)
+ pg.noStroke()
+ pg.fill(255, 0, 0, 200)
+ pg.endDraw()
+
+ # Saving trefoil surface into a PShape3D object
+ trefoil = createTrefoil(350, 60, 15, pg)
+
+
+def draw():
+ background(0)
+
+ pg.beginDraw()
+ pg.ellipse(random(pg.width), random(pg.height), 4, 4)
+ pg.endDraw()
+
+ ambient(250, 250, 250)
+ pointLight(255, 255, 255, 0, 0, 200)
+
+ with pushMatrix():
+ translate(width / 2, height / 2, -200)
+ rotateX(frameCount * PI / 500)
+ rotateY(frameCount * PI / 500)
+ shape(trefoil)

Create Trefoil.pyde