Dies ist eine alte Version des Dokuments!
Zunächst geht es darum, den Rahmen unseres Projektes festzulegen und uns mögliche Umsetzungsstrategien zu überlegen, das Netz zu programmieren. Hierfür lassen sich ein paar Programme finden, durch die sich unter anderem auch die physikalische Belastbarkeit des Netzes anschaulich machen lässt. Wir beschließen jedoch, zunächst einmal eine zweidimensionale Darstellung in Angriff zu nehmen und halten uns die Option offen, später noch Änderungen vorzunehmen, um dann evtl. doch im dreidimensionalen Bereich zu arbeiten.
Da es in der Natur die verschiedensten Spinnenarten gibt und jede ihr Netz auf eine andere Art und Weise baut, müssen wir als nächstes festlegen, welche Form bzw Art von Spinnennetz wir darstellen wollen. Nach einiger Recherche stellt sich das Netz der Radspinne als am besten geeignet heraus. Dies hat auch damit zu tun, dass wir zunächst ein zweidimensionales Netz bauen wollen und bei vielen anderen Spinnenarten das Netz eine dreidimensionale Form hat. Das Netz der Radnetzspinne eignet sich außerdem am besten, da der strukturell sehr klare Aufbau gut simuliert werden kann.
Jetzt geht es darum, herauszufinden, wie eine Spinne es überhaupt angeht, ein so detailliertes und feingliedriges Netz zu spinnen. Eine Abbildung allein hilft uns da nicht weiter. Wir stoßen auf eine Schritt-für-Schritt-Erklärung mit Spinne Silke auf einer Wissensseite für Kinder. Damit bekommen wir erstmal eine grobe Vorstellung davon, in welcher Reihenfolge die unterschiedlichen Teile des Netzes gesponnen werden. Weitere Recherchen ergeben, dass es teilweise Widersprüche gibt was die Reihenfolge beim Spinnen der Spiralfäden angeht. Jedoch ist der Anfang bei allen Informationsquellen gleich
Die Spinne sucht sich einen Rahmen für ihr Netz (z.B. Zweige, Zimmerecke), in dem sie dann den ersten Faden zwischen zwei Punkten spannt. Dann seilt sie sich von der Mitte des Fadens aus ab und fängt dann an, einen eigenen Rahmen zu spinnen. Nun kann sie Speichen von diesem inneren Rahmen zur Netzmitte ziehen. Als nächstes spinnt sie eine Hilfsspirale von der Netzmitte nach außen, um danach eine Spirale mit Klebefäden zur Netzmitte hin zu spinnen.
Das erste Problem, auf das wir stoßen, ist, dass ein Programm selbstverständlich nicht die Intelligenz und Instinkte einer lebenden Spinne besitzt. Demnach müssen die Umgebungsbedingungen vom Programmierer vorgegeben werden. Da sich das als schwieriger herausstellt als gedacht, begnügen wir uns vorerst mit einer (fast) zufälligen Form, in die das Netz dann gewebt wird.
Nach kurzen Überlegungen, mit Geogebra oder Blender zu arbeiten, entscheiden wir uns, bei matplotlib zu bleiben.
Nach Erstellen des äußeren Rahmens folgen die Speichen, die mittels der Eckpunkte desselbigen programmiert werden. Anschließend kommt der innere Rahmen dazu, die inneren Speichen und schließlich die Spirale.
Schließlich wird das Programm noch so geändert, dass der User verschiedene Arten von Spinnennetzen abrufen kann, abhängig von Radius, Anzahl der Eckpunkte und Rundenanzahl der Spirale.
Die ausführliche Abfolge unserer Bearbeitungsschritte könnt ihr im Protokoll und in der Zusammenfassung des Projekts nachlesen.
Das fertige Radnetz besteht aus vier Komponenten:
Der äußerer Netzring ist meist ein einfaches Polygon, das den Kontakt des Netzes zur Außenwelt herstellt, und eine rein strukturelle Funktion hat. Die Anzahl der Ecken ist von der Spinnenarm und der Umgebung abhängig.
Mit dem inneren Netzring ist diejenige From gemeint, die entsteht, nachdem alle Ecken des äußeren Netzringes durch Querverbindungen vom Netzinneren getrennt wurden. Das entlastet die einzelnen Ecken, indem es die Kraft eines gefangenen Insekts besser auf alle Ecken verteilt.
Die Speichen sind sternförmig vom Netzmittelpunkt ausgehende Fäden, die am inneren Netzring ansetzen und die Basis für das Eigentliche Fangnetz bilden.
Die Spirale ist der einzige Teil des Netzes, der Tatsächlich klebt und damit Beute fangen kann. die Spirale eines Netzes ist selten perfekt; die Spinnen verändern ihre Form, um optimal die Fläche des Netzes auszunutzen oder Schäden zu reparieren. Für unser Projekt haben wir die dabei entstehenden Spiralformen vereinfacht, um sie für uns umsetzbar zu machen:
eine tatsachlich runde Spirale
und eine die möglichst viel Fläche abdeckt
Der Äußere Netzring wird relativ einfach in zwei Schritten generiert:
Zuerst werden n Punkte (wieviele Eckpunkte das Netz hat ist variabel) gleichmäßig auf einem Kreis verteilt, wobei Mittelpunkt und Radius im Konstruktor der Klasse angegeben werden:
Danach werden die Punkte um einen zufälligen Wert in eine zufällige Richtung verschoben, wobei die Zufallswerte so angelegt sind, das das Netz nicht all zu deformiert werden kann:
Zuletzt wird der Mittelpunkt neu berechnet, als Mittelwert aller Eckpunkte.
Die Querverbindungen des inneren Netzrings beginnen auf genau 1/3 und 2/3 des jeweiligen Abschnitts des äußeren Netzrings. Sie werden durch gewichtete Mittelwerte aus den Eckpunkten des äußeren Netzrings errechnet ( (2A + B)/3 und (A + 2B)/3 ).
Die Speichen sollen vom neuen Mittelpunkt ausgehend bis zum inneren Netzring verlaufen, unabhängig von dessen Eckpunkten, und ihre Anzahl soll frei Variable sein. Dazu wird eine Liste von Winkeln erzeugt, die die Speichen später haben sollen. In diesen Winkeln vom Mittelpunkt ausgehend wird der Schnittpunkt mit dem inneren Netzring gesucht.
Die Fangspirale, oder kurz Spirale, soll sich eine variable Anzahl von Umgänge um den Mittelpunkt drehen, ohne dabei bis ganz in den Mittelpunkt vorzudringen, oder den inneren Netzring zu verlassen. Je nachdem Welche Form sie habe soll wird entweder die Absolute Distanz zum Mittelpunkt oder die Relative Distanz zum Mittelpunkt entlang der Speiche gleichmäßig kleiner.