""" Dendrites 4 13.10.2019 www.3d-meier.de """ import c4d import random import math import cmath # Variablen und Konstanten Titel = 'Dendrites 4' # Name N = 1000000 # Anzahl Punkte Nv = 100 # Anzahl Punkte verwerfen dx = 0.001 # Breite Polygon dy = 0.001 # Hoehe Polygon Faktor = 1000 # Skalierungsfaktor def CreatePolygonObject(): obj = c4d.BaseObject(c4d.Opolygon) obj.ResizeObject(4*N, N) obj.SetName(Titel) # Startwerte Berechnung x = 0.5 y = 0.5 # Konstanten c = 0.43 # Zähler für Punkte setzten zz = 0 # Zähler für Polygone setzten zzz = 0 for i in xrange(0,Nv): zufall = random.randint(0,2) if zufall == 0: xa = x x = (1 - xa)/2.0 y = y/2.0 if zufall == 1: xa = x x = (1 + xa)/2.0 y = -y/2.0 if zufall == 2: xa = x x = 0.5 + c*y y = c*xa for i in xrange(0,N): zufall = random.randint(0,2) if zufall == 0: xa = x x = (1 - xa)/2.0 y = y/2.0 if zufall == 1: xa = x x = (1 + xa)/2.0 y = -y/2.0 if zufall == 2: xa = x x = 0.5 + c*y y = c*xa obj.SetPoint(zz, c4d.Vector((x-dx/2.0),(y+dy/2.0),0)) zz=zz+1 obj.SetPoint(zz, c4d.Vector((x-dx/2.0),(y-dy/2.0),0)) zz=zz+1 obj.SetPoint(zz, c4d.Vector((x+dx/2.0),(y+dy/2.0),0)) zz=zz+1 obj.SetPoint(zz, c4d.Vector((x+dx/2.0),(y-dy/2.0),0)) zz=zz+1 obj.SetPolygon(zzz, c4d.CPolygon(zz-1,zz-2,zz-4,zz-3)) zzz=zzz+1 obj.Message(c4d.MSG_UPDATE) return obj def main(): plyobj = CreatePolygonObject() doc.InsertObject(plyobj, None, None, True) c4d.EventAdd() if __name__=='__main__': main()