Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Hopalong Fractals

DZone's Guide to

Hopalong Fractals

· Big Data Zone
Free Resource

Learn best practices according to DataOps. Download the free O'Reilly eBook on building a modern Big Data platform.

Have you ever wondered what happen if you pick a point (x 0,y 0) and compute hundreds of point using these equations? 


Well, you get a hopalong fractal. 
Let's plot this fractal using Pylab. The following function computes n points using the equations above:
 
from __future__ import division
from numpy import sqrt,power

def hopalong(x0,y0,n,a=-55,b=-1,c=-42):def update(x,y):
  x1 = y-x/abs(x)*sqrt(abs(b*x+c))
  y1 = a-x
  return x1,y1
 xx =[]
 yy =[]for _ in range(n):
  x0,y0 = update(x0,y0) 
  xx.append(x0)
  yy.append(y0)return xx,yy
and this snippet computes 40000 points starting from (-1,10):
 
from pylab import scatter,show, cm, axis
from numpy import array,mean
x =-1
y =10
n =40000
xx,yy = hopalong(x,y,n)
cr = sqrt(power(array(xx)-mean(xx),2)+power(array(yy)-mean(yy),2))
scatter(xx, yy, marker='.', c=cr/max(cr), 
        edgecolor='w', cmap=cm.Dark2, s=50)
axis('equal')
show()
Here we have one of the possible hopalong fractals: 


Varying the starting point and the values of a, b and c we have different fractals. Here are some of them: 

 
(x=-1,y=0,a=.1,b=5,c=1)


(x=-1,y=0,a=5,b=1,c=5)

Find the perfect platform for a scalable self-service model to manage Big Data workloads in the Cloud. Download the free O'Reilly eBook to learn more.

Topics:

Published at DZone with permission of Giuseppe Vettigli, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}