PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   Off-Topic Diskussionen (https://www.php-resource.de/forum/off-topic-diskussionen/)
-   -   Polygone anhand von Winkeln und Entfernungen zeichnen (https://www.php-resource.de/forum/off-topic-diskussionen/102214-polygone-anhand-von-winkeln-und-entfernungen-zeichnen.html)

Malachite 21-09-2011 19:28

Polygone anhand von Winkeln und Entfernungen zeichnen
 
Man kann ja mit imagepolygon() Polygone zeichnen. Allerdings muss man dazu die Koordinaten der einzelnen Punkte angeben.
Gibt es eine Möglichkeit, Polygone anhand von Winkeln und Strecken zu messen?

wahsaga 21-09-2011 20:21

Was willst du da „messen“?

Malachite 21-09-2011 20:34

Zeichnen mein ich (bin etwas zerstreut :goth:).

AmicaNoctis 21-09-2011 20:42

Hallo,

klar, du kannst dir eine Funktion bauen, die anhand von Mittelpunkt, Kantenlänge, Winkelanzahl und Startwinkel ein regelmäßiges (das wäre das Stichwort gewesen ;)) Polygon zeichnet.

Gruß,

Amica

Malachite 21-09-2011 20:53

Und wie? Kannst du mir da irgendeinen Anhaltspunkt geben?

Vielleicht hilft es, wenn du den Hintergrund weißt:
Wir waren auf Klassenfahrt und haben dort mit einem Theodoliten Polygonzüge vermessen, das heißt, Entfernungen und Winkel berechnet. Und diese Polygonzüge möchte ich in einem Bild visualisieren.

AmicaNoctis 21-09-2011 21:14

Kannst du englisch? Wenn ja, sollte dir das alle Fragen beantworten: Radius of a Regular Polygon - Math Open Reference
Wenn nicht, hast du dort trotzdem die Formeln, wie du den Umkreisradius (circumradius) aus der Anzahl der Ecken (n) und etweder dem Inkreisradius (apothem) oder der Kantenlänge (s) berechnest.

Malachite 21-09-2011 21:27

Das Polygon soll aber nicht unbedingt regelmäßig sein.

AmicaNoctis 21-09-2011 21:39

Also nicht, okay. Dann hast du also nur die Winkel und die Kantenlängen. In diesem Falle gibt es keinen Mittelpunkt und du kannst nur an einem beliebigen Knoten anfangen und in einer beliebigen Richtung die erste Kante abtragen und die Richtung um den ersten Winkel ändern, das bis zur letzten Kante wiederholen und zum Schluss alle erhaltenen Punkte so normalisieren, dass der kleinste x- und der kleinste y-Wert jeweils 0 sind. Die größten Ordinaten geben dir entsprechend die Gesamtbreite und -höhe der Grafik.

Malachite 21-09-2011 21:52

Ich verstehe leider kein Wort :confused:

AmicaNoctis 21-09-2011 21:58

Geht das auch genauer oder was erwartest du jetzt von mir?

unset 22-09-2011 09:58

Ich hoffe AmicaNoctis muss hier nicht schon wieder Hausaufgaben erledigen …

Malachite 22-09-2011 19:00

Muss er nicht, aber es hat was mit der Schule zu tun.

AmicaNoctis 22-09-2011 19:46

Zitat:

Zitat von lx42 (Beitrag 656967)
Muss er nicht, aber es hat was mit der Schule zu tun.

Sie, wir sind hier nicht nur Jungs. ;)

Wo jetzt aber dein Verständnisproblem genau liegt, hast du uns wieder nicht erzählt.

@Berni: Kann ich bitte den Titel „Moderatorin“ bekommen?

combie 22-09-2011 20:21

Vorschlag:

Schritt 1: Stopfe die Winkel und Entfernungen in ein Array (2 Dimensional)

Transformation 1: Transformiere in das Kartesische System Startpunkt auf 0:0
Transformation 2: Transformiere in den ersten Quadranten

Dann Zeichne.

AmicaNoctis 22-09-2011 21:21

Liste der Anhänge anzeigen (Anzahl: 1)
Combies Erklärung ergab für mich keinen Sinn, aber bei genauerer Überlegung hab ich festgestellt, dass er der Meinung ist, du hast von einem bestimmten Punkt aus sternförmig in alle Richtungen zu den Knoten des Polygons gemessen und die Winkel zwischen den Strahlen sowie die Entfernung zum Messpunkt aufgezeichnet.

Ich dachte dagegen erst, dass du immer von einem Punkt zum nächsten gemessen, also den Theo immer neu platziert hast.

Kannst du mal bitte erläutern, welche der beiden Messmethoden jetzt die richtige ist? Combies klingt zugegebenermaßen praktischer.

Im Anhang mal ein Bild wie ich es jeweils meine. Oben Combies Methode, und unten die wie ich es verstanden hatte.


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:35 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG