In diesem Thread darf (und soll!) man gerne kleine Projekte vorstellen, die man Just-for-Fun oder als kleine Problemlösungen erstellt hat.
Ob das nun ein Programm, ein Script, ein Fetzen HTML oder sonst Vergleichbares ist, spielt hierbei keine Rolle.
Hauptsache lustig, nützlich oder total verrückt.
Ich fang einfach mal an mit einem kleinen Projekt, das ich heute durchgezogen hab, nachdem ich diesen Post auf tumblr entdeckt hatte. Es handelt sich dabei um eine Art der Euler-Spirale. Nimm eine Linie gegebener Länge, dann füge eine Linie gleicher Länge an, allerdings mit etwas größerem Winkel. Die Winkel der folgenden Linien zueinander werden dann immer kleiner und fluktuieren dann periodisch.
Für die Umsetzung entschied ich mich für ein Script in MatLab:
% Graphical presentation of a variant of the Euler-Spirale
% by Faxter, 2014
% starts with a line of given length, then adds another line from the
% ending point with same length and incremented angle.
% uses fxLine: function [p1] = fxLine(phi,l,p0)
% where phi is an angle in degree, l is length of the line, p0 the
% starting point, p1 the destination point
% initialisation
% _________________________________________________________________________
start = [0 0]; % start at origin
rep = 5000; % number of cycles to do
linelen = 1; % length of the lines to use
phi0 = 0; % starting value of angle
deltaphi = 300; % amount of angle to be added per rep
incphi = 3.7; % amount of angle to be incremented between lines per rep
% implementation
% _________________________________________________________________________
figure('units','normalized','outerposition',[0 0 1 1]);
for i = 1:rep
dest = fxLine(phi0,linelen,start); % determine destination of line
plot([start(1) dest(1)],[start(2) dest(2)]); % draw line
hold on; % keep plot alive
phi0 = phi0 + deltaphi; % increment angle
deltaphi = deltaphi + incphi; % increment angle between lines
start = dest; % set destination as start for next line
if i<20
pause(0.3);
else
pause(0.01);
end
end
Oder mit Syntax-Hervorhebung auch hier (PasteBin).
Eine schöne Kurve, die ich damit erzeugt habe, hab ich einfach mal auf Youtube hochgeladen:
Hier noch ein paar Bilder.
Dieses hier ist die Sache aus dem Video mit mehr Linien.
Teilweise werden die Kurven auch periodisch in hübschen "Tischdeckchenmustern" oder auch direkt periodisch nach zwei "Kringeln". Dazu ein paar Screenshots von Ergebnissen mit unterschiedlichen Parametern:
Wenn man den Winkel zwischen den Linien immer gleich bleiben lässt, entstehen Kreisannäherungen. Wenn der Winkel allerdings sehr groß wird, sieht die Approximation plötzlich recht lustig aus: