| ofs | hex dump | ascii |
|---|
| 0000 | 4e 75 6c 6c 73 6f 66 74 20 41 56 53 20 50 72 65 73 65 74 20 30 2e 32 1a 00 15 00 00 00 73 00 00 | Nullsoft.AVS.Preset.0.2......s.. |
| 0020 | 00 6f 00 00 00 3e 3e 20 61 6c 69 65 6e 20 64 65 76 69 63 65 20 5b 20 67 61 6c 6c 65 72 79 20 72 | .o...>>.alien.device.[.gallery.r |
| 0040 | 6d 78 20 5d 0d 0a 0d 0a 3a 3a 20 7a 61 6d 75 7a 20 7c 20 67 6f 6e 7a 61 6c 6f 20 6d 75 f1 6f 7a | mx.]....::.zamuz.|.gonzalo.mu.oz |
| 0060 | 0d 0a 3e 3e 20 73 74 72 69 66 65 72 32 37 40 74 75 74 6f 70 69 61 2e 63 6f 6d 0d 0a 3e 3e 20 7a | ..>>.strifer27@tutopia.com..>>.z |
| 0080 | 61 6d 75 7a 2e 64 65 76 69 61 6e 74 61 72 74 2e 63 6f 6d 00 15 00 00 00 ed 04 00 00 e9 04 00 00 | amuz.deviantart.com............. |
| 00a0 | 20 20 20 20 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 20 20 20 20 20 20 20 20 20 20 20 | ...._.............../........... |
| 00c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 00e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 0100 | 20 20 20 20 20 2f 0d 0a 20 20 20 7c 20 20 7c 20 31 30 20 20 20 20 20 20 20 2f 20 20 20 20 20 20 | ...../.....|..|.10......./...... |
| 0120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 69 65 6e 20 44 65 76 | .......................Alien.Dev |
| 0140 | 69 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ice............................. |
| 0160 | 20 20 2f 0d 0a 20 20 20 7c 20 20 7c 20 20 20 20 20 20 20 20 20 20 2f 20 20 20 20 20 20 20 20 20 | ../.....|..|........../......... |
| 0180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 01a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 01c0 | 20 20 20 20 20 20 20 2f 0d 0a 20 2f 5f 2f 20 20 20 20 20 20 20 20 2f 5f 5f 5f 5f 5f 5f 5f 5f 5f | ......./.../_/......../_________ |
| 01e0 | 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 2f | _______________________________/ |
| 0200 | 0d 0a 5f 5f 5f 5f 5f 5f 2f 0d 0a 0d 0a 0d 0a 42 61 63 6b 2d 66 61 63 65 20 63 75 6c 6c 69 6e 67 | ..______/......Back-face.culling |
| 0220 | 2e 20 49 74 73 20 6e 6f 74 20 70 65 72 66 65 63 74 20 62 65 63 61 75 73 65 20 49 20 68 61 64 20 | ..Its.not.perfect.because.I.had. |
| 0240 | 74 6f 20 68 61 63 6b 20 61 72 6f 75 6e 64 20 74 68 65 20 70 65 72 73 70 65 63 74 69 76 65 20 70 | to.hack.around.the.perspective.p |
| 0260 | 72 6f 6a 65 63 74 69 6f 6e 20 62 75 74 20 69 74 73 20 67 6f 6f 64 20 65 6e 6f 75 67 68 20 66 6f | rojection.but.its.good.enough.fo |
| 0280 | 72 20 6d 65 2e 20 42 61 63 6b 2d 66 61 63 65 20 63 75 6c 6c 69 6e 67 20 69 6e 20 61 6e 20 6f 72 | r.me..Back-face.culling.in.an.or |
| 02a0 | 74 68 6f 67 72 61 70 68 69 63 20 70 72 6f 6a 65 63 74 69 6f 6e 20 69 73 20 6d 75 63 68 20 65 61 | thographic.projection.is.much.ea |
| 02c0 | 73 69 65 72 2e 20 54 68 65 20 77 61 79 20 69 74 20 77 6f 72 6b 73 20 69 73 20 62 79 20 63 68 65 | sier..The.way.it.works.is.by.che |
| 02e0 | 63 6b 69 6e 67 20 77 68 69 63 68 20 64 69 72 65 63 74 69 6f 6e 20 74 68 65 20 66 61 63 65 20 6e | cking.which.direction.the.face.n |
| 0300 | 6f 72 6d 61 6c 73 20 61 72 65 20 70 6f 69 6e 74 69 6e 67 2c 20 69 66 20 74 68 65 79 20 61 72 65 | ormals.are.pointing,.if.they.are |
| 0320 | 20 70 6f 69 6e 74 69 6e 67 20 61 77 61 79 20 69 6e 74 6f 20 74 68 65 20 73 63 72 65 65 6e 20 74 | .pointing.away.into.the.screen.t |
| 0340 | 68 65 6e 20 74 68 65 20 73 75 70 65 72 73 63 6f 70 65 20 66 6f 72 20 74 68 61 74 20 66 61 63 65 | hen.the.superscope.for.that.face |
| 0360 | 20 69 73 20 6e 6f 74 20 64 72 61 77 6e 2e 20 54 68 65 20 6e 6f 72 6d 61 6c 73 20 61 72 65 20 61 | .is.not.drawn..The.normals.are.a |
| 0380 | 6c 73 6f 20 75 73 65 64 20 74 6f 20 61 64 64 20 73 6f 6d 65 20 62 61 73 69 63 20 6c 69 67 68 74 | lso.used.to.add.some.basic.light |
| 03a0 | 69 6e 67 20 61 6e 64 20 61 20 62 75 6d 70 20 69 73 20 70 6c 61 63 65 64 20 72 6f 75 67 6c 79 20 | ing.and.a.bump.is.placed.rougly. |
| 03c0 | 77 68 65 72 65 20 74 68 65 20 73 70 65 63 75 6c 61 72 20 68 69 67 68 6c 69 67 68 74 20 73 68 6f | where.the.specular.highlight.sho |
| 03e0 | 75 6c 64 20 62 65 2e 20 54 68 65 20 64 6f 64 65 63 61 68 65 64 72 6f 6e 20 69 74 73 65 6c 66 20 | uld.be..The.dodecahedron.itself. |
| 0400 | 69 73 20 74 68 65 20 73 61 6d 65 20 6f 6e 65 20 74 68 61 74 20 49 27 76 65 20 75 73 65 64 20 62 | is.the.same.one.that.I've.used.b |
| 0420 | 65 66 6f 72 65 20 77 69 74 68 20 73 6f 6c 69 64 20 70 65 6e 74 61 67 6f 6e 73 20 69 6e 73 74 65 | efore.with.solid.pentagons.inste |
| 0440 | 61 64 20 6f 66 20 77 69 72 65 66 72 61 6d 65 73 20 61 6e 64 20 61 20 73 69 6d 70 6c 65 20 63 79 | ad.of.wireframes.and.a.simple.cy |
| 0460 | 63 6c 69 6e 67 20 74 65 78 74 75 72 65 20 70 6c 61 63 65 64 20 6f 6e 20 74 6f 70 2c 20 74 68 65 | cling.texture.placed.on.top,.the |
| 0480 | 20 63 6f 6c 6f 72 20 63 6f 64 65 20 69 73 20 70 72 65 74 74 79 20 73 69 6d 70 6c 65 2c 20 74 68 | .color.code.is.pretty.simple,.th |
| 04a0 | 65 20 62 75 6d 70 20 64 6f 65 73 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 | e.bump.does.most.of.the.work.in. |
| 04c0 | 6d 61 6b 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 6c 6f 6f 6b 20 70 61 72 74 69 63 75 6c 61 | making.the.object.look.particula |
| 04e0 | 72 6c 79 20 73 6f 6c 69 64 2e 20 49 6e 63 72 65 61 73 65 20 74 68 65 20 6e 75 6d 70 6f 69 6e 74 | rly.solid..Increase.the.numpoint |
| 0500 | 73 20 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 73 75 70 65 72 73 63 6f | s.variable.in.the.first.supersco |
| 0520 | 70 65 27 73 20 69 6e 69 74 20 62 6f 78 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 64 65 | pe's.init.box.to.increase.the.de |
| 0540 | 74 61 69 6c 20 6c 65 76 65 6c 20 66 6f 72 20 66 61 73 74 65 72 20 63 6f 6d 70 75 74 65 72 73 2e | tail.level.for.faster.computers. |
| 0560 | 0d 0a 0d 0a 0d 0a 2d 2d 20 4a 68 65 72 69 6b 6f 0d 0a 0d 0a 6a 68 65 72 69 6b 6f 40 6e 74 6c 77 | ......--.Jheriko....jheriko@ntlw |
| 0580 | 6f 72 6c 64 2e 63 6f 6d 00 24 00 00 00 a1 02 00 00 01 00 00 00 00 79 01 00 00 2f 2f 20 52 6f 74 | orld.com.$............y...//.Rot |
| 05a0 | 61 74 69 6f 6e 0d 0a 72 78 3d 72 78 2b 64 72 78 2a 64 74 3b 0d 0a 72 79 3d 72 79 2b 64 72 79 2a | ation..rx=rx+drx*dt;..ry=ry+dry* |
| 05c0 | 64 74 3b 0d 0a 72 7a 3d 72 7a 2b 64 72 7a 2a 64 74 3b 0d 0a 64 72 78 3d 64 72 78 2a 2e 39 2b 2e | dt;..rz=rz+drz*dt;..drx=drx*.9+. |
| 05e0 | 31 2a 74 64 72 78 3b 64 72 79 3d 64 72 79 2a 2e 39 2b 2e 31 2a 74 64 72 79 3b 64 72 7a 3d 64 72 | 1*tdrx;dry=dry*.9+.1*tdry;drz=dr |
| 0600 | 7a 2a 2e 39 2b 2e 31 2a 74 64 72 7a 3b 0d 0a 63 72 7a 3d 63 6f 73 28 72 7a 29 3b 73 72 7a 3d 73 | z*.9+.1*tdrz;..crz=cos(rz);srz=s |
| 0620 | 69 6e 28 72 7a 29 3b 0d 0a 63 72 79 3d 63 6f 73 28 72 79 29 3b 73 72 79 3d 73 69 6e 28 72 79 29 | in(rz);..cry=cos(ry);sry=sin(ry) |
| 0640 | 3b 0d 0a 63 72 78 3d 63 6f 73 28 72 78 29 3b 73 72 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 0d 0a 2f | ;..crx=cos(rx);srx=sin(rx);..../ |
| 0660 | 2f 20 41 73 70 65 63 74 20 72 61 74 69 6f 0d 0a 61 73 70 3d 68 2f 77 3b 0d 0a 0d 0a 2f 2f 20 44 | /.Aspect.ratio..asp=h/w;....//.D |
| 0680 | 75 6d 70 20 74 6f 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 72 65 67 30 30 3d 61 | ump.to.global.registers..reg00=a |
| 06a0 | 73 70 3b 0d 0a 72 65 67 30 31 3d 63 72 7a 3b 72 65 67 30 32 3d 73 72 7a 3b 0d 0a 72 65 67 30 33 | sp;..reg01=crz;reg02=srz;..reg03 |
| 06c0 | 3d 63 72 79 3b 72 65 67 30 34 3d 73 72 79 3b 0d 0a 72 65 67 30 35 3d 63 72 78 3b 72 65 67 30 36 | =cry;reg04=sry;..reg05=crx;reg06 |
| 06e0 | 3d 73 72 78 3b 0d 0a 0d 0a 64 74 3d 67 65 74 74 69 6d 65 28 6c 61 73 74 74 69 6d 65 29 3b 6c 61 | =srx;....dt=gettime(lasttime);la |
| 0700 | 73 74 74 69 6d 65 3d 67 65 74 74 69 6d 65 28 30 29 3b 00 7d 00 00 00 74 64 72 78 3d 69 66 28 72 | sttime=gettime(0);.}...tdrx=if(r |
| 0720 | 61 6e 64 28 31 30 29 2c 74 64 72 78 2c 28 72 61 6e 64 28 31 31 29 2d 35 29 2a 2e 32 35 29 3b 0d | and(10),tdrx,(rand(11)-5)*.25);. |
| 0740 | 0a 74 64 72 79 3d 69 66 28 72 61 6e 64 28 31 30 29 2c 74 64 72 79 2c 28 72 61 6e 64 28 31 31 29 | .tdry=if(rand(10),tdry,(rand(11) |
| 0760 | 2d 35 29 2a 2e 32 35 29 3b 0d 0a 74 64 72 7a 3d 69 66 28 72 61 6e 64 28 31 30 29 2c 74 64 72 7a | -5)*.25);..tdrz=if(rand(10),tdrz |
| 0780 | 2c 28 72 61 6e 64 28 31 31 29 2d 35 29 2a 2e 32 35 29 3b 00 8a 00 00 00 2f 2f 20 47 6c 6f 62 61 | ,(rand(11)-5)*.25);.....//.Globa |
| 07a0 | 6c 20 76 61 72 69 61 62 6c 65 73 20 69 6e 6e 69 74 0d 0a 6e 3d 30 3b 0d 0a 6e 75 6d 70 6f 69 6e | l.variables.innit..n=0;..numpoin |
| 07c0 | 74 73 3d 33 36 30 3b 0d 0a 72 65 67 39 39 3d 6e 75 6d 70 6f 69 6e 74 73 3b 0d 0a 74 64 72 78 3d | ts=360;..reg99=numpoints;..tdrx= |
| 07e0 | 28 72 61 6e 64 28 31 31 29 2d 35 29 2a 2e 32 35 3b 0d 0a 74 64 72 79 3d 28 72 61 6e 64 28 31 31 | (rand(11)-5)*.25;..tdry=(rand(11 |
| 0800 | 29 2d 35 29 2a 2e 32 35 3b 0d 0a 74 64 72 7a 3d 28 72 61 6e 64 28 31 31 29 2d 35 29 2a 2e 32 35 | )-5)*.25;..tdrz=(rand(11)-5)*.25 |
| 0820 | 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 00 00 00 00 fe ff ff ff e4 4a 00 00 81 01 00 00 24 80 | ;......................J......$. |
| 0840 | 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 0860 | 40 00 00 41 56 53 20 32 2e 38 2b 20 45 66 66 65 63 74 20 4c 69 73 74 20 43 6f 6e 66 69 67 00 00 | @..AVS.2.8+.Effect.List.Config.. |
| 0880 | 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 04 00 00 00 02 00 04 80 24 | ...................(...........$ |
| 08a0 | 00 00 00 24 06 00 00 01 25 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b | ...$....%...x1=((equal(pnum,0)*k |
| 08c0 | 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | x0+equal(pnum,1)*kx1+equal(pnum, |
| 08e0 | 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 | 2)*kx2+equal(pnum,3)*kx3+equal(p |
| 0900 | 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 | num,4)*kx4+equal(pnum,5)*kx0)-nx |
| 0920 | 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 | 0)*scale+nx0;..y1=((equal(pnum,0 |
| 0940 | 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e | )*ky0+equal(pnum,1)*ky1+equal(pn |
| 0960 | 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 | um,2)*ky2+equal(pnum,3)*ky3+equa |
| 0980 | 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 | l(pnum,4)*ky4+equal(pnum,5)*ky0) |
| 09a0 | 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 | -ny0)*scale+ny0;..z1=((equal(pnu |
| 09c0 | 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c | m,0)*kz0+equal(pnum,1)*kz1+equal |
| 09e0 | 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 | (pnum,2)*kz2+equal(pnum,3)*kz3+e |
| 0a00 | 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b | qual(pnum,4)*kz4+equal(pnum,5)*k |
| 0a20 | 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a | z0)-nz0)*scale+nz0;....x2=x1*crz |
| 0a40 | 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d | -y1*srz;..y2=x1*srz+y1*crz;..x1= |
| 0a60 | 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 | x2*cry+z1*sry;..z2=-x2*sry+z1*cr |
| 0a80 | 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 | y;..y1=y2*crx-z2*srx;..z1=y2*srx |
| 0aa0 | 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 | +z2*crx;..z1=1/(2+.25*z1);..x=x1 |
| 0ac0 | 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 | *z1;..y=y1*z1;..x=x*asp;..pnum=( |
| 0ae0 | 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 | pnum+1)%6;..red=max(.1,bnot(equa |
| 0b00 | 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 | l(pnum,1))*light*sin(15*scale)*s |
| 0b20 | 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c | in(21*scale+t))+equal(scale,1)*l |
| 0b40 | 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c | ight+.5*light+.1;..green=max(.1, |
| 0b60 | 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a | .4*red);..blue=max(.1,.4*red);.. |
| 0b80 | 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 | scale=if(pnum,scale,scale-scalei |
| 0ba0 | 6e 63 29 3b 0d 0a 62 6c 75 65 3d 2e 37 2a 72 65 64 3b 72 65 64 3d 31 2e 32 2a 67 72 65 65 6e 3b | nc);..blue=.7*red;red=1.2*green; |
| 0bc0 | 67 72 65 65 6e 3d 31 2e 32 2a 67 72 65 65 6e 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 | green=1.2*green;.....t=t+getspec |
| 0be0 | 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d | (0.5,1,0);..//.Calculate.normal. |
| 0c00 | 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a | .nx=(kx0+kx1+kx2+kx3+kx4)*0.2;.. |
| 0c20 | 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e | ny=(ky0+ky1+ky2+ky3+ky4)*0.2;..n |
| 0c40 | 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 | z=(kz0+kz1+kz2+kz3+kz4)*0.2;..nx |
| 0c60 | 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 | 0=nx;ny0=ny;nz0=nz;....//.Load.s |
| 0c80 | 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d | tuff.from.global.registers..asp= |
| 0ca0 | 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 | reg00;..crz=reg01;srz=reg02;..cr |
| 0cc0 | 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 | y=reg03;sry=reg04;..crx=reg05;sr |
| 0ce0 | 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e | x=reg06;..pnum=0;....//.Rotate.n |
| 0d00 | 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a | ormal..mx=nx*crz-ny*srz;..my=nx* |
| 0d20 | 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a | srz+ny*crz;..nx=mx*cry+nz*sry;.. |
| 0d40 | 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a | mz=-mx*sry+nz*cry;..ny=my*crx-mz |
| 0d60 | 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e | *srx;..nz=my*srx+mz*crx;....n=bn |
| 0d80 | 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 | ot(above(nz,-.1*(sqr(nx)+sqr(ny) |
| 0da0 | 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d | )))*reg99;....scale=1;....light= |
| 0dc0 | 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a | .1+6/(sqr(nx-1)+sqr(ny+1)+sqr(nz |
| 0de0 | 2d 31 2e 35 29 29 3b 00 00 00 00 00 cb 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c | -1.5));.........//.Back.Face.Cul |
| 0e00 | 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 31 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 | led.Pentagon.1..n=reg99;....//.C |
| 0e20 | 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d 31 3b 0d 0a | oordinates..kx0=1;ky0=1;kz0=1;.. |
| 0e40 | 6b 78 31 3d 24 50 48 49 3b 6b 79 31 3d 30 3b 6b 7a 31 3d 24 50 48 49 2d 31 3b 0d 0a 6b 78 32 3d | kx1=$PHI;ky1=0;kz1=$PHI-1;..kx2= |
| 0e60 | 31 3b 6b 79 32 3d 2d 31 3b 6b 7a 32 3d 31 3b 0d 0a 6b 78 33 3d 30 3b 6b 79 33 3d 31 2d 24 50 48 | 1;ky2=-1;kz2=1;..kx3=0;ky3=1-$PH |
| 0e80 | 49 3b 6b 7a 33 3d 24 50 48 49 3b 0d 0a 6b 78 34 3d 30 3b 6b 79 34 3d 24 50 48 49 2d 31 3b 6b 7a | I;kz3=$PHI;..kx4=0;ky4=$PHI-1;kz |
| 0ea0 | 34 3d 24 50 48 49 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 | 4=$PHI;..scaleinc=1/(n/6);...... |
| 0ec0 | 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 19 06 00 00 01 16 03 00 00 78 31 3d 28 28 65 71 75 | ...........$............x1=((equ |
| 0ee0 | 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 | al(pnum,0)*kx0+equal(pnum,1)*kx1 |
| 0f00 | 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 | +equal(pnum,2)*kx2+equal(pnum,3) |
| 0f20 | 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 | *kx3+equal(pnum,4)*kx4+equal(pnu |
| 0f40 | 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 | m,5)*kx0)-nx0)*scale+nx0;..y1=(( |
| 0f60 | 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a | equal(pnum,0)*ky0+equal(pnum,1)* |
| 0f80 | 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d | ky1+equal(pnum,2)*ky2+equal(pnum |
| 0fa0 | 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 | ,3)*ky3+equal(pnum,4)*ky4+equal( |
| 0fc0 | 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 | pnum,5)*ky0)-ny0)*scale+ny0;..z1 |
| 0fe0 | 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | =((equal(pnum,0)*kz0+equal(pnum, |
| 1000 | 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 | 1)*kz1+equal(pnum,2)*kz2+equal(p |
| 1020 | 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 | num,3)*kz3+equal(pnum,4)*kz4+equ |
| 1040 | 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d | al(pnum,5)*kz0)-nz0)*scale+nz0;. |
| 1060 | 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b | ...x2=x1*crz-y1*srz;..y2=x1*srz+ |
| 1080 | 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d | y1*crz;..x1=x2*cry+z1*sry;..z2=- |
| 10a0 | 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 | x2*sry+z1*cry;..y1=y2*crx-z2*srx |
| 10c0 | 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 | ;..z1=y2*srx+z2*crx;..z1=1/(2+.2 |
| 10e0 | 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a | 5*z1);..x=x1*z1;..y=y1*z1;..x=x* |
| 1100 | 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 | asp;..pnum=(pnum+1)%6;..red=max( |
| 1120 | 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e | .1,bnot(equal(pnum,1))*light*sin |
| 1140 | 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 | (15*scale)*sin(21*scale+t))+equa |
| 1160 | 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 | l(scale,1)*light+.5*light+.1;..g |
| 1180 | 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e | reen=max(.1,.4*red);..blue=max(. |
| 11a0 | 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c | 1,.4*red);..scale=if(pnum,scale, |
| 11c0 | 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 72 65 64 3d 30 2e 38 2a 72 65 64 3b 62 6c | scale-scaleinc);..red=0.8*red;bl |
| 11e0 | 75 65 3d 30 2e 38 2a 72 65 64 3b 0d 0a 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e | ue=0.8*red;.......t=t+getspec(0. |
| 1200 | 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 | 5,1,0);..//.Calculate.normal..nx |
| 1220 | 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d | =(kx0+kx1+kx2+kx3+kx4)*0.2;..ny= |
| 1240 | 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 | (ky0+ky1+ky2+ky3+ky4)*0.2;..nz=( |
| 1260 | 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e | kz0+kz1+kz2+kz3+kz4)*0.2;..nx0=n |
| 1280 | 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 | x;ny0=ny;nz0=nz;....//.Load.stuf |
| 12a0 | 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 | f.from.global.registers..asp=reg |
| 12c0 | 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 | 00;..crz=reg01;srz=reg02;..cry=r |
| 12e0 | 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 | eg03;sry=reg04;..crx=reg05;srx=r |
| 1300 | 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d | eg06;..pnum=0;....//.Rotate.norm |
| 1320 | 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a | al..mx=nx*crz-ny*srz;..my=nx*srz |
| 1340 | 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d | +ny*crz;..nx=mx*cry+nz*sry;..mz= |
| 1360 | 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 | -mx*sry+nz*cry;..ny=my*crx-mz*sr |
| 1380 | 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 | x;..nz=my*srx+mz*crx;....n=bnot( |
| 13a0 | 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 | above(nz,-.1*(sqr(nx)+sqr(ny)))) |
| 13c0 | 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b | *reg99;....scale=1;....light=.1+ |
| 13e0 | 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e | 6/(sqr(nx-1)+sqr(ny+1)+sqr(nz-1. |
| 1400 | 35 29 29 3b 00 00 00 00 00 cf 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 | 5));.........//.Back.Face.Culled |
| 1420 | 20 50 65 6e 74 61 67 6f 6e 20 32 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 | .Pentagon.2..n=reg99;....//.Coor |
| 1440 | 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 31 2d 24 50 48 49 3b 6b 79 30 3d 2d 24 50 48 49 3b 6b 7a | dinates..kx0=1-$PHI;ky0=-$PHI;kz |
| 1460 | 30 3d 30 3b 0d 0a 6b 78 31 3d 2d 31 3b 6b 79 31 3d 2d 31 3b 6b 7a 31 3d 31 3b 0d 0a 6b 78 32 3d | 0=0;..kx1=-1;ky1=-1;kz1=1;..kx2= |
| 1480 | 30 3b 6b 79 32 3d 31 2d 24 50 48 49 3b 6b 7a 32 3d 24 50 48 49 3b 0d 0a 6b 78 33 3d 31 3b 6b 79 | 0;ky2=1-$PHI;kz2=$PHI;..kx3=1;ky |
| 14a0 | 33 3d 2d 31 3b 6b 7a 33 3d 31 3b 0d 0a 6b 78 34 3d 24 50 48 49 2d 31 3b 6b 79 34 3d 2d 24 50 48 | 3=-1;kz3=1;..kx4=$PHI-1;ky4=-$PH |
| 14c0 | 49 3b 6b 7a 34 3d 30 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 | I;kz4=0;..scaleinc=1/(n/6);..... |
| 14e0 | 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 24 06 00 00 01 22 03 00 00 78 31 3d 28 28 65 71 | ............$...$...."...x1=((eq |
| 1500 | 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 | ual(pnum,0)*kx0+equal(pnum,1)*kx |
| 1520 | 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 | 1+equal(pnum,2)*kx2+equal(pnum,3 |
| 1540 | 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e | )*kx3+equal(pnum,4)*kx4+equal(pn |
| 1560 | 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 | um,5)*kx0)-nx0)*scale+nx0;..y1=( |
| 1580 | 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 | (equal(pnum,0)*ky0+equal(pnum,1) |
| 15a0 | 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 | *ky1+equal(pnum,2)*ky2+equal(pnu |
| 15c0 | 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c | m,3)*ky3+equal(pnum,4)*ky4+equal |
| 15e0 | 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a | (pnum,5)*ky0)-ny0)*scale+ny0;..z |
| 1600 | 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d | 1=((equal(pnum,0)*kz0+equal(pnum |
| 1620 | 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 | ,1)*kz1+equal(pnum,2)*kz2+equal( |
| 1640 | 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 | pnum,3)*kz3+equal(pnum,4)*kz4+eq |
| 1660 | 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b | ual(pnum,5)*kz0)-nz0)*scale+nz0; |
| 1680 | 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a | ....x2=x1*crz-y1*srz;..y2=x1*srz |
| 16a0 | 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d | +y1*crz;..x1=x2*cry+z1*sry;..z2= |
| 16c0 | 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 | -x2*sry+z1*cry;..y1=y2*crx-z2*sr |
| 16e0 | 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e | x;..z1=y2*srx+z2*crx;..z1=1/(2+. |
| 1700 | 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 | 25*z1);..x=x1*z1;..y=y1*z1;..x=x |
| 1720 | 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 | *asp;..pnum=(pnum+1)%6;..red=max |
| 1740 | 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 | (.1,bnot(equal(pnum,1))*light*si |
| 1760 | 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 | n(15*scale)*sin(21*scale+t))+equ |
| 1780 | 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a | al(scale,1)*light+.5*light+.1;.. |
| 17a0 | 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 | green=max(.1,.4*red);..blue=max( |
| 17c0 | 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 | .1,.4*red);..scale=if(pnum,scale |
| 17e0 | 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 67 72 65 65 6e 3d 2e 38 2a 72 65 64 3b | ,scale-scaleinc);..green=.8*red; |
| 1800 | 72 65 64 3d 2e 37 2a 62 6c 75 65 3b 62 6c 75 65 3d 2e 38 2a 67 72 65 65 6e 3b 00 13 02 00 00 74 | red=.7*blue;blue=.8*green;.....t |
| 1820 | 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 | =t+getspec(0.5,1,0);..//.Calcula |
| 1840 | 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b | te.normal..nx=(kx0+kx1+kx2+kx3+k |
| 1860 | 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 | x4)*0.2;..ny=(ky0+ky1+ky2+ky3+ky |
| 1880 | 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 | 4)*0.2;..nz=(kz0+kz1+kz2+kz3+kz4 |
| 18a0 | 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d | )*0.2;..nx0=nx;ny0=ny;nz0=nz;... |
| 18c0 | 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 | .//.Load.stuff.from.global.regis |
| 18e0 | 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d | ters..asp=reg00;..crz=reg01;srz= |
| 1900 | 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 | reg02;..cry=reg03;sry=reg04;..cr |
| 1920 | 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f | x=reg05;srx=reg06;..pnum=0;..../ |
| 1940 | 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 | /.Rotate.normal..mx=nx*crz-ny*sr |
| 1960 | 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 | z;..my=nx*srz+ny*crz;..nx=mx*cry |
| 1980 | 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 | +nz*sry;..mz=-mx*sry+nz*cry;..ny |
| 19a0 | 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 | =my*crx-mz*srx;..nz=my*srx+mz*cr |
| 19c0 | 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e | x;....n=bnot(above(nz,-.1*(sqr(n |
| 19e0 | 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b | x)+sqr(ny))))*reg99;....scale=1; |
| 1a00 | 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 | ....light=.1+6/(sqr(nx-1)+sqr(ny |
| 1a20 | 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 ce 00 00 00 2f 2f 20 42 61 63 | +1)+sqr(nz-1.5));.........//.Bac |
| 1a40 | 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 33 0d 0a 6e 3d 72 65 67 39 | k.Face.Culled.Pentagon.3..n=reg9 |
| 1a60 | 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 31 3b 6b 79 30 3d | 9;....//.Coordinates..kx0=1;ky0= |
| 1a80 | 2d 31 3b 6b 7a 30 3d 31 3b 0d 0a 6b 78 31 3d 24 50 48 49 3b 6b 79 31 3d 30 3b 6b 7a 31 3d 24 50 | -1;kz0=1;..kx1=$PHI;ky1=0;kz1=$P |
| 1aa0 | 48 49 2d 31 3b 0d 0a 6b 78 32 3d 24 50 48 49 3b 6b 79 32 3d 30 3b 6b 7a 32 3d 31 2d 24 50 48 49 | HI-1;..kx2=$PHI;ky2=0;kz2=1-$PHI |
| 1ac0 | 3b 0d 0a 6b 78 33 3d 31 3b 6b 79 33 3d 2d 31 3b 6b 7a 33 3d 2d 31 3b 0d 0a 6b 78 34 3d 24 50 48 | ;..kx3=1;ky3=-1;kz3=-1;..kx4=$PH |
| 1ae0 | 49 2d 31 3b 6b 79 34 3d 2d 24 50 48 49 3b 6b 7a 34 3d 30 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 | I-1;ky4=-$PHI;kz4=0;..scaleinc=1 |
| 1b00 | 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 20 06 00 00 | /(n/6);.................$....... |
| 1b20 | 01 1e 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 | .....x1=((equal(pnum,0)*kx0+equa |
| 1b40 | 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b | l(pnum,1)*kx1+equal(pnum,2)*kx2+ |
| 1b60 | 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a | equal(pnum,3)*kx3+equal(pnum,4)* |
| 1b80 | 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c | kx4+equal(pnum,5)*kx0)-nx0)*scal |
| 1ba0 | 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 | e+nx0;..y1=((equal(pnum,0)*ky0+e |
| 1bc0 | 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b | qual(pnum,1)*ky1+equal(pnum,2)*k |
| 1be0 | 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | y2+equal(pnum,3)*ky3+equal(pnum, |
| 1c00 | 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 | 4)*ky4+equal(pnum,5)*ky0)-ny0)*s |
| 1c20 | 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a | cale+ny0;..z1=((equal(pnum,0)*kz |
| 1c40 | 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 | 0+equal(pnum,1)*kz1+equal(pnum,2 |
| 1c60 | 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e | )*kz2+equal(pnum,3)*kz3+equal(pn |
| 1c80 | 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 | um,4)*kz4+equal(pnum,5)*kz0)-nz0 |
| 1ca0 | 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a | )*scale+nz0;....x2=x1*crz-y1*srz |
| 1cc0 | 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b | ;..y2=x1*srz+y1*crz;..x1=x2*cry+ |
| 1ce0 | 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d | z1*sry;..z2=-x2*sry+z1*cry;..y1= |
| 1d00 | 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 | y2*crx-z2*srx;..z1=y2*srx+z2*crx |
| 1d20 | 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 | ;..z1=1/(2+.25*z1);..x=x1*z1;..y |
| 1d40 | 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 | =y1*z1;..x=x*asp;..pnum=(pnum+1) |
| 1d60 | 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c | %6;..red=max(.1,bnot(equal(pnum, |
| 1d80 | 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 | 1))*light*sin(15*scale)*sin(21*s |
| 1da0 | 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 | cale+t))+equal(scale,1)*light+.5 |
| 1dc0 | 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 | *light+.1;..green=max(.1,.4*red) |
| 1de0 | 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 | ;..blue=max(.1,.4*red);..scale=i |
| 1e00 | 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 67 | f(pnum,scale,scale-scaleinc);..g |
| 1e20 | 72 65 65 6e 3d 2e 38 2a 72 65 64 3b 72 65 64 3d 2e 33 35 2a 62 6c 75 65 3b 62 6c 75 65 3d 72 65 | reen=.8*red;red=.35*blue;blue=re |
| 1e40 | 64 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f | d;.....t=t+getspec(0.5,1,0);..// |
| 1e60 | 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b | .Calculate.normal..nx=(kx0+kx1+k |
| 1e80 | 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 | x2+kx3+kx4)*0.2;..ny=(ky0+ky1+ky |
| 1ea0 | 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 | 2+ky3+ky4)*0.2;..nz=(kz0+kz1+kz2 |
| 1ec0 | 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a | +kz3+kz4)*0.2;..nx0=nx;ny0=ny;nz |
| 1ee0 | 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 | 0=nz;....//.Load.stuff.from.glob |
| 1f00 | 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 | al.registers..asp=reg00;..crz=re |
| 1f20 | 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 | g01;srz=reg02;..cry=reg03;sry=re |
| 1f40 | 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d | g04;..crx=reg05;srx=reg06;..pnum |
| 1f60 | 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 | =0;....//.Rotate.normal..mx=nx*c |
| 1f80 | 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e | rz-ny*srz;..my=nx*srz+ny*crz;..n |
| 1fa0 | 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a | x=mx*cry+nz*sry;..mz=-mx*sry+nz* |
| 1fc0 | 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 | cry;..ny=my*crx-mz*srx;..nz=my*s |
| 1fe0 | 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e | rx+mz*crx;....n=bnot(above(nz,-. |
| 2000 | 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a | 1*(sqr(nx)+sqr(ny))))*reg99;.... |
| 2020 | 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 | scale=1;....light=.1+6/(sqr(nx-1 |
| 2040 | 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 ce 00 | )+sqr(ny+1)+sqr(nz-1.5));....... |
| 2060 | 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 34 | ..//.Back.Face.Culled.Pentagon.4 |
| 2080 | 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 | ..n=reg99;....//.Coordinates..kx |
| 20a0 | 30 3d 2d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d 31 3b 0d 0a 6b 78 31 3d 30 3b 6b 79 31 3d 24 50 48 | 0=-1;ky0=1;kz0=1;..kx1=0;ky1=$PH |
| 20c0 | 49 2d 31 3b 6b 7a 31 3d 24 50 48 49 3b 0d 0a 6b 78 32 3d 30 3b 6b 79 32 3d 31 2d 24 50 48 49 3b | I-1;kz1=$PHI;..kx2=0;ky2=1-$PHI; |
| 20e0 | 6b 7a 32 3d 24 50 48 49 3b 0d 0a 6b 78 33 3d 2d 31 3b 6b 79 33 3d 2d 31 3b 6b 7a 33 3d 31 3b 0d | kz2=$PHI;..kx3=-1;ky3=-1;kz3=1;. |
| 2100 | 0a 6b 78 34 3d 2d 24 50 48 49 3b 6b 79 34 3d 30 3b 6b 7a 34 3d 24 50 48 49 2d 31 3b 0d 0a 73 63 | .kx4=-$PHI;ky4=0;kz4=$PHI-1;..sc |
| 2120 | 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 | aleinc=1/(n/6);................. |
| 2140 | 24 00 00 00 14 06 00 00 01 15 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a | $............x1=((equal(pnum,0)* |
| 2160 | 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 70 6e 75 6d | kx0+equal(pnum,1)*kx1+equal(pnum |
| 2180 | 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 75 61 6c 28 | ,2)*kx2+equal(pnum,3)*kx3+equal( |
| 21a0 | 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e | pnum,4)*kx4+equal(pnum,5)*kx0)-n |
| 21c0 | 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c | x0)*scale+nx0;..y1=((equal(pnum, |
| 21e0 | 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 61 6c 28 70 | 0)*ky0+equal(pnum,1)*ky1+equal(p |
| 2200 | 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 | num,2)*ky2+equal(pnum,3)*ky3+equ |
| 2220 | 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 | al(pnum,4)*ky4+equal(pnum,5)*ky0 |
| 2240 | 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 6c 28 70 6e | )-ny0)*scale+ny0;..z1=((equal(pn |
| 2260 | 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 | um,0)*kz0+equal(pnum,1)*kz1+equa |
| 2280 | 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b | l(pnum,2)*kz2+equal(pnum,3)*kz3+ |
| 22a0 | 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a | equal(pnum,4)*kz4+equal(pnum,5)* |
| 22c0 | 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 | kz0)-nz0)*scale+nz0;....x2=x1*cr |
| 22e0 | 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 | z-y1*srz;..y2=x1*srz+y1*crz;..x1 |
| 2300 | 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 | =x2*cry+z1*sry;..z2=-x2*sry+z1*c |
| 2320 | 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 | ry;..y1=y2*crx-z2*srx;..z1=y2*sr |
| 2340 | 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 | x+z2*crx;..z1=1/(2+.25*z1);..x=x |
| 2360 | 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d | 1*z1;..y=y1*z1;..x=x*asp;..pnum= |
| 2380 | 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 28 65 71 75 | (pnum+1)%6;..red=max(.1,bnot(equ |
| 23a0 | 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 6c 65 29 2a | al(pnum,1))*light*sin(15*scale)* |
| 23c0 | 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 2c 31 29 2a | sin(21*scale+t))+equal(scale,1)* |
| 23e0 | 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 78 28 2e 31 | light+.5*light+.1;..green=max(.1 |
| 2400 | 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d | ,.4*red);..blue=max(.1,.4*red);. |
| 2420 | 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 63 61 6c 65 | .scale=if(pnum,scale,scale-scale |
| 2440 | 69 6e 63 29 3b 0d 0a 72 65 64 3d 30 2e 38 2a 72 65 64 3b 67 72 65 65 6e 3d 30 2e 37 2a 72 65 64 | inc);..red=0.8*red;green=0.7*red |
| 2460 | 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 | ;.....t=t+getspec(0.5,1,0);..//. |
| 2480 | 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 | Calculate.normal..nx=(kx0+kx1+kx |
| 24a0 | 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 | 2+kx3+kx4)*0.2;..ny=(ky0+ky1+ky2 |
| 24c0 | 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b | +ky3+ky4)*0.2;..nz=(kz0+kz1+kz2+ |
| 24e0 | 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 | kz3+kz4)*0.2;..nx0=nx;ny0=ny;nz0 |
| 2500 | 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 | =nz;....//.Load.stuff.from.globa |
| 2520 | 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 | l.registers..asp=reg00;..crz=reg |
| 2540 | 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 | 01;srz=reg02;..cry=reg03;sry=reg |
| 2560 | 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d | 04;..crx=reg05;srx=reg06;..pnum= |
| 2580 | 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 | 0;....//.Rotate.normal..mx=nx*cr |
| 25a0 | 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 | z-ny*srz;..my=nx*srz+ny*crz;..nx |
| 25c0 | 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 | =mx*cry+nz*sry;..mz=-mx*sry+nz*c |
| 25e0 | 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 | ry;..ny=my*crx-mz*srx;..nz=my*sr |
| 2600 | 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 | x+mz*crx;....n=bnot(above(nz,-.1 |
| 2620 | 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 | *(sqr(nx)+sqr(ny))))*reg99;....s |
| 2640 | 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 | cale=1;....light=.1+6/(sqr(nx-1) |
| 2660 | 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 cb 00 00 | +sqr(ny+1)+sqr(nz-1.5));........ |
| 2680 | 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 35 0d | .//.Back.Face.Culled.Pentagon.5. |
| 26a0 | 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 | .n=reg99;....//.Coordinates..kx0 |
| 26c0 | 3d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d 31 3b 0d 0a 6b 78 31 3d 24 50 48 49 2d 31 3b 6b 79 31 3d | =1;ky0=1;kz0=1;..kx1=$PHI-1;ky1= |
| 26e0 | 24 50 48 49 3b 6b 7a 31 3d 30 3b 0d 0a 6b 78 32 3d 31 3b 6b 79 32 3d 31 3b 6b 7a 32 3d 2d 31 3b | $PHI;kz1=0;..kx2=1;ky2=1;kz2=-1; |
| 2700 | 0d 0a 6b 78 33 3d 24 50 48 49 3b 6b 79 33 3d 30 3b 6b 7a 33 3d 31 2d 24 50 48 49 3b 0d 0a 6b 78 | ..kx3=$PHI;ky3=0;kz3=1-$PHI;..kx |
| 2720 | 34 3d 24 50 48 49 3b 6b 79 34 3d 30 3b 6b 7a 34 3d 24 50 48 49 2d 31 3b 0d 0a 73 63 61 6c 65 69 | 4=$PHI;ky4=0;kz4=$PHI-1;..scalei |
| 2740 | 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 | nc=1/(n/6);.................$... |
| 2760 | 01 06 00 00 01 fb 02 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b | .........x1=((equal(pnum,0)*kx0+ |
| 2780 | 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a | equal(pnum,1)*kx1+equal(pnum,2)* |
| 27a0 | 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d | kx2+equal(pnum,3)*kx3+equal(pnum |
| 27c0 | 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a | ,4)*kx4+equal(pnum,5)*kx0)-nx0)* |
| 27e0 | 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b | scale+nx0;..y1=((equal(pnum,0)*k |
| 2800 | 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | y0+equal(pnum,1)*ky1+equal(pnum, |
| 2820 | 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 | 2)*ky2+equal(pnum,3)*ky3+equal(p |
| 2840 | 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 | num,4)*ky4+equal(pnum,5)*ky0)-ny |
| 2860 | 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 | 0)*scale+ny0;..z1=((equal(pnum,0 |
| 2880 | 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e | )*kz0+equal(pnum,1)*kz1+equal(pn |
| 28a0 | 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 | um,2)*kz2+equal(pnum,3)*kz3+equa |
| 28c0 | 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 | l(pnum,4)*kz4+equal(pnum,5)*kz0) |
| 28e0 | 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 | -nz0)*scale+nz0;....x2=x1*crz-y1 |
| 2900 | 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a | *srz;..y2=x1*srz+y1*crz;..x1=x2* |
| 2920 | 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d | cry+z1*sry;..z2=-x2*sry+z1*cry;. |
| 2940 | 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 | .y1=y2*crx-z2*srx;..z1=y2*srx+z2 |
| 2960 | 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 | *crx;..z1=1/(2+.25*z1);..x=x1*z1 |
| 2980 | 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 | ;..y=y1*z1;..x=x*asp;..pnum=(pnu |
| 29a0 | 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 | m+1)%6;..red=max(.1,bnot(equal(p |
| 29c0 | 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 | num,1))*light*sin(15*scale)*sin( |
| 29e0 | 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 | 21*scale+t))+equal(scale,1)*ligh |
| 2a00 | 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a | t+.5*light+.1;..green=max(.1,.4* |
| 2a20 | 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 | red);..blue=max(.1,.4*red);..sca |
| 2a40 | 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 | le=if(pnum,scale,scale-scaleinc) |
| 2a60 | 3b 0d 0a 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f | ;.......t=t+getspec(0.5,1,0);../ |
| 2a80 | 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b | /.Calculate.normal..nx=(kx0+kx1+ |
| 2aa0 | 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b | kx2+kx3+kx4)*0.2;..ny=(ky0+ky1+k |
| 2ac0 | 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a | y2+ky3+ky4)*0.2;..nz=(kz0+kz1+kz |
| 2ae0 | 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e | 2+kz3+kz4)*0.2;..nx0=nx;ny0=ny;n |
| 2b00 | 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f | z0=nz;....//.Load.stuff.from.glo |
| 2b20 | 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 | bal.registers..asp=reg00;..crz=r |
| 2b40 | 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 | eg01;srz=reg02;..cry=reg03;sry=r |
| 2b60 | 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 | eg04;..crx=reg05;srx=reg06;..pnu |
| 2b80 | 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a | m=0;....//.Rotate.normal..mx=nx* |
| 2ba0 | 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a | crz-ny*srz;..my=nx*srz+ny*crz;.. |
| 2bc0 | 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a | nx=mx*cry+nz*sry;..mz=-mx*sry+nz |
| 2be0 | 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a | *cry;..ny=my*crx-mz*srx;..nz=my* |
| 2c00 | 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d | srx+mz*crx;....n=bnot(above(nz,- |
| 2c20 | 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d | .1*(sqr(nx)+sqr(ny))))*reg99;... |
| 2c40 | 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d | .scale=1;....light=.1+6/(sqr(nx- |
| 2c60 | 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 d2 | 1)+sqr(ny+1)+sqr(nz-1.5));...... |
| 2c80 | 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 | ...//.Back.Face.Culled.Pentagon. |
| 2ca0 | 36 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b | 6..n=reg99;....//.Coordinates..k |
| 2cc0 | 78 30 3d 24 50 48 49 2d 31 3b 6b 79 30 3d 2d 24 50 48 49 3b 6b 7a 30 3d 30 3b 0d 0a 6b 78 31 3d | x0=$PHI-1;ky0=-$PHI;kz0=0;..kx1= |
| 2ce0 | 31 3b 6b 79 31 3d 2d 31 3b 6b 7a 31 3d 2d 31 3b 0d 0a 6b 78 32 3d 30 3b 6b 79 32 3d 31 2d 24 50 | 1;ky1=-1;kz1=-1;..kx2=0;ky2=1-$P |
| 2d00 | 48 49 3b 6b 7a 32 3d 2d 24 50 48 49 3b 0d 0a 6b 78 33 3d 2d 31 3b 6b 79 33 3d 2d 31 3b 6b 7a 33 | HI;kz2=-$PHI;..kx3=-1;ky3=-1;kz3 |
| 2d20 | 3d 2d 31 3b 0d 0a 6b 78 34 3d 31 2d 24 50 48 49 3b 6b 79 34 3d 2d 24 50 48 49 3b 6b 7a 34 3d 30 | =-1;..kx4=1-$PHI;ky4=-$PHI;kz4=0 |
| 2d40 | 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff | ;..scaleinc=1/(n/6);............ |
| 2d60 | 00 01 00 00 00 24 00 00 00 25 06 00 00 01 22 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 | .....$...%...."...x1=((equal(pnu |
| 2d80 | 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c | m,0)*kx0+equal(pnum,1)*kx1+equal |
| 2da0 | 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 | (pnum,2)*kx2+equal(pnum,3)*kx3+e |
| 2dc0 | 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b | qual(pnum,4)*kx4+equal(pnum,5)*k |
| 2de0 | 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 | x0)-nx0)*scale+nx0;..y1=((equal( |
| 2e00 | 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 | pnum,0)*ky0+equal(pnum,1)*ky1+eq |
| 2e20 | 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 | ual(pnum,2)*ky2+equal(pnum,3)*ky |
| 2e40 | 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 | 3+equal(pnum,4)*ky4+equal(pnum,5 |
| 2e60 | 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 | )*ky0)-ny0)*scale+ny0;..z1=((equ |
| 2e80 | 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 | al(pnum,0)*kz0+equal(pnum,1)*kz1 |
| 2ea0 | 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 | +equal(pnum,2)*kz2+equal(pnum,3) |
| 2ec0 | 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 | *kz3+equal(pnum,4)*kz4+equal(pnu |
| 2ee0 | 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d | m,5)*kz0)-nz0)*scale+nz0;....x2= |
| 2f00 | 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a | x1*crz-y1*srz;..y2=x1*srz+y1*crz |
| 2f20 | 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 | ;..x1=x2*cry+z1*sry;..z2=-x2*sry |
| 2f40 | 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d | +z1*cry;..y1=y2*crx-z2*srx;..z1= |
| 2f60 | 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b | y2*srx+z2*crx;..z1=1/(2+.25*z1); |
| 2f80 | 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a | ..x=x1*z1;..y=y1*z1;..x=x*asp;.. |
| 2fa0 | 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f | pnum=(pnum+1)%6;..red=max(.1,bno |
| 2fc0 | 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 | t(equal(pnum,1))*light*sin(15*sc |
| 2fe0 | 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c | ale)*sin(21*scale+t))+equal(scal |
| 3000 | 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d | e,1)*light+.5*light+.1;..green=m |
| 3020 | 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 | ax(.1,.4*red);..blue=max(.1,.4*r |
| 3040 | 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d | ed);..scale=if(pnum,scale,scale- |
| 3060 | 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 67 72 65 65 6e 3d 2e 38 2a 72 65 64 3b 72 65 64 3d 2e 37 2a | scaleinc);..green=.8*red;red=.7* |
| 3080 | 62 6c 75 65 3b 62 6c 75 65 3d 2e 38 2a 67 72 65 65 6e 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 | blue;blue=.8*green;.....t=t+gets |
| 30a0 | 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d | pec(0.5,1,0);..//.Calculate.norm |
| 30c0 | 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 | al..nx=(kx0+kx1+kx2+kx3+kx4)*0.2 |
| 30e0 | 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b | ;..ny=(ky0+ky1+ky2+ky3+ky4)*0.2; |
| 3100 | 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d | ..nz=(kz0+kz1+kz2+kz3+kz4)*0.2;. |
| 3120 | 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 | .nx0=nx;ny0=ny;nz0=nz;....//.Loa |
| 3140 | 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 | d.stuff.from.global.registers..a |
| 3160 | 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d | sp=reg00;..crz=reg01;srz=reg02;. |
| 3180 | 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 | .cry=reg03;sry=reg04;..crx=reg05 |
| 31a0 | 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 | ;srx=reg06;..pnum=0;....//.Rotat |
| 31c0 | 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d | e.normal..mx=nx*crz-ny*srz;..my= |
| 31e0 | 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 | nx*srz+ny*crz;..nx=mx*cry+nz*sry |
| 3200 | 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 | ;..mz=-mx*sry+nz*cry;..ny=my*crx |
| 3220 | 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e | -mz*srx;..nz=my*srx+mz*crx;....n |
| 3240 | 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 | =bnot(above(nz,-.1*(sqr(nx)+sqr( |
| 3260 | 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 | ny))))*reg99;....scale=1;....lig |
| 3280 | 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 | ht=.1+6/(sqr(nx-1)+sqr(ny+1)+sqr |
| 32a0 | 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 cf 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 | (nz-1.5));.........//.Back.Face. |
| 32c0 | 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 37 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f | Culled.Pentagon.7..n=reg99;..../ |
| 32e0 | 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 2d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d | /.Coordinates..kx0=-1;ky0=1;kz0= |
| 3300 | 31 3b 0d 0a 6b 78 31 3d 31 2d 24 50 48 49 3b 6b 79 31 3d 24 50 48 49 3b 6b 7a 31 3d 30 3b 0d 0a | 1;..kx1=1-$PHI;ky1=$PHI;kz1=0;.. |
| 3320 | 6b 78 32 3d 2d 31 3b 6b 79 32 3d 31 3b 6b 7a 32 3d 2d 31 3b 0d 0a 6b 78 33 3d 2d 24 50 48 49 3b | kx2=-1;ky2=1;kz2=-1;..kx3=-$PHI; |
| 3340 | 6b 79 33 3d 30 3b 6b 7a 33 3d 31 2d 24 50 48 49 3b 0d 0a 6b 78 34 3d 2d 24 50 48 49 3b 6b 79 34 | ky3=0;kz3=1-$PHI;..kx4=-$PHI;ky4 |
| 3360 | 3d 30 3b 6b 7a 34 3d 24 50 48 49 2d 31 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 | =0;kz4=$PHI-1;..scaleinc=1/(n/6) |
| 3380 | 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 2c 06 00 00 01 25 03 00 00 78 | ;.................$...,....%...x |
| 33a0 | 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d | 1=((equal(pnum,0)*kx0+equal(pnum |
| 33c0 | 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 | ,1)*kx1+equal(pnum,2)*kx2+equal( |
| 33e0 | 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 | pnum,3)*kx3+equal(pnum,4)*kx4+eq |
| 3400 | 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b | ual(pnum,5)*kx0)-nx0)*scale+nx0; |
| 3420 | 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 | ..y1=((equal(pnum,0)*ky0+equal(p |
| 3440 | 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 | num,1)*ky1+equal(pnum,2)*ky2+equ |
| 3460 | 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 | al(pnum,3)*ky3+equal(pnum,4)*ky4 |
| 3480 | 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e | +equal(pnum,5)*ky0)-ny0)*scale+n |
| 34a0 | 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 | y0;..z1=((equal(pnum,0)*kz0+equa |
| 34c0 | 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b | l(pnum,1)*kz1+equal(pnum,2)*kz2+ |
| 34e0 | 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a | equal(pnum,3)*kz3+equal(pnum,4)* |
| 3500 | 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c | kz4+equal(pnum,5)*kz0)-nz0)*scal |
| 3520 | 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d | e+nz0;....x2=x1*crz-y1*srz;..y2= |
| 3540 | 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 | x1*srz+y1*crz;..x1=x2*cry+z1*sry |
| 3560 | 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 | ;..z2=-x2*sry+z1*cry;..y1=y2*crx |
| 3580 | 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d | -z2*srx;..z1=y2*srx+z2*crx;..z1= |
| 35a0 | 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 | 1/(2+.25*z1);..x=x1*z1;..y=y1*z1 |
| 35c0 | 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 | ;..x=x*asp;..pnum=(pnum+1)%6;..r |
| 35e0 | 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 | ed=max(.1,bnot(equal(pnum,1))*li |
| 3600 | 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 | ght*sin(15*scale)*sin(21*scale+t |
| 3620 | 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 | ))+equal(scale,1)*light+.5*light |
| 3640 | 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 | +.1;..green=max(.1,.4*red);..blu |
| 3660 | 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d | e=max(.1,.4*red);..scale=if(pnum |
| 3680 | 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 62 6c 75 65 3d 2e 37 | ,scale,scale-scaleinc);..blue=.7 |
| 36a0 | 2a 72 65 64 3b 72 65 64 3d 31 2e 32 2a 67 72 65 65 6e 3b 67 72 65 65 6e 3d 31 2e 32 2a 67 72 65 | *red;red=1.2*green;green=1.2*gre |
| 36c0 | 65 6e 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f | en;.....t=t+getspec(0.5,1,0);../ |
| 36e0 | 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b | /.Calculate.normal..nx=(kx0+kx1+ |
| 3700 | 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b | kx2+kx3+kx4)*0.2;..ny=(ky0+ky1+k |
| 3720 | 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a | y2+ky3+ky4)*0.2;..nz=(kz0+kz1+kz |
| 3740 | 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e | 2+kz3+kz4)*0.2;..nx0=nx;ny0=ny;n |
| 3760 | 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f | z0=nz;....//.Load.stuff.from.glo |
| 3780 | 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 | bal.registers..asp=reg00;..crz=r |
| 37a0 | 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 | eg01;srz=reg02;..cry=reg03;sry=r |
| 37c0 | 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 | eg04;..crx=reg05;srx=reg06;..pnu |
| 37e0 | 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a | m=0;....//.Rotate.normal..mx=nx* |
| 3800 | 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a | crz-ny*srz;..my=nx*srz+ny*crz;.. |
| 3820 | 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a | nx=mx*cry+nz*sry;..mz=-mx*sry+nz |
| 3840 | 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a | *cry;..ny=my*crx-mz*srx;..nz=my* |
| 3860 | 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d | srx+mz*crx;....n=bnot(above(nz,- |
| 3880 | 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d | .1*(sqr(nx)+sqr(ny))))*reg99;... |
| 38a0 | 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d | .scale=1;....light=.1+6/(sqr(nx- |
| 38c0 | 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 d3 | 1)+sqr(ny+1)+sqr(nz-1.5));...... |
| 38e0 | 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 | ...//.Back.Face.Culled.Pentagon. |
| 3900 | 38 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b | 8..n=reg99;....//.Coordinates..k |
| 3920 | 78 30 3d 2d 24 50 48 49 3b 6b 79 30 3d 30 3b 6b 7a 30 3d 31 2d 24 50 48 49 3b 0d 0a 6b 78 31 3d | x0=-$PHI;ky0=0;kz0=1-$PHI;..kx1= |
| 3940 | 2d 31 3b 6b 79 31 3d 31 3b 6b 7a 31 3d 2d 31 3b 0d 0a 6b 78 32 3d 2d 30 3b 6b 79 32 3d 24 50 48 | -1;ky1=1;kz1=-1;..kx2=-0;ky2=$PH |
| 3960 | 49 2d 31 3b 6b 7a 32 3d 2d 24 50 48 49 3b 0d 0a 6b 78 33 3d 30 3b 6b 79 33 3d 31 2d 24 50 48 49 | I-1;kz2=-$PHI;..kx3=0;ky3=1-$PHI |
| 3980 | 3b 6b 7a 33 3d 2d 24 50 48 49 3b 0d 0a 6b 78 34 3d 2d 31 3b 6b 79 34 3d 2d 31 3b 6b 7a 34 3d 2d | ;kz3=-$PHI;..kx4=-1;ky4=-1;kz4=- |
| 39a0 | 31 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff | 1;..scaleinc=1/(n/6);........... |
| 39c0 | ff 00 01 00 00 00 24 00 00 00 16 06 00 00 01 14 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e | ......$............x1=((equal(pn |
| 39e0 | 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 | um,0)*kx0+equal(pnum,1)*kx1+equa |
| 3a00 | 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b | l(pnum,2)*kx2+equal(pnum,3)*kx3+ |
| 3a20 | 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a | equal(pnum,4)*kx4+equal(pnum,5)* |
| 3a40 | 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c | kx0)-nx0)*scale+nx0;..y1=((equal |
| 3a60 | 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 | (pnum,0)*ky0+equal(pnum,1)*ky1+e |
| 3a80 | 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b | qual(pnum,2)*ky2+equal(pnum,3)*k |
| 3aa0 | 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | y3+equal(pnum,4)*ky4+equal(pnum, |
| 3ac0 | 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 | 5)*ky0)-ny0)*scale+ny0;..z1=((eq |
| 3ae0 | 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a | ual(pnum,0)*kz0+equal(pnum,1)*kz |
| 3b00 | 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 | 1+equal(pnum,2)*kz2+equal(pnum,3 |
| 3b20 | 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e | )*kz3+equal(pnum,4)*kz4+equal(pn |
| 3b40 | 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 | um,5)*kz0)-nz0)*scale+nz0;....x2 |
| 3b60 | 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 | =x1*crz-y1*srz;..y2=x1*srz+y1*cr |
| 3b80 | 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 | z;..x1=x2*cry+z1*sry;..z2=-x2*sr |
| 3ba0 | 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 | y+z1*cry;..y1=y2*crx-z2*srx;..z1 |
| 3bc0 | 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 | =y2*srx+z2*crx;..z1=1/(2+.25*z1) |
| 3be0 | 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d | ;..x=x1*z1;..y=y1*z1;..x=x*asp;. |
| 3c00 | 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e | .pnum=(pnum+1)%6;..red=max(.1,bn |
| 3c20 | 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 | ot(equal(pnum,1))*light*sin(15*s |
| 3c40 | 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 | cale)*sin(21*scale+t))+equal(sca |
| 3c60 | 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d | le,1)*light+.5*light+.1;..green= |
| 3c80 | 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a | max(.1,.4*red);..blue=max(.1,.4* |
| 3ca0 | 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 | red);..scale=if(pnum,scale,scale |
| 3cc0 | 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 72 65 64 3d 30 2e 38 2a 72 65 64 3b 62 6c 75 65 3d 30 2e | -scaleinc);..red=0.8*red;blue=0. |
| 3ce0 | 38 2a 72 65 64 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b | 8*red;.....t=t+getspec(0.5,1,0); |
| 3d00 | 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b | ..//.Calculate.normal..nx=(kx0+k |
| 3d20 | 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 | x1+kx2+kx3+kx4)*0.2;..ny=(ky0+ky |
| 3d40 | 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 | 1+ky2+ky3+ky4)*0.2;..nz=(kz0+kz1 |
| 3d60 | 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e | +kz2+kz3+kz4)*0.2;..nx0=nx;ny0=n |
| 3d80 | 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 | y;nz0=nz;....//.Load.stuff.from. |
| 3da0 | 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 | global.registers..asp=reg00;..cr |
| 3dc0 | 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 | z=reg01;srz=reg02;..cry=reg03;sr |
| 3de0 | 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a | y=reg04;..crx=reg05;srx=reg06;.. |
| 3e00 | 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d | pnum=0;....//.Rotate.normal..mx= |
| 3e20 | 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a | nx*crz-ny*srz;..my=nx*srz+ny*crz |
| 3e40 | 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 | ;..nx=mx*cry+nz*sry;..mz=-mx*sry |
| 3e60 | 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d | +nz*cry;..ny=my*crx-mz*srx;..nz= |
| 3e80 | 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e | my*srx+mz*crx;....n=bnot(above(n |
| 3ea0 | 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b | z,-.1*(sqr(nx)+sqr(ny))))*reg99; |
| 3ec0 | 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 | ....scale=1;....light=.1+6/(sqr( |
| 3ee0 | 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 | nx-1)+sqr(ny+1)+sqr(nz-1.5));... |
| 3f00 | 00 00 ce 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 | ......//.Back.Face.Culled.Pentag |
| 3f20 | 6f 6e 20 39 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 | on.9..n=reg99;....//.Coordinates |
| 3f40 | 0d 0a 6b 78 30 3d 2d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d 2d 31 3b 0d 0a 6b 78 31 3d 31 2d 24 50 | ..kx0=-1;ky0=1;kz0=-1;..kx1=1-$P |
| 3f60 | 48 49 3b 6b 79 31 3d 24 50 48 49 3b 6b 7a 31 3d 30 3b 0d 0a 6b 78 32 3d 24 50 48 49 2d 31 3b 6b | HI;ky1=$PHI;kz1=0;..kx2=$PHI-1;k |
| 3f80 | 79 32 3d 24 50 48 49 3b 6b 7a 32 3d 30 3b 0d 0a 6b 78 33 3d 31 3b 6b 79 33 3d 31 3b 6b 7a 33 3d | y2=$PHI;kz2=0;..kx3=1;ky3=1;kz3= |
| 3fa0 | 2d 31 3b 0d 0a 6b 78 34 3d 30 3b 6b 79 34 3d 24 50 48 49 2d 31 3b 6b 7a 34 3d 2d 24 50 48 49 3b | -1;..kx4=0;ky4=$PHI-1;kz4=-$PHI; |
| 3fc0 | 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 | ..scaleinc=1/(n/6);............. |
| 3fe0 | 01 00 00 00 24 00 00 00 1d 06 00 00 01 15 03 00 00 78 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d | ....$............x1=((equal(pnum |
| 4000 | 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 71 75 61 6c 28 | ,0)*kx0+equal(pnum,1)*kx1+equal( |
| 4020 | 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 78 33 2b 65 71 | pnum,2)*kx2+equal(pnum,3)*kx3+eq |
| 4040 | 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 78 | ual(pnum,4)*kx4+equal(pnum,5)*kx |
| 4060 | 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 75 61 6c 28 70 | 0)-nx0)*scale+nx0;..y1=((equal(p |
| 4080 | 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 31 2b 65 71 75 | num,0)*ky0+equal(pnum,1)*ky1+equ |
| 40a0 | 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b 79 33 | al(pnum,2)*ky2+equal(pnum,3)*ky3 |
| 40c0 | 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 35 29 | +equal(pnum,4)*ky4+equal(pnum,5) |
| 40e0 | 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 28 65 71 75 61 | *ky0)-ny0)*scale+ny0;..z1=((equa |
| 4100 | 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 7a 31 2b | l(pnum,0)*kz0+equal(pnum,1)*kz1+ |
| 4120 | 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a | equal(pnum,2)*kz2+equal(pnum,3)* |
| 4140 | 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c 28 70 6e 75 6d | kz3+equal(pnum,4)*kz4+equal(pnum |
| 4160 | 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d 0a 78 32 3d 78 | ,5)*kz0)-nz0)*scale+nz0;....x2=x |
| 4180 | 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 2a 63 72 7a 3b | 1*crz-y1*srz;..y2=x1*srz+y1*crz; |
| 41a0 | 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 2a 73 72 79 2b | ..x1=x2*cry+z1*sry;..z2=-x2*sry+ |
| 41c0 | 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d 0a 7a 31 3d 79 | z1*cry;..y1=y2*crx-z2*srx;..z1=y |
| 41e0 | 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a 7a 31 29 3b 0d | 2*srx+z2*crx;..z1=1/(2+.25*z1);. |
| 4200 | 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 70 3b 0d 0a 70 | .x=x1*z1;..y=y1*z1;..x=x*asp;..p |
| 4220 | 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 2c 62 6e 6f 74 | num=(pnum+1)%6;..red=max(.1,bnot |
| 4240 | 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 35 2a 73 63 61 | (equal(pnum,1))*light*sin(15*sca |
| 4260 | 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 73 63 61 6c 65 | le)*sin(21*scale+t))+equal(scale |
| 4280 | 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 65 6e 3d 6d 61 | ,1)*light+.5*light+.1;..green=ma |
| 42a0 | 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 | x(.1,.4*red);..blue=max(.1,.4*re |
| 42c0 | 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 61 6c 65 2d 73 | d);..scale=if(pnum,scale,scale-s |
| 42e0 | 63 61 6c 65 69 6e 63 29 3b 0d 0a 72 65 64 3d 30 2e 38 2a 72 65 64 3b 67 72 65 65 6e 3d 30 2e 37 | caleinc);..red=0.8*red;green=0.7 |
| 4300 | 2a 72 65 64 3b 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d | *red;.....t=t+getspec(0.5,1,0);. |
| 4320 | 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 | .//.Calculate.normal..nx=(kx0+kx |
| 4340 | 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 | 1+kx2+kx3+kx4)*0.2;..ny=(ky0+ky1 |
| 4360 | 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b | +ky2+ky3+ky4)*0.2;..nz=(kz0+kz1+ |
| 4380 | 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 | kz2+kz3+kz4)*0.2;..nx0=nx;ny0=ny |
| 43a0 | 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 | ;nz0=nz;....//.Load.stuff.from.g |
| 43c0 | 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a | lobal.registers..asp=reg00;..crz |
| 43e0 | 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 | =reg01;srz=reg02;..cry=reg03;sry |
| 4400 | 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 | =reg04;..crx=reg05;srx=reg06;..p |
| 4420 | 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e | num=0;....//.Rotate.normal..mx=n |
| 4440 | 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b | x*crz-ny*srz;..my=nx*srz+ny*crz; |
| 4460 | 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b | ..nx=mx*cry+nz*sry;..mz=-mx*sry+ |
| 4480 | 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d | nz*cry;..ny=my*crx-mz*srx;..nz=m |
| 44a0 | 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a | y*srx+mz*crx;....n=bnot(above(nz |
| 44c0 | 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d | ,-.1*(sqr(nx)+sqr(ny))))*reg99;. |
| 44e0 | 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e | ...scale=1;....light=.1+6/(sqr(n |
| 4500 | 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 | x-1)+sqr(ny+1)+sqr(nz-1.5));.... |
| 4520 | 00 d4 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f | .....//.Back.Face.Culled.Pentago |
| 4540 | 6e 20 31 30 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 | n.10..n=reg99;....//.Coordinates |
| 4560 | 0d 0a 6b 78 30 3d 2d 24 50 48 49 3b 6b 79 30 3d 30 3b 6b 7a 30 3d 24 50 48 49 2d 31 3b 0d 0a 6b | ..kx0=-$PHI;ky0=0;kz0=$PHI-1;..k |
| 4580 | 78 31 3d 2d 24 50 48 49 3b 6b 79 31 3d 30 3b 6b 7a 31 3d 31 2d 24 50 48 49 3b 0d 0a 6b 78 32 3d | x1=-$PHI;ky1=0;kz1=1-$PHI;..kx2= |
| 45a0 | 2d 31 3b 6b 79 32 3d 2d 31 3b 6b 7a 32 3d 2d 31 3b 0d 0a 6b 78 33 3d 31 2d 24 50 48 49 3b 6b 79 | -1;ky2=-1;kz2=-1;..kx3=1-$PHI;ky |
| 45c0 | 33 3d 2d 24 50 48 49 3b 6b 7a 33 3d 2d 30 3b 0d 0a 6b 78 34 3d 2d 31 3b 6b 79 34 3d 2d 31 3b 6b | 3=-$PHI;kz3=-0;..kx4=-1;ky4=-1;k |
| 45e0 | 7a 34 3d 31 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 | z4=1;..scaleinc=1/(n/6);........ |
| 4600 | 00 ff ff ff 00 01 00 00 00 24 00 00 00 fb 05 00 00 01 fb 02 00 00 78 31 3d 28 28 65 71 75 61 6c | .........$............x1=((equal |
| 4620 | 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 31 2b 65 | (pnum,0)*kx0+equal(pnum,1)*kx1+e |
| 4640 | 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 29 2a 6b | qual(pnum,2)*kx2+equal(pnum,3)*k |
| 4660 | 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e 75 6d 2c | x3+equal(pnum,4)*kx4+equal(pnum, |
| 4680 | 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 28 65 71 | 5)*kx0)-nx0)*scale+nx0;..y1=((eq |
| 46a0 | 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 79 | ual(pnum,0)*ky0+equal(pnum,1)*ky |
| 46c0 | 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 | 1+equal(pnum,2)*ky2+equal(pnum,3 |
| 46e0 | 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c 28 70 6e | )*ky3+equal(pnum,4)*ky4+equal(pn |
| 4700 | 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a 31 3d 28 | um,5)*ky0)-ny0)*scale+ny0;..z1=( |
| 4720 | 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 | (equal(pnum,0)*kz0+equal(pnum,1) |
| 4740 | 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 70 6e 75 | *kz1+equal(pnum,2)*kz2+equal(pnu |
| 4760 | 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 75 61 6c | m,3)*kz3+equal(pnum,4)*kz4+equal |
| 4780 | 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b 0d 0a 0d | (pnum,5)*kz0)-nz0)*scale+nz0;... |
| 47a0 | 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a 2b 79 31 | .x2=x1*crz-y1*srz;..y2=x1*srz+y1 |
| 47c0 | 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d 2d 78 32 | *crz;..x1=x2*cry+z1*sry;..z2=-x2 |
| 47e0 | 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 78 3b 0d | *sry+z1*cry;..y1=y2*crx-z2*srx;. |
| 4800 | 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e 32 35 2a | .z1=y2*srx+z2*crx;..z1=1/(2+.25* |
| 4820 | 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 2a 61 73 | z1);..x=x1*z1;..y=y1*z1;..x=x*as |
| 4840 | 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 28 2e 31 | p;..pnum=(pnum+1)%6;..red=max(.1 |
| 4860 | 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 6e 28 31 | ,bnot(equal(pnum,1))*light*sin(1 |
| 4880 | 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 61 6c 28 | 5*scale)*sin(21*scale+t))+equal( |
| 48a0 | 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a 67 72 65 | scale,1)*light+.5*light+.1;..gre |
| 48c0 | 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 2e 31 2c | en=max(.1,.4*red);..blue=max(.1, |
| 48e0 | 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 2c 73 63 | .4*red);..scale=if(pnum,scale,sc |
| 4900 | 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 00 13 02 00 00 74 3d 74 2b 67 65 74 73 70 65 63 | ale-scaleinc);.......t=t+getspec |
| 4920 | 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 72 6d 61 6c 0d | (0.5,1,0);..//.Calculate.normal. |
| 4940 | 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a 30 2e 32 3b 0d 0a | .nx=(kx0+kx1+kx2+kx3+kx4)*0.2;.. |
| 4960 | 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 2e 32 3b 0d 0a 6e | ny=(ky0+ky1+ky2+ky3+ky4)*0.2;..n |
| 4980 | 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e 32 3b 0d 0a 6e 78 | z=(kz0+kz1+kz2+kz3+kz4)*0.2;..nx |
| 49a0 | 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 4c 6f 61 64 20 73 | 0=nx;ny0=ny;nz0=nz;....//.Load.s |
| 49c0 | 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 0d 0a 61 73 70 3d | tuff.from.global.registers..asp= |
| 49e0 | 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 32 3b 0d 0a 63 72 | reg00;..crz=reg01;srz=reg02;..cr |
| 4a00 | 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 67 30 35 3b 73 72 | y=reg03;sry=reg04;..crx=reg05;sr |
| 4a20 | 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f 74 61 74 65 20 6e | x=reg06;..pnum=0;....//.Rotate.n |
| 4a40 | 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a 6d 79 3d 6e 78 2a | ormal..mx=nx*crz-ny*srz;..my=nx* |
| 4a60 | 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a 73 72 79 3b 0d 0a | srz+ny*crz;..nx=mx*cry+nz*sry;.. |
| 4a80 | 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a 63 72 78 2d 6d 7a | mz=-mx*sry+nz*cry;..ny=my*crx-mz |
| 4aa0 | 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a 0d 0a 6e 3d 62 6e | *srx;..nz=my*srx+mz*crx;....n=bn |
| 4ac0 | 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 71 72 28 6e 79 29 | ot(above(nz,-.1*(sqr(nx)+sqr(ny) |
| 4ae0 | 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a 6c 69 67 68 74 3d | )))*reg99;....scale=1;....light= |
| 4b00 | 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b 73 71 72 28 6e 7a | .1+6/(sqr(nx-1)+sqr(ny+1)+sqr(nz |
| 4b20 | 2d 31 2e 35 29 29 3b 00 00 00 00 00 cc 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 63 65 20 43 75 6c | -1.5));.........//.Back.Face.Cul |
| 4b40 | 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 31 31 0d 0a 6e 3d 72 65 67 39 39 3b 0d 0a 0d 0a 2f 2f 20 | led.Pentagon.11..n=reg99;....//. |
| 4b60 | 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 2d 31 3b 6b 79 30 3d 31 3b 6b 7a 30 3d 31 3b | Coordinates..kx0=-1;ky0=1;kz0=1; |
| 4b80 | 0d 0a 6b 78 31 3d 30 3b 6b 79 31 3d 24 50 48 49 2d 31 3b 6b 7a 31 3d 24 50 48 49 3b 0d 0a 6b 78 | ..kx1=0;ky1=$PHI-1;kz1=$PHI;..kx |
| 4ba0 | 32 3d 31 3b 6b 79 32 3d 31 3b 6b 7a 32 3d 31 3b 0d 0a 6b 78 33 3d 24 50 48 49 2d 31 3b 6b 79 33 | 2=1;ky2=1;kz2=1;..kx3=$PHI-1;ky3 |
| 4bc0 | 3d 24 50 48 49 3b 6b 7a 33 3d 30 3b 0d 0a 6b 78 34 3d 31 2d 24 50 48 49 3b 6b 79 34 3d 24 50 48 | =$PHI;kz3=0;..kx4=1-$PHI;ky4=$PH |
| 4be0 | 49 3b 6b 7a 34 3d 30 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 6e 2f 36 29 3b 00 02 00 00 00 | I;kz4=0;..scaleinc=1/(n/6);..... |
| 4c00 | 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 22 06 00 00 01 1e 03 00 00 78 31 3d 28 28 65 71 | ............$..."........x1=((eq |
| 4c20 | 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 78 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 2a 6b 78 | ual(pnum,0)*kx0+equal(pnum,1)*kx |
| 4c40 | 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 78 32 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 33 | 1+equal(pnum,2)*kx2+equal(pnum,3 |
| 4c60 | 29 2a 6b 78 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 78 34 2b 65 71 75 61 6c 28 70 6e | )*kx3+equal(pnum,4)*kx4+equal(pn |
| 4c80 | 75 6d 2c 35 29 2a 6b 78 30 29 2d 6e 78 30 29 2a 73 63 61 6c 65 2b 6e 78 30 3b 0d 0a 79 31 3d 28 | um,5)*kx0)-nx0)*scale+nx0;..y1=( |
| 4ca0 | 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 79 30 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 | (equal(pnum,0)*ky0+equal(pnum,1) |
| 4cc0 | 2a 6b 79 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 79 32 2b 65 71 75 61 6c 28 70 6e 75 | *ky1+equal(pnum,2)*ky2+equal(pnu |
| 4ce0 | 6d 2c 33 29 2a 6b 79 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 79 34 2b 65 71 75 61 6c | m,3)*ky3+equal(pnum,4)*ky4+equal |
| 4d00 | 28 70 6e 75 6d 2c 35 29 2a 6b 79 30 29 2d 6e 79 30 29 2a 73 63 61 6c 65 2b 6e 79 30 3b 0d 0a 7a | (pnum,5)*ky0)-ny0)*scale+ny0;..z |
| 4d20 | 31 3d 28 28 65 71 75 61 6c 28 70 6e 75 6d 2c 30 29 2a 6b 7a 30 2b 65 71 75 61 6c 28 70 6e 75 6d | 1=((equal(pnum,0)*kz0+equal(pnum |
| 4d40 | 2c 31 29 2a 6b 7a 31 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 32 29 2a 6b 7a 32 2b 65 71 75 61 6c 28 | ,1)*kz1+equal(pnum,2)*kz2+equal( |
| 4d60 | 70 6e 75 6d 2c 33 29 2a 6b 7a 33 2b 65 71 75 61 6c 28 70 6e 75 6d 2c 34 29 2a 6b 7a 34 2b 65 71 | pnum,3)*kz3+equal(pnum,4)*kz4+eq |
| 4d80 | 75 61 6c 28 70 6e 75 6d 2c 35 29 2a 6b 7a 30 29 2d 6e 7a 30 29 2a 73 63 61 6c 65 2b 6e 7a 30 3b | ual(pnum,5)*kz0)-nz0)*scale+nz0; |
| 4da0 | 0d 0a 0d 0a 78 32 3d 78 31 2a 63 72 7a 2d 79 31 2a 73 72 7a 3b 0d 0a 79 32 3d 78 31 2a 73 72 7a | ....x2=x1*crz-y1*srz;..y2=x1*srz |
| 4dc0 | 2b 79 31 2a 63 72 7a 3b 0d 0a 78 31 3d 78 32 2a 63 72 79 2b 7a 31 2a 73 72 79 3b 0d 0a 7a 32 3d | +y1*crz;..x1=x2*cry+z1*sry;..z2= |
| 4de0 | 2d 78 32 2a 73 72 79 2b 7a 31 2a 63 72 79 3b 0d 0a 79 31 3d 79 32 2a 63 72 78 2d 7a 32 2a 73 72 | -x2*sry+z1*cry;..y1=y2*crx-z2*sr |
| 4e00 | 78 3b 0d 0a 7a 31 3d 79 32 2a 73 72 78 2b 7a 32 2a 63 72 78 3b 0d 0a 7a 31 3d 31 2f 28 32 2b 2e | x;..z1=y2*srx+z2*crx;..z1=1/(2+. |
| 4e20 | 32 35 2a 7a 31 29 3b 0d 0a 78 3d 78 31 2a 7a 31 3b 0d 0a 79 3d 79 31 2a 7a 31 3b 0d 0a 78 3d 78 | 25*z1);..x=x1*z1;..y=y1*z1;..x=x |
| 4e40 | 2a 61 73 70 3b 0d 0a 70 6e 75 6d 3d 28 70 6e 75 6d 2b 31 29 25 36 3b 0d 0a 72 65 64 3d 6d 61 78 | *asp;..pnum=(pnum+1)%6;..red=max |
| 4e60 | 28 2e 31 2c 62 6e 6f 74 28 65 71 75 61 6c 28 70 6e 75 6d 2c 31 29 29 2a 6c 69 67 68 74 2a 73 69 | (.1,bnot(equal(pnum,1))*light*si |
| 4e80 | 6e 28 31 35 2a 73 63 61 6c 65 29 2a 73 69 6e 28 32 31 2a 73 63 61 6c 65 2b 74 29 29 2b 65 71 75 | n(15*scale)*sin(21*scale+t))+equ |
| 4ea0 | 61 6c 28 73 63 61 6c 65 2c 31 29 2a 6c 69 67 68 74 2b 2e 35 2a 6c 69 67 68 74 2b 2e 31 3b 0d 0a | al(scale,1)*light+.5*light+.1;.. |
| 4ec0 | 67 72 65 65 6e 3d 6d 61 78 28 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 62 6c 75 65 3d 6d 61 78 28 | green=max(.1,.4*red);..blue=max( |
| 4ee0 | 2e 31 2c 2e 34 2a 72 65 64 29 3b 0d 0a 73 63 61 6c 65 3d 69 66 28 70 6e 75 6d 2c 73 63 61 6c 65 | .1,.4*red);..scale=if(pnum,scale |
| 4f00 | 2c 73 63 61 6c 65 2d 73 63 61 6c 65 69 6e 63 29 3b 0d 0a 67 72 65 65 6e 3d 2e 38 2a 72 65 64 3b | ,scale-scaleinc);..green=.8*red; |
| 4f20 | 72 65 64 3d 2e 33 35 2a 62 6c 75 65 3b 62 6c 75 65 3d 72 65 64 3b 00 13 02 00 00 74 3d 74 2b 67 | red=.35*blue;blue=red;.....t=t+g |
| 4f40 | 65 74 73 70 65 63 28 30 2e 35 2c 31 2c 30 29 3b 0d 0a 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 6e | etspec(0.5,1,0);..//.Calculate.n |
| 4f60 | 6f 72 6d 61 6c 0d 0a 6e 78 3d 28 6b 78 30 2b 6b 78 31 2b 6b 78 32 2b 6b 78 33 2b 6b 78 34 29 2a | ormal..nx=(kx0+kx1+kx2+kx3+kx4)* |
| 4f80 | 30 2e 32 3b 0d 0a 6e 79 3d 28 6b 79 30 2b 6b 79 31 2b 6b 79 32 2b 6b 79 33 2b 6b 79 34 29 2a 30 | 0.2;..ny=(ky0+ky1+ky2+ky3+ky4)*0 |
| 4fa0 | 2e 32 3b 0d 0a 6e 7a 3d 28 6b 7a 30 2b 6b 7a 31 2b 6b 7a 32 2b 6b 7a 33 2b 6b 7a 34 29 2a 30 2e | .2;..nz=(kz0+kz1+kz2+kz3+kz4)*0. |
| 4fc0 | 32 3b 0d 0a 6e 78 30 3d 6e 78 3b 6e 79 30 3d 6e 79 3b 6e 7a 30 3d 6e 7a 3b 0d 0a 0d 0a 2f 2f 20 | 2;..nx0=nx;ny0=ny;nz0=nz;....//. |
| 4fe0 | 4c 6f 61 64 20 73 74 75 66 66 20 66 72 6f 6d 20 67 6c 6f 62 61 6c 20 72 65 67 69 73 74 65 72 73 | Load.stuff.from.global.registers |
| 5000 | 0d 0a 61 73 70 3d 72 65 67 30 30 3b 0d 0a 63 72 7a 3d 72 65 67 30 31 3b 73 72 7a 3d 72 65 67 30 | ..asp=reg00;..crz=reg01;srz=reg0 |
| 5020 | 32 3b 0d 0a 63 72 79 3d 72 65 67 30 33 3b 73 72 79 3d 72 65 67 30 34 3b 0d 0a 63 72 78 3d 72 65 | 2;..cry=reg03;sry=reg04;..crx=re |
| 5040 | 67 30 35 3b 73 72 78 3d 72 65 67 30 36 3b 0d 0a 70 6e 75 6d 3d 30 3b 0d 0a 0d 0a 2f 2f 20 52 6f | g05;srx=reg06;..pnum=0;....//.Ro |
| 5060 | 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 0a 6d 78 3d 6e 78 2a 63 72 7a 2d 6e 79 2a 73 72 7a 3b 0d 0a | tate.normal..mx=nx*crz-ny*srz;.. |
| 5080 | 6d 79 3d 6e 78 2a 73 72 7a 2b 6e 79 2a 63 72 7a 3b 0d 0a 6e 78 3d 6d 78 2a 63 72 79 2b 6e 7a 2a | my=nx*srz+ny*crz;..nx=mx*cry+nz* |
| 50a0 | 73 72 79 3b 0d 0a 6d 7a 3d 2d 6d 78 2a 73 72 79 2b 6e 7a 2a 63 72 79 3b 0d 0a 6e 79 3d 6d 79 2a | sry;..mz=-mx*sry+nz*cry;..ny=my* |
| 50c0 | 63 72 78 2d 6d 7a 2a 73 72 78 3b 0d 0a 6e 7a 3d 6d 79 2a 73 72 78 2b 6d 7a 2a 63 72 78 3b 0d 0a | crx-mz*srx;..nz=my*srx+mz*crx;.. |
| 50e0 | 0d 0a 6e 3d 62 6e 6f 74 28 61 62 6f 76 65 28 6e 7a 2c 2d 2e 31 2a 28 73 71 72 28 6e 78 29 2b 73 | ..n=bnot(above(nz,-.1*(sqr(nx)+s |
| 5100 | 71 72 28 6e 79 29 29 29 29 2a 72 65 67 39 39 3b 0d 0a 0d 0a 73 63 61 6c 65 3d 31 3b 0d 0a 0d 0a | qr(ny))))*reg99;....scale=1;.... |
| 5120 | 6c 69 67 68 74 3d 2e 31 2b 36 2f 28 73 71 72 28 6e 78 2d 31 29 2b 73 71 72 28 6e 79 2b 31 29 2b | light=.1+6/(sqr(nx-1)+sqr(ny+1)+ |
| 5140 | 73 71 72 28 6e 7a 2d 31 2e 35 29 29 3b 00 00 00 00 00 d0 00 00 00 2f 2f 20 42 61 63 6b 20 46 61 | sqr(nz-1.5));.........//.Back.Fa |
| 5160 | 63 65 20 43 75 6c 6c 65 64 20 50 65 6e 74 61 67 6f 6e 20 31 32 0d 0a 6e 3d 72 65 67 39 39 3b 0d | ce.Culled.Pentagon.12..n=reg99;. |
| 5180 | 0a 0d 0a 2f 2f 20 43 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 6b 78 30 3d 30 3b 6b 79 30 3d 24 50 48 | ...//.Coordinates..kx0=0;ky0=$PH |
| 51a0 | 49 2d 31 3b 6b 7a 30 3d 2d 24 50 48 49 3b 0d 0a 6b 78 31 3d 31 3b 6b 79 31 3d 31 3b 6b 7a 31 3d | I-1;kz0=-$PHI;..kx1=1;ky1=1;kz1= |
| 51c0 | 2d 31 3b 0d 0a 6b 78 32 3d 24 50 48 49 3b 6b 79 32 3d 30 3b 6b 7a 32 3d 31 2d 24 50 48 49 3b 0d | -1;..kx2=$PHI;ky2=0;kz2=1-$PHI;. |
| 51e0 | 0a 6b 78 33 3d 31 3b 6b 79 33 3d 2d 31 3b 6b 7a 33 3d 2d 31 3b 0d 0a 6b 78 34 3d 30 3b 6b 79 34 | .kx3=1;ky3=-1;kz3=-1;..kx4=0;ky4 |
| 5200 | 3d 31 2d 24 50 48 49 3b 6b 7a 34 3d 2d 24 50 48 49 3b 0d 0a 73 63 61 6c 65 69 6e 63 3d 31 2f 28 | =1-$PHI;kz4=-$PHI;..scaleinc=1/( |
| 5220 | 6e 2f 36 29 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 2b 00 00 00 e0 00 00 00 01 39 | n/6);.................+........9 |
| 5240 | 00 00 00 78 3d 28 78 2a 31 2e 35 2f 28 73 69 6e 28 73 7a 29 2d 31 2e 32 29 29 2b 73 78 3b 0d 0a | ...x=(x*1.5/(sin(sz)-1.2))+sx;.. |
| 5260 | 79 3d 28 79 2a 31 2e 35 2f 28 73 69 6e 28 73 7a 29 2d 31 2e 32 29 29 2b 73 79 3b 00 32 00 00 00 | y=(y*1.5/(sin(sz)-1.2))+sy;.2... |
| 5280 | 73 78 3d 61 78 2b 28 73 78 2f 31 2e 31 29 3b 0d 0a 73 79 3d 61 79 2b 28 73 79 2f 31 2e 31 29 3b | sx=ax+(sx/1.1);..sy=ay+(sy/1.1); |
| 52a0 | 0d 0a 73 7a 3d 61 7a 2b 28 73 7a 2f 31 2e 32 29 3b 00 44 00 00 00 61 78 3d 72 61 6e 64 28 31 30 | ..sz=az+(sz/1.2);.D...ax=rand(10 |
| 52c0 | 29 2f 31 30 30 2d 2e 31 2f 32 3b 0d 0a 61 79 3d 72 61 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f | )/100-.1/2;..ay=rand(10)/100-.1/ |
| 52e0 | 32 3b 0d 0a 61 7a 3d 72 61 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f 32 3b 00 00 00 00 00 01 00 | 2;..az=rand(10)/100-.1/2;....... |
| 5300 | 00 00 01 00 00 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 | ................................ |
| 5320 | 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 fe ff ff ff 23 04 00 00 80 00 | ..........................#..... |
| 5340 | 00 0b 24 80 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 | ..$....:........................ |
| 5360 | 00 00 00 00 40 00 00 41 56 53 20 32 2e 38 2b 20 45 66 66 65 63 74 20 4c 69 73 74 20 43 6f 6e 66 | ....@..AVS.2.8+.Effect.List.Conf |
| 5380 | 69 67 00 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe ff ff ff 71 00 00 00 82 | ig.........................q.... |
| 53a0 | 02 00 02 24 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ...$............................ |
| 53c0 | 01 00 00 00 00 40 00 00 41 56 53 20 32 2e 38 2b 20 45 66 66 65 63 74 20 4c 69 73 74 20 43 6f 6e | .....@..AVS.2.8+.Effect.List.Con |
| 53e0 | 66 69 67 00 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 10 00 00 00 | fig............................. |
| 5400 | 01 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 2b 00 00 00 71 00 00 00 01 16 00 00 00 64 3d 64 | ................+...q........d=d |
| 5420 | 2f 31 2e 30 32 3b 72 3d 72 2b 28 73 72 2f 31 30 29 3b 00 12 00 00 00 73 72 3d 61 72 2b 28 73 72 | /1.02;r=r+(sr/10);.....sr=ar+(sr |
| 5440 | 2f 31 2e 31 29 3b 0d 0a 00 18 00 00 00 61 72 3d 72 61 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f | /1.1);.......ar=rand(10)/100-.1/ |
| 5460 | 32 3b 0d 0a 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 2;.............................. |
| 5480 | 00 00 00 00 00 00 00 00 00 88 71 b2 03 43 6f 6c 6f 72 20 4d 61 70 00 00 00 00 00 00 00 00 00 00 | ..........q..Color.Map.......... |
| 54a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 02 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54c0 | 08 01 00 00 00 02 00 00 00 10 3a f8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........:..................... |
| 54e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5500 | 00 02 00 00 00 20 34 f8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ......4......................... |
| 5520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | ................................ |
| 5540 | 00 b8 33 f8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..3............................. |
| 5560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 50 33 f8 | .............................P3. |
| 5580 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 c8 66 41 01 00 00 00 | ..........................fA.... |
| 55c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 60 62 f6 01 00 00 00 00 00 00 00 | .....................`b......... |
| 5600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 48 43 f8 01 00 00 00 00 00 00 00 00 00 00 00 | .................HC............. |
| 5640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5660 | 00 00 00 00 00 00 00 00 00 02 00 00 00 38 ee f0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............8.................. |
| 5680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c0 | 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 | ................................ |
| 56e0 | 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 | ................................ |
| 5700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5720 | 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 | ................................ |
| 5740 | 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 | ................................ |
| 5760 | 00 17 00 00 00 28 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 0f 0f 0f 00 01 00 00 00 00 00 00 | .....(.......................... |
| 5780 | 00 00 00 00 00 01 00 00 00 01 00 00 00 04 00 00 00 2b 00 00 00 93 00 00 00 01 20 00 00 00 78 3d | .................+............x= |
| 57a0 | 78 2a 32 2b 73 78 3b 0d 0a 79 3d 79 2a 32 2b 73 79 3b 0d 0a 61 6c 70 68 61 3d 30 2e 31 00 15 00 | x*2+sx;..y=y*2+sy;..alpha=0.1... |
| 57c0 | 00 00 73 78 3d 61 78 2b 73 78 3b 0d 0a 73 79 3d 61 79 2b 73 79 3b 00 2d 00 00 00 61 78 3d 72 61 | ..sx=ax+sx;..sy=ay+sy;.-...ax=ra |
| 57e0 | 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f 32 3b 0d 0a 61 79 3d 72 61 6e 64 28 31 30 29 2f 31 30 | nd(10)/100-.1/2;..ay=rand(10)/10 |
| 5800 | 30 2d 2e 31 2f 32 3b 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | 0-.1/2;......................... |
| 5820 | 01 00 00 00 00 00 00 00 00 00 00 00 25 00 00 00 04 00 00 00 01 00 00 00 2b 00 00 00 96 00 00 00 | ............%...........+....... |
| 5840 | 01 23 00 00 00 78 3d 2d 78 2a 35 2b 73 78 3b 0d 0a 79 3d 2d 79 2a 35 2b 73 79 3b 0d 0a 61 6c 70 | .#...x=-x*5+sx;..y=-y*5+sy;..alp |
| 5860 | 68 61 3d 30 2e 30 36 00 15 00 00 00 73 78 3d 61 78 2b 73 78 3b 0d 0a 73 79 3d 61 79 2b 73 79 3b | ha=0.06.....sx=ax+sx;..sy=ay+sy; |
| 5880 | 00 2d 00 00 00 61 78 3d 72 61 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f 32 3b 0d 0a 61 79 3d 72 | .-...ax=rand(10)/100-.1/2;..ay=r |
| 58a0 | 61 6e 64 28 31 30 29 2f 31 30 30 2d 2e 31 2f 32 3b 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 | and(10)/100-.1/2;............... |
| 58c0 | 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ...................... |