Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:zusammenfassung.cyberspiders [2021/03/30 16:00] yngve [Speichen] |
ws2021:zusammenfassung.cyberspiders [2021/04/12 17:05] (aktuell) isabel_lauterbach |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Dokumentation des "Produkts"/ Projektergebnisses ====== | + | ====== Zusammenfassung ====== |
- | \\ | + | |
- | =====1. Die Netzstruktur des Radnetzes===== | + | |
- | \\ | + | |
- | Das fertige Radnetz besteht aus vier Komponenten: \\ | + | |
- | \\ | + | |
- | - einem äußeren Netzring, dessen Eckpunkte die Ankerpunkte an der Umgebung darstellen sollen | + | |
- | - einem inneren Netzring, der die Belastung die beim Fangen von Beute entsteht gleichmäßiger verteilt, um die Ankerpunkte nicht zu überlasten. | + | |
- | - den [[Speichen]], die strahlenförmig vom Mittelpunkt des Netzes zum inneren Ring verlaufen | + | |
- | - der Fangspirale, die sich engmaschig um die Speichen windet und als einziger Teil des Radnetzes dazu dient, tatsächlich die Beute zu fangen | + | |
- | \\ | + | |
- | ==== äußerer Netzring ==== | + | |
- | 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.\\ | + | |
- | {{:ws2021:cs:aeusserernetzring.png?400|}} | + | |
- | \\ | + | |
- | ====innerer Netzring==== | + | 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. |
- | 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.\\ | + | 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.\\ |
- | {{:ws2021:cs:innerernetzring.png?400|}} | + | 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.\\ | ||
- | ====Speichen==== | ||
- | Die Speichen sind sternförmig vom Netzmittelpunkt ausgehende Fäden, die am inneren Netzring ansetzen und die Basis für das Eigentliche Fangnetz bilden.\\ | ||
- | {{:ws2021:cs:speichen.png?400|}} | ||
- | \\ | ||
- | |||
- | ====Fangspirale==== | ||
- | 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\\ | ||
- | {{:ws2021:cs:rundespirale.png?400|}} | ||
- | \\ | ||
- | und eine die möglichst viel Fläche abdeckt\\ | ||
- | {{:ws2021:cs:unrundespirale.png?400|}} | ||
- | \\ | ||
- | |||
- | \\ | ||
- | \\ | ||
- | \\ | ||
- | =====2. Umsetzung im Programm===== | ||
- | \\ | ||
- | ====äußerer Netzring==== | ||
- | 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: \\ | ||
- | {{:ws2021:cs:kreis.png?400|Kreis}} | ||
- | |||
- | \\ | ||
- | 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: \\ | ||
- | {{:ws2021:cs:kreisstreuung.png?400|Kreisstreuung}} | ||
- | \\ | ||
- | Zuletzt wird der Mittelpunkt neu berechnet, als Mittelwert aller Eckpunkte.\\ | ||
- | {{:ws2021:cs:neuermittelpunkt.png?400|}} | ||
- | \\ | ||
- | |||
- | ====innerer Netzring==== | ||
- | 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 ). | ||
- | \\ | ||
- | {{:ws2021:cs:innerernetzring3.png?400|}} | ||
- | |||
- | ====Speichen==== | ||
- | 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. | ||
- | \\ | ||
- | {{:ws2021:cs:speichen2.png?400|}} |