Eckpunkte eines Rechteck.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

MVB

Betreff: Eckpunkte eines Rechteck.

BeitragMi, Jun 30, 2004 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Question Ich hab sonne Frage: Ich habe ein Rechteckt. Dieses Rechteck kann ich in jede Richtung drehen. Ich weiss die koordinate des Mittelpunkts und ich weiss wie breit/hoch das Rechteck ist. Außerdem weiss ich den Winkel des Rechtecks. Wie finde ich jetzt die positionen der Eckpunkte heraus. Wenn ich mich nicht täusche, müsste das irgendwie mit sin/cos gehen. aber wie?

Ich bräucht sonne Funktion in der Art:Code: [AUSKLAPPEN]
Eckpunkt1(Mittelpunkt, Breite, Hoehe, Winkel)


Ich hoffe ihr versteht was ich meine und könnt mir helfen.
aquamonit.de|BlitzMax|MaxGUI

Abrexxes

BeitragMi, Jun 30, 2004 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Soll das ne Kollisionabfrage werden?

Jan_

Ehemaliger Admin

BeitragMi, Jun 30, 2004 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Eckpunkt1(Mittelpunkt, Breite, Hoehe, Winkel)
hehe
du rechnest einen kreis, mit 1,5 fachen radius und dann immer -45 Grad!
between angels and insects

Sebastian

BeitragMi, Jun 30, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Such die am weitesten vom Mittelpunkt entfernte 4 Pixel des Rechtecks raus.

Wenn ich Zeit habe 8) ,schriebe ich noch nen Code.
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !

TheShadow

Moderator

BeitragMi, Jun 30, 2004 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.uni-kassel.de/~lade...otrans.htm

siehe formel unter 3.25
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

TheProgrammer

BeitragMi, Jun 30, 2004 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du sowas?

Code: [AUSKLAPPEN]
Graphics 640,480,32,2
SetBuffer BackBuffer()

While Not KeyHit(1)
 Cls

 Rechteck GraphicsWidth()/2,GraphicsHeight()/2,100,50,winkel

 If KeyDown(203) Then winkel = winkel - 1
 If KeyDown(205) Then winkel = winkel + 1

 Text 0,0,"Winkel: "+winkel

 Flip
Wend
End

Function Rechteck(x,y,width,height,winkel)

   point1_X = x
   point1_Y = y
   
   point2_X = x+Cos(winkel)*width
   point2_Y = y+Sin(winkel)*width
   
   point3_X = x+Cos(winkel+90)*height
   point3_Y = y+Sin(winkel+90)*height
   
   point4_X = point3_X+Cos(winkel)*width
   point4_Y = point3_Y+Sin(winkel)*width
   
   Line point1_X,point1_Y,point2_X,point2_Y
   Line point1_X,point1_Y,point3_X,point3_Y
   Line point3_X,point3_Y,point4_X,point4_Y
   Line point4_X,point4_Y,point2_X,point2_Y

End Function


Das Rechteck wird aber nicht von der Mitte aus gezeichnet, sondern
vom linken, oberen Punkt.
aktuelles Projekt: The last day of human being

MVB

BeitragDo, Jul 01, 2004 13:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke an alle. Wink
aquamonit.de|BlitzMax|MaxGUI

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group