Attraktors [Generative equation]

(Gamel) #1

Hi everyone

I present a script that I developed on “blender” to generate attraktors.
All Attraktors:

Here is my reference [Chaotic Atmospheres]. (made with cinema 4D plugin)

and this site where I found the mathematical equations. [Jürgen Meier]

(jjjuho) #2

So beautiful, loving the shapes especially with that wooden material on white bg :slight_smile: Everything is just perfect!

(Kemmler) #3

An excellent way to present code :smiley:

(Gamel) #4

Thank you! :slight_smile:
I like to combine art and programming, aesthetic and technical in my compositions

(Dennis Pixel) #5

Nicely done indeed. The shapes are very harmonious.

(imagecorp) #6

great !

there a few months ago:

(alan.zirpoli) #7

very nice, I assume you got the idea from him.

(Gamel) #8

Nice! This is done with a script?

Yes of course, it’s ma référence. I love the work of this Digital Artist. I tried to pay tribute to him with blender :slight_smile:

(meschoyez) #9

really beautiful. Maybe it would be great to have this as an add-on. I have no idea of how to do it, but i was just thinking on it :wink:
Again: great idea and great art.

(Mikel007) #10

Hello Gamel, that looks very beautiful. I have tried your script. But the script has problems under Blender 2.72b. It looks that are problems with the convertion from cube to nurbs. But i haven`t enough knowledge about python to change the script. Can anyone try to change the script so it runs under 7.72b. Thanks.

(RickyBlender) #11

looking nice
but where is the link for the script ?

happy bl

(Mikel007) #12

There is no link, the script is on the pictures. You have to write it in the blender text editor and press the button “run script”.

(Gamel) #13


" Can anyone try to change the script so it runs under 7.72b. Thanks."

…7.72??? hahaha ^^ I create this project with blender 2.72b, and I have not had a problem: /

I will spend my scene to test :wink: >>> LabousseGael_AttraktorsScript.blend (513 KB)

(Remade) #14

beautiful fluid forms

(elZancudo) #15

Great work!! love it

(tofuman) #16

These are amazing! The results are almost like furniture that can be 3d printed.

(Mikel007) #17

Many thanks for that. It runs on my PC, too. And Blender 7.72b - it will come, guarantee :slight_smile: I hope i find the problem that i have with the other script (it was the Thomas-Attraktor).

(elZancudo) #18

Ey, I’m really glad you share this, I’m having lots of fun with them.
I was trying to make a very sutil adjustment in the initial parameters and then apply it as a shape key, but I can’t get a fluid transition.
Am I missing something? or is just the nature of this attractors?

import bpy
import math

# Equations ///////////////////////////////// The Aizawa Attractor
# dx/dt = (z-β)*x-δ*y
# dy/dt = δ*x+(z-β)*y
# dz/dt = ɣ+α*z-(z**3/3)-(x**2+y**2)*(1+ε*z)+ζ*z*x**3

x0 = 0.1
y0 = 0
z0 = 0
i = 0
j = 0
w = 0

# Parametres
ε = 0.3
α = 0.95
ɣ = 0.6
δ = 3.5
β = 0.7
ζ = 0.1
Facteur = 10
Delta = 0.01

# Compteurs
t = 15000
Step = 25

# Listes
PointX = []
PointY = []
PointZ = []
VertexX = []
VertexY = []
VertexZ = []

def CalcPoints():
    for i in range (1,t):
        dx = (z-β)*x-δ*y
        dy = δ*x+(z-β)*y
        dz = ɣ+α*z-(z**3/3)-(x**2+y**2)*(1+ε*z)+ζ*z*x**3
        x=  x + Delta * dx
        y=  y + Delta * dy
        z=  z + Delta * dz
    subslistlen = int(len(PointX) / Step)
    for i in range (subslistlen):
        VertexX.append (PointX[ i * Step ])
        VertexY.append (PointY[ i * Step ])
        VertexZ.append (PointZ[ i * Step ])
def Aizawa():

    bpy.ops.mesh.primitive_cube_add()["Cube"].name = "Aizawa"
    bpy.ops.transform.resize(value=(0, 0, 0))
    obj  =['Aizawa']
    mesh =
    for j in range (len(VertexX)):
    for j in range (len(VertexX)):    
        vert = mesh.vertices[j][0] = VertexX[j]*Facteur[1] = VertexY[j]*Facteur[2] = VertexZ[j]*Facteur
    bpy.ops.curve.spline_type_set(type='NURBS')['Aizawa'].resolution_u = 3       

def shKey():
    for w in range (len(VertexX)) :['Aizawa'].data.shape_keys.key_blocks['Key 1'].data[w][0] = VertexX[w]*Facteur[1] = VertexY[w]*Facteur[2] = VertexZ[w]*Facteur


x0 = 0.101
y0 = 0.001
z0 = 0.001
ε = 0.3
α = 0.95
ɣ = 0.6
δ = 3.5
β = 0.7
ζ = 0.1
Facteur = 10
Delta = 0.01

del PointX[:]
del PointY[:]
del PointZ[:] 
del VertexX[:] 
del VertexY[:]
del VertexZ[:]


(KarelZe) #19

It was a cool coincidence the day you posted this on blendernation I finished doing some test renders. I continued my work today this is what I came up with using a blender addon called strange attractors… By the way I really like your renders! :smiley: Cheers Markus

(Gamel) #20

I do not know, I’m not very good at programming. I am always surprised to have managed this script ^^ But I’ll see that during the holidays

I did not know there was an addon to do. I knew that a “plugin” existed in C ++ on Cinema 4D but that’s all.

Thank you all! I think making a movie for the holidays if I have time ^^