Erstellen von 3D-Rechteck mit c # - Stapelüberlauf

Nur Ihre eigenen erstellen. Hier sind einige Ideen:

Warte ab. Auf dem zweiten Gedanken: Eine Herkunft, eine Höhe, eine Breite und einen normalen Vektor wird nicht wirklich schneiden, da Sie nicht ein Gefühl von „oben“ haben, wie Sie in 2D zu tun.







Also, streich das. Darüber nachzudenken, es offenbart, dass die Breite und die Höhe in 2D ist eigentlich zwei Vektoren, mit der Ausnahme, dass ihre Richtung angedeutet wird: Breite die Länge eines Vektors in x-Richtung, Höhe ist die Länge eines Vektors in y-Richtung.

So modellieren Ihr Rechteck wie folgt aus:

  • ein Punkt (Ursprung)
  • eine Vektor Breite (dies oft u in Mathematik bezeichnet wird)
  • eine Vektor-Höhe (dies oft v in Mathematik genannt wird)
  • der Normalvektor ist nicht mehr notwendig, da wird es durch das Vektorprodukt der Breite x Höhe berechnet werden kann

Die drei anderen Punkte des Rechtecks ​​kann dann wie folgt berechnet:

  • Herkunft + Breite
  • Herkunft + Breite + Höhe
  • Herkunft + Höhe






Das Rechteck Klasse, die Sie Modelle ein 2D-Rechteck verknüpft haben (ich weiß nicht, was ein 3D-Rechteck sein würde, BTW).

So ziemlich die ganze System.Drawing Namespace beschäftigt sich mit 2D, so können Sie es nicht anpassen, dass Art und Weise.

Der System.Drawing Eltern-Namespace enthält Typen, die grundlegenden GDI + Grafikfunktionalität unterstützen. Kindernamespaces unterstützen erweiterte zweidimensionale und Vektorgrafik-Funktionalität, erweiterte Imaging-Funktionalität und druckbezogenen und typografische Dienstleistungen.

Oded ♦
366k ● 58 ● ● 649 839

(Über die Schnittfunktion)

Sie können nicht eine solche Funktion erstellen.

Die schneidende Funktion von zwei Rechtecken in 2D ist interessant, weil es Ihnen ein drittes Rechteck zurückzugibt (als leer sein).

Kreuzung von 2 „3D-Rechtecke“ im Raum ist nicht immer ein 3D rectange!

(Zum Beispiel zu 2 identischen Rechtecken und ein drehen, dann den Schnittpunkt.)

So können Sie nicht nur ein Rechteck-Objekt erstellen, dann eine Schnittfunktion, die ein Rechteck-Objekt zurückzugibt.

Sie brauchen mehr komplette 3D-Objekt-Management-Bibliothek.

Ein 3D-Rechteck wird durch 6 Ebenen begrenzt. so kann man es um 6 Einschränkungen x, y, z identifizieren

Dann wird die Kreuzung von zwei 3D-Rechtecke wird nur ein 3D-Objekt von 12 contraints identifiziert werden.

Wenn diese 12 Zwänge zu 6 denjenigen simplfied werden kann es eine rectange sein (aber es ist nicht immer der Fall ist), und wenn es nicht kann, dann ist es nicht ein Rechteck.







In Verbindung stehende Artikel