Wie zu zeichnen/verwalten ein Sechseck-raster?

Ich habe diesen Artikel gelesen: generieren/erstellen von hexagon-Gitter in C . Aber schauen Sie, wie der Autor und Beantworter haben bereits aufgegeben.

√(hexagonSide - hexagonWidth * hexagonWidth): Was ist hexagonSide und hexagonWidth? Ist es nicht, wird < 0 (also Wurzel kann nicht berechnet werden).

Und, kann ich ein Sechseck in einem Rechteck? Ich brauche, ein raster zu erstellen, wie diese:

Wie zu zeichnen/verwalten ein Sechseck-raster?

Eins noch, wie kann ich gerne mein array zum speichern der Daten, sowie die Zellen sind neben einer Zelle?

Habe ich nie gelernt hexagon, also ich weiß nichts über Sie, aber ich kann leicht lernen neue Sache, so dass, wenn Sie erklären kann oder mir einen Anhaltspunkt, ich kann es selbst tun.

  • Dies würde erfordern nichts mehr als ein wenig geometrie/Trigonometrie. Die Winkel an der Ecke eines hexagon sind alle 360/3 Grad oder 120 Grad. Mit diesen Informationen und der Nutzung der Java-Math-Bibliothek Methoden (obwohl vorsichtig sein, zu ändern, Grad in Bogenmaß), Sie sollten in der Lage sein zu ziehen, einfach, ohne Verwendung von anderen code. Arbeit mit Diagrammen, die zuerst auf Papier, bevor Sie code auf IDE. Ich finde es am besten, zu denken, ein Sechseck als sechs gleichseitige Dreiecke, sondern tun, was für Sie am besten funktioniert. Dann komm zurück mit Ihrem code, wenn Sie fest sind, und wir werden mehr als froh, zu helfen!
  • Ich bin mir nicht sicher, was der Kerl in dem link war im Gespräch, aber grundlegende Trigonometrie wird Ihnen sagen, dass die Seite des Sechskant, s, ist in Bezug auf Ihre Höhe von der s * Wurzel-3 oder Java - s * Math.sqrt(3);
  • Finden Sie in diesem Beitrag, wie Sie zu finden, Nachbarn stackoverflow.com/questions/6661169/...
  • Voller Aale: Danke, aber deine Gleichung ist falsch, es ist s / Math.sqrt(3); 🙂
  • Ich bitte zu unterscheiden. Wenn "s" ist die Seite eines Sechsecks (so jedes Sechseck hat 6 Seiten, s), dann ein gleichseitiges Dreieck der Seitenlänge s wird eine Höhe von s * sqrt(3) / 2... basic-trig für die Sünde, die eine 60-Grad-Winkel. Da die Höhe des Sechsecks ist zweimal die Höhe des Dreiecks, die Höhe vom flat base flat top ist 2 * s * Math.sqrt(3) / 2, die gleich s * Math.sqrt(3). Q. E. D.
  • Voller Aale: Oh sorry, ich dachte, s ist die Höhe des Sechskant, ich verwechselte "ist in Bezug auf seine Höhe" mit "ist-Höhe".
  • Ok, es war ein Erfolg 🙂 Danke sehr dreck.
  • -1 Mehrere Fragen zusammen verpackt.

InformationsquelleAutor Luke Vo | 2011-08-22
Schreibe einen Kommentar