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 | ...................... |