2016-04-23 21 views
0

Ich habe gerade erst begonnen, OpenTK zu verwenden, und ich bin auch ziemlich neu bei der Verwendung von C# insgesamt. Wenn mir jemand in Bezug auf ein Tutorial oder in die richtige Richtung zeigen könnte? Es gibt viele Tutorials für Cube and Triangles, aber aus meiner Sicht ist eine solche Form sehr unterschiedlich. Danke vielmals.Wie würde ich ein sechseckiges Prisma mit OpenTK C# erstellen?

+1

Wenn Sie verstehen, wie man einen Würfel in OpenTK zeichnet, dann ist der einzige Unterschied die Anzahl der Flächen und ihre Koordinaten. Also ist es an dieser Stelle ein rein mathematisches Problem und nicht wirklich ein Programmierproblem. – Asik

+0

Ich bin mir nicht sicher über die mathematischen Gleichungen, die hinter diesen Berechnungen stehen. Könnten Sie mir in die richtige Richtung zeigen? – user6242518

Antwort

0

Ein Sechseck kann als six equilateral triangles sharing a common central point gezeichnet werden. Ihre Koordinaten von diesem zentralen Punkt aus zu finden, ist eine einfache Trigonometrie.

Sobald Sie ein Sechseck zeichnen können, zeichnen Sie ein anderes Sechseck, das mit einem Versatz des ersten übersetzt wird.

Sobald Sie zwei Sechsecke zeichnen können, ziehen Sie Quadrate zwischen entsprechenden Paaren von Gipfeln (das sind sechs Quads).

Sie haben jetzt ein sechseckiges Prisma!

+0

Ich habe die zwei Sechsecke gemacht, aber ich weiß nicht, wie man die Quads macht, um die Punkte zu verbinden, irgendwelche Hinweise, wie das gemacht werden kann? Vielen Dank. – user6242518

+0

Ein Quad ist zwei Dreiecke, die ein Rechteck bilden. Sie haben bereits alle Koordinaten, die Sie benötigen, da Sie nur vorhandene Punkte verbinden. Nicht sicher, was du sonst nicht verstehst. – Asik

+0

Ich habe die Koordinaten verwendet, um zwei einander gegenüberliegende Hexagone in der Szene zu erzeugen, ich kenne die Koordinaten, um sie verbinden zu können, aber es funktioniert nicht richtig, weil ich keine Ahnung habe, wie man den Wert für die Indizes berechnet. Ich verwende GetVerts und GetIndices – user6242518