ich habe ein mathematisches Problem, wo ich nicht weiterkomme: Ziel ist es, in einem Rechteck beliebiger Groesse und mit variirendem Seitenverhaeltnis eine goldene Spirale zu zeichnen.
Hier auf Seite 37 habe ich eine Formel gefunden, um die Spirale in Polarform zu beschreiben.
Diese Spirale soll in ein Rechteck mit den Seitenlaengen a und b gezeichnet / skaliert werden.
Meine Idee ist es, in einer Schleife den Rotationswinkel t hochzuzaehlen und den Abstand zum Zentrum bei diesem Winkel zu berechnen.
Um das ganze dann in ein X/Y Koordinatensystem zu rendern, wollte ich mittels der Lissajousfunktion x=sin(t) y=cos(t) einen Kreis beschreiben und diesen punkteweise mit dem errechneten Abstand multiplizieren, um die Spirale zu zeichnen.
Nachvollziehbarer Ansatz? Macht das so Sinn?
Problem dabei: Woher bekomme ich den "Mittelpunkt" der Spirale, also das Zentrum meines logischen Koordinatensystems in Abhaengigkeit von a und b?
Bin fuer jeden Hinweis oder alternativen Ansatz dankbar!
Beste Gruesse,
Helmuth
P.S. Nochmal konkret mathematisch:
Abstand vom Zentrum: r(t) = e ^ 0,306349*t
resultierender Graph im X/Y System: X = r(t) * cos(t) und Y = r(t) * sin(t)
Helmuth:
Problem dabei: Woher bekomme ich den "Mittelpunkt" der Spirale, also das Zentrum meines logischen Koordinatensystems in Abhaengigkeit von a und b?
Goldener Schnitt?
(Teilungsverhältnis der Seiten ca. 61,8% vs. 38.2%)
In X Richtung markiert die lange senkrechte Linie den ersten Goldenen Schnitt. Der zweite Schnitt fuehrt zur laengsten waagerechten Linie. Der Schnittpunkt beider ist ungleich dem gesuchtem Zentrum.
Vielleicht koennte man das als Reihe beschreiben?
CenterX = golden ratio 1 + golden ratio 5 + golden ratio 9 + ...
CenterY = golden ratio 2 + golden ratio 6 + golden ratio 10 + ...
Aber wie druecke ich das als (performante) Formel aus? Ich suche im Prinzip den Grenzwert der Reihen.
Die ganzen Laengen, welche der Fibonacci Reihe folgen in ein Array berechnen und dann die gewuenschten Teile aufsummieren?
Habe es von Hand ausgerechnet und einfach als const reingeschrieben. Fehler am Rand ist 1 Pixel bei einem 60 Megapixel Bild. Damit kann kann man leben. Dafuer geht die Berechnung schoen schnell.
Habe es in Processing zurechtgebastelt, bis es okayisch war: