]> gitweb.factorcode.org Git - factor.git/blob - extra/gml/examples/mobius.gml
maintain gml, euler, flatland, pong, multi-methods, pair-rockets, variables.
[factor.git] / extra / gml / examples / mobius.gml
1 usereg
2
3 0.0 !alpha
4 0.1 !thickness
5
6 :alpha sin :alpha cos 0 vector3 !p
7
8 :p :p (0,0,1) cross :alpha 0.5 mul rot_vec
9 0.3 mul !q
10
11 (0,0,1) :p (0,0,1) cross :alpha 0.5 mul rot_vec
12 :thickness mul !r
13
14 [ :p :q add :r add
15   :p :q sub :r add
16   :p :q sub :r sub
17   :p :q add :r sub
18 ] 4 poly2doubleface dup !e0
19
20 10.0 10.0 360.0 { !alpha
21
22 :alpha sin :alpha cos 0 vector3 !p
23
24 :p :p (0,0,1) cross :alpha 0.5 mul rot_vec
25 0.3 mul !q
26
27 (0,0,1) :p (0,0,1) cross :alpha 0.5 mul rot_vec
28 :thickness mul !r
29
30 [ :p :q add :r add
31   :p :q sub :r add
32   :p :q sub :r sub
33   :p :q add :r sub
34 ] 4 poly2doubleface !e
35 :e edgemate faceCCW 1 bridgerings-simple pop
36 :e
37 } forx
38
39 :e0 edgemate faceCW 1 bridgerings-simple pop