%FFP Category: "AFH" Title: "Newton Fractal Explorer 5.0c" Copyright: "Copyright ©1998, AFH Systems Group" Author: "Alex Hunter " Filename: "FMnewton5c.8bf" Dialog: color=steelblue ctl[0]:"- ZOOM +",range=(1,500),val=35 ctl[1]:"<-- PAN -->", range=(-400,+400),val=0 ctl[2]:" v-- TILT --^", range=(-300,+300),val=0 ctl[3]:"Resolution:", range=(1,1024),val=512,pagesize=50,linesize=5 ForEveryPixel: { //Code transliterated from p.94 of "Graphics Programming with Java" //by Roger T. Stevens. x1 = (x - X/2)*100.0/(ctl(0)*X) + ctl(1)/100.0; y1 = (y - Y/2)*75.0/(ctl(0)*Y) - ctl(2)/100.0; for (i0 = 0; i0 < ctl(3); ++i0) { x2 = x1*x1; x3 = x2*x1; x4 = x3*x1; x5 = x4*x1; x6 = x5*x1; x7 = x6*x1; x8 = x7*x1; y2 = y1*y1; y3 = y2*y1; y4 = y3*y1; y5 = y4*y1; y6 = y5*y1; y7 = y6*y1; y8 = y7*y1; z9 = x2 + y2; z9 = z9*z9; z9 = z9*z9; z9 = z9*z9*9.0; y0 = 0.88888888*y1 - (8.0*x7*y1 - 56.0*x5*y3 + 56.0*x3*y5 - 8.0*x1*y7)/z9; x0 = 0.88888888*x1 + ( x8 - 28.0*x6*y2 + 70.0*x4*y4 - 28.0*x2*y6 + y8)/z9; if (abs(x0 - x1) < 1e-10 && abs(y0 - y1) < 1e-10 ) break; x1 = x0; y1 = y0; } switch (i0 & 15) { case 0: //black R = 0; G = 0; B = 0; break; case 1: //blue R = 0; G = 0; B = 168; break; case 2: //green R = 0; G = 168; B = 0; break; case 3: //cyan R = 0; G = 168; B = 168; break; case 4: //red R = 168; G = 0; B = 0; break; case 5: //magenta R = 168; G = 0; B = 168; break; case 6: //brown R = 168; G = 84; B = 0; break; case 7: //lightGray R = 168; G = 168; B = 168; break; case 8: //darkGray R = 84; G = 84; B = 84; break; case 9: //lightBlue R = 84; G = 84; B = 255; break; case 10: //lightGreen R = 84; G = 255; B = 84; break; case 11: //lightCyan R = 84; G = 255; B = 255; break; case 12: //lightRed R = 255; G = 84; B = 84; break; case 13: //lightMagenta R = 255; G = 84; B = 255; break; case 14: //yellow R = 255; G = 255; B = 84; break; default: //white R = 255; G = 255; B = 255; break; } //switch } //ForEveryPixel