public class Dreieck extends Geometrie
Das Dreieck ist die Basiszeichenklasse.
Jeder Koerper laesst sich aus solchen darstellen.
Daher ist dies die einzige Klasse, die in sich eine Zeichenroutine hat
farbzyklus, position, roh
Constructor and Description |
---|
Dreieck(float[] x,
float[] y)
Konstruktor
|
Dreieck(Punkt p1,
Punkt p2,
Punkt p3)
Konstruktor fuer Objekte der Klasse Dreieck
|
Modifier and Type | Method and Description |
---|---|
BoundingRechteck |
dimension()
Die implementierte dimension()-Methode.
|
Collider |
erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt.
|
java.awt.Color |
getColor() |
Dreieck[] |
neuBerechnen()
In dieser Methode werden saemtliche Dreiecke neu berechnet und die Referenz bei Aufruf in der Superklasse hierauf gesetzt
|
Punkt[] |
punkte() |
void |
punkteSetzen(float[] x,
float[] y)
Setzt die drei Punkte dieses Dreiecks nue
|
void |
punkteSetzen(Punkt p1,
Punkt p2,
Punkt p3)
Setzt die drei Punkte dieses Dreiecks neu.
|
boolean |
schneidetBasic(BoundingRechteck r) |
boolean |
schneidetBasic(Dreieck d)
Gibt an, ob diese Dreieck sich mit einem anderen schneidet.
|
void |
setColor(java.awt.Color c)
Setzt die Farbe ueber die JAVA-Farbklasse.
|
void |
verschieben(Vektor v)
Methode zum Verschieben
|
void |
zeichnen(java.awt.Graphics2D g,
BoundingRechteck r)
Zeichnet das Objekt.
|
aktualisieren, aktualisierenFirst, ausDreiecken, farbeSetzen, farbeSetzen, farbeSetzen, flaechen, formen, leuchtet, leuchtetSetzen, leuchtSchritt, loeschen
afterRender, aktivMachen, aktuellerCollider, beeinflussbarSetzen, beforeRender, beinhaltet, bewegen, bewegen, boundsUebernehmen, colliderSetzen, compareTo, drehenAbsolut, drehenRelativ, einfluesseZuruecksetzen, erzeugeLazyCollider, fallReagierbarAnmelden, geschwindigkeitHinzunehmen, geschwindigkeitSetzen, getForce, getMasse, gibDrehung, halbesAlpha, heavyComputingSetzen, hoehenUnterschied, impulsHinzunehmen, inFlaeche, istBeeinflussbar, kraftAnwenden, kraftSetzen, kritischeTiefeSetzen, leuchterAbmelden, leuchterAnmelden, luftwiderstandskoeffizient, luftwiderstandskoeffizientSetzen, masseSetzen, mittelPunkt, mittelpunktSetzen, mittelpunktSetzen, neutralMachen, newtonschMachen, passivMachen, position, positionSetzen, positionSetzen, positionX, positionY, problem, schneidet, schwerkraftAktivSetzen, schwerkraftSetzen, setzeMeterProPixel, sichtbar, sichtbarSetzen, sprung, stehReagierbarAnmelden, steht, stehtAuf, verschieben, zeichnenBasic, zentrum, zIndex, zuFarbeKonvertieren
public Dreieck(Punkt p1, Punkt p2, Punkt p3)
Konstruktor fuer Objekte der Klasse Dreieck
p1
- Der erste Punkt des Dreiecksp2
- Der zweite Punkt des Dreiecksp3
- Der dritte Punkt des Dreieckspublic Dreieck(float[] x, float[] y)
Konstruktor
x
- Alle X-Koordinaten als Feldy
- Alle Y-Koordinaten als Feldpublic void setColor(java.awt.Color c)
Setzt die Farbe ueber die JAVA-Farbklasse.
c
- Die Farbe dieses Dreiecks, anhand der Klasse Color
.public java.awt.Color getColor()
public void punkteSetzen(Punkt p1, Punkt p2, Punkt p3)
Setzt die drei Punkte dieses Dreiecks neu.
p1
- Der 1. neue Punkt des Dreiecksp2
- Der 2. neue Punkt des Dreiecksp3
- Der 3. neue Punkt des DreieckspunkteSetzen(float[], float[])
public void punkteSetzen(float[] x, float[] y)
Setzt die drei Punkte dieses Dreiecks nue
x
- Die Koordinaten aller X-Punkte. Der Index gibt den Punkt an (x[0] und y[0] bilden einen Punkt)y
- Die Koordinaten aller Y-Punkte. Der Index gibt den Punkt an (x[0] und y[0] bilden einen Punkt)public void verschieben(Vektor v)
Methode zum Verschieben
verschieben
in class Geometrie
v
- Die Verschiebung als VektorRaum.verschieben(Vektor)
public boolean schneidetBasic(Dreieck d)
Gibt an, ob diese Dreieck sich mit einem anderen schneidet.
Dem Test zugrunde liegt folgene Mathematische Schlussfolgerung als Bedingung fuer das schneiden:
2 Dreiecke schneiden sich,
->sobald mindestens ein Punkt des einen Dreiecks innerhalb des anderen liegt.
Dies ist die Grundlegende Testeinheit fuer alle geometrischen Formen Formen der Engine.
true
, wenn sich die beiden Dreiecke theoretisch schneiden wuerden, sonst false
.public boolean schneidetBasic(BoundingRechteck r)
public BoundingRechteck dimension()
Die implementierte dimension()-Methode.
public Punkt[] punkte()
public void zeichnen(java.awt.Graphics2D g, BoundingRechteck r)
Zeichnet das Objekt.
public Dreieck[] neuBerechnen()
Geometrie
In dieser Methode werden saemtliche Dreiecke neu berechnet und die Referenz bei Aufruf in der Superklasse hierauf gesetzt
neuBerechnen
in class Geometrie
public Collider erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt. Diese Methode approximiert für das Objekt der jeweils implementierenden Raum
-Klasse einen möglichst “guten” Collider; also einen solchen, der das tatsächliche Objekt möglichst genau umfängt, aber auch möglichst wenig Rechenarbeit beansprucht.
Raum
-Objekt umfassenden BoundingRechteck
erzeugt, dass über die dimension()
-Methode berechnet wird.erzeugeCollider
in class Geometrie
Raum.colliderSetzen(Collider)