mobius strip/mobius loop (3d surface) with Lambertian shading
Expression 23: "n" equals 400n=400
11
10001000
23
point selection
Hide this folder from students.
24
initial grid of angle-points
25
Hidden Label: "A" Subscript, 0 , Baseline equals left bracket, left parenthesis, 2 pi times StartFraction, floor left parenthesis, StartNestedFraction, "p" NestedOver "w" , EndNestedFraction , right parenthesis Over StartNestedFraction, "n" NestedOver "w" , EndNestedFraction , EndFraction plus "s" , StartFraction, mod left parenthesis, "p" , "w" , right parenthesis Over "w" , EndFraction , right parenthesis for "p" equals left bracket, 1... "n" , right bracket , right bracketA0=2π·floorpwnw+s,modp,wwforp=1...n
Label
26
sorted by z-coordinate of point
27
Hidden Label: "A" Subscript, "Z" , Baseline equals sort left parenthesis, "A" Subscript, 0 , Baseline , left bracket, negative "T" left parenthesis, "z" Subscript, 1 , Baseline , right parenthesis left bracket, 3 , right bracket for "z" Subscript, 1 , Baseline equals "A" Subscript, 0 , Baseline , right bracket , right parenthesisAZ=sortA0,−Tz13forz1=A0
Label
28
helper for back-face culling
29
Expression 30: "A" Subscript, "B" , Baseline equals left bracket, "D" left parenthesis, "S" left parenthesis, "z" Subscript, 2 , Baseline , right parenthesis , "T" left parenthesis, "z" Subscript, 2 , Baseline , right parenthesis , right parenthesis for "z" Subscript, 2 , Baseline equals "A" Subscript, "Z" , Baseline , right bracketAB=DSz2,Tz2forz2=AZ
equals=
negative 4.4 2 6 2 8 1 6 2 9 8 5−4.42628162985
negative 3.9 4 6 6 1 2 7 7 6 5 4−3.94661277654
negative 4.9 1 5 4 7 5 8 6 8 8 6−4.91547586886
negative 3.4 7 7 0 1 7 7 0 6 6−3.4770177066
negative 5.4 1 2 9 3 6 7 8 8 9 9−5.41293678899
negative 4.4 0 5 9 7 4 3 0 1 7 6−4.40597430176
negative 4.9 0 9 2 6 3 4 5 0 2 4−4.90926345024
negative 3.9 1 1 3 2 6 4 3 8 2−3.9113264382
negative 3.0 1 7 4 8 9 8 0 0 5 7−3.01748980057
negative 5.9 1 6 5 2 3 1 3 5 5−5.9165231355
negative 5.4 1 9 6 6 7 1 2 2 2 5−5.41966712225
negative 3.4 2 6 1 1 9 1 3 1 3 3−3.42611913133
negative 4.3 8 5 6 6 6 9 7 3 6 7−4.38566697367
negative 4.9 0 3 0 5 1 0 3 1 6 3−4.90305103163
negative 3.8 7 6 0 4 0 0 9 9 8 6−3.87604009986
400 element list
30
back-face culled angles
31
Hidden Label: "A" Subscript, "R" , Baseline equals "A" Subscript, "Z" , Baseline left bracket, "A" Subscript, "B" , Baseline less than or equal to 999 , right bracketAR=AZAB≤999
Label
32
rendering
Hide this folder from students.
33
colour (0 to 256) from vector (0 to 1)
34
Expression 35: "C" Subscript, "N" , Baseline left parenthesis, "v" , right parenthesis equals rgb left parenthesis, 256 "v" left bracket, 1 , right bracket , 256 "v" left bracket, 2 , right bracket , 256 "v" left bracket, 3 , right bracket , right parenthesisCNv=rgb256v1,256v2,256v3
35
lighting from normal (Lambertian)
36
Expression 37: "L" left parenthesis, "v" , right parenthesis equals max left parenthesis, "D" left parenthesis, "v" , "N" left parenthesis, left bracket, 1 , 1 , negative 1 , right bracket , right parenthesis , right parenthesis , 0 , right parenthesisLv=maxDv,N1,1,−1,0
37
colours of polygons, in order
38
Expression 39: "C" equals left bracket, "C" Subscript, "N" , Baseline left parenthesis, "L" left parenthesis, "S" left parenthesis, "k" plus left parenthesis, "s" , 0 , right parenthesis , right parenthesis , right parenthesis times left bracket, 1 , 1 , 1 , right bracket , right parenthesis for "k" equals "A" Subscript, "R" , Baseline , right bracketC=CNLSk+s,0·1,1,1fork=AR
39
background
40
Expression 41: "x" less than or equal to "x" plus 1x≤x+1
41
surface normals
42
Expression 43: left bracket, polygon left parenthesis, "P" left parenthesis, "T" left parenthesis, "k" , right parenthesis , right parenthesis , "P" left parenthesis, "T" left parenthesis, "k" , right parenthesis plus 0.1 times "S" left parenthesis, "k" plus left parenthesis, "s" , 0 , right parenthesis , right parenthesis , right parenthesis , right parenthesis for "k" equals "A" Subscript, "R" , Baseline , right bracketpolygonPTk,PTk+0.1·Sk+s,0fork=AR
43
final render
44
Expression 45: left bracket, polygon left parenthesis, "P" left parenthesis, "T" left parenthesis, "k" , right parenthesis , right parenthesis , "P" left parenthesis, "T" left parenthesis, "k" plus left parenthesis, StartFraction, 2 pi "w" Over "n" , EndFraction , 0 , right parenthesis , right parenthesis , right parenthesis , "P" left parenthesis, "T" left parenthesis, "k" plus left parenthesis, StartFraction, 2 pi "w" Over "n" , EndFraction , StartFraction, 2 pi Over "w" , EndFraction , right parenthesis , right parenthesis , right parenthesis , "P" left parenthesis, "T" left parenthesis, "k" plus left parenthesis, 0 , StartFraction, 2 pi Over "w" , EndFraction , right parenthesis , right parenthesis , right parenthesis , right parenthesis for "k" equals "A" Subscript, "R" , Baseline , right bracketpolygonPTk,PTk+2πwn,0,PTk+2πwn,2πw,PTk+0,2πwfork=AR
45
Expression 46: "P" left parenthesis, "T" left parenthesis, left parenthesis, "t" , 0 , right parenthesis , right parenthesis , right parenthesisPTt,0
00
domain t Minimum:
less than or equal to "t" less than or equal to≤t≤