""" Chua Attraktor (c) Juergen Meier (www.3d-meier.de) 24.12.2021 """ import c4d import math def CreateSplineObject(): # Variablen und Konstanten Name = "Chua Attractor" a = 15.6 # Konstante Chua Attraktor b = 1.0 # Konstante Chua Attraktor c = 25.58 # Konstante Chua Attraktor d = -1 # Konstante Chua Attraktor e = 0 # Konstante Chua Attraktor x0 = 1 # Startwerte y0 = 1 # Startwerte z0 = 1 # Startwerte Delta = 0.01 # Delta Wert fuer die Berechnung N = 5000 # Anzahl Punkte Faktor = 150 # Skalierungsfaktor x = x0 # Startwerte zuweisen y = y0 # Startwerte zuweisen z = z0 # Startwerte zuweisen obj = c4d.BaseObject(c4d.Ospline) # Splineobjekt erzeugen obj.ResizeObject(N) # Groesse des Spline festlegen obj[c4d.SPLINEOBJECT_CLOSED] = False #obj[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINETYPE_LINEAR obj[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINETYPE_BSPLINE #obj[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINETYPE_BEZIER obj.SetName(Name) for i in range(0,N): h=e*x+(d+e)*(abs(x+1)-abs(x-1)) dx= a * (y - x - h) dy= b * (x - y + z) dz= -c * y x=x + Delta * dx y=y + Delta * dy z=z + Delta * dz obj.SetPoint(i, c4d.Vector(x*Faktor, y*Faktor, z*Faktor)) obj.Message(c4d.MSG_UPDATE) return obj def main(): slinobj = CreateSplineObject() doc.InsertObject(slinobj, None, None, True) c4d.EventAdd() if __name__=='__main__': main()