Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Fractals/Hopalong

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Hopalong orbit-fractals. Name the Martin-Attractors: were discovered by Barry MartinHopalong by Ulrich Schwebinghaus Hopalong: an image is built of points hopping along on an elliptical path starting from one point in the center. History Hopalong orbits were discovered by Barry Martin from the Aston University, Birmingham. A.K. Dewdney presented the Hopalongs in the magazine "Scientific American" (1986) Algorithm An image is calculated using three parameters: a, b and c. Where a, b and c are constants which, by default are initialised to -55, -1 and -42 respectivelyhopalong fractal by James Henstridge ABS is the absolute value function SIGN(x) is the same as x/ABS(x). If x>0 then SIGN(x) = 1, if x<0 then SIGN(x) = −1 and if x = 0 then the result of SIGN(x) is zero, too. The color is changed every 2000 dots, until the 10 predefined colors are used, then the colors are repeated. Devaney's program INPUT num INPUT a, b, c x = 0 y = 0 PLOT(x, y) FOR i = 1 TO num xx = y - SIGN(x) * [ABS(b*x - c)]^0.5 yy = a - x x = xx y = yy Implementations openprocessing: Hopalong Attractor by Naoki Tsutae Attractors from pyviz From Barry Martin, here with code for two variants from François Pacull: @jit(nopython=True) def Hopalong1(x, y, a, b, c, *o): return y - sqrt(fabs(b * x - c)) * np.sign(x), \ a - x @jit(nopython=True) def Hopalong2(x, y, a, b, c, *o): return y - 1.0 - sqrt(fabs(b * x - 1.0 - c)) * np.sign(x - 1.0), \ a - x - 1.0 plot(Hopalong1) OpenProcessing code by Naoki Tsutae: x=0 a=2,b=1,c=0 t=0 setup=_=>{ createCanvas(800,800) background(0) noStroke() } draw=_=>{ t+=1 translate(width*.45,height*.45) y=sin(t/60) for(i=3e3;i--;){ newx=y-1-sqrt(abs(b*x-1-c))*Math.sign(x-1) newy=a-x-1 x=newx y=newy fill(map(sin(x+t),-1,1,0,256),map(sin(y+t),-1,1,0,256),map(sin(x+y+t),-1,1,0,256)) rect(x*100,y*100,2,2) } } References