Gedrehtes Rechteck ziehen
Übersicht

![]() |
das wurgelBetreff: Gedrehtes Rechteck ziehen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin
Ich habe grad ne kleine Denksperre. Ich möchte mit der Maus ein gedrehtes Rechteck ziehen. Vorgegeben sind also ein Winkel und zwei Punkte. Was ich brauche sind die X- und Y-Koordinate des Rechtecks, sowie die Höhe und Breite. Das Rechteck wird mit SetRotation und DrawRect in BMax gezeichnet, es dreht sich also um die linke obere Ecke im Uhrzeigersinn. Das Rechteck soll in jede Richtung ziehbar sein und genau da harkts bei mir. Bitte um Hilfe. |
||
1 ist ungefähr 3 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde das so machen: Den Vektor Punkt 1 - Punkt 2 (Maus) auf die Vektoren Seite 1 und Seite 2 projizieren (Stichwort Skalarprodukt), um die Höhe resp. Breite zu erhalten. Alles andere (Drehwinkel und Startpunkt) sind ja vorgegeben.
mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das habe ich schon versucht. Das Problem ist, dass der Startpunkt nicht vorgegeben ist, da man ja keine negativen Höhen und Breiten angeben darf (, oder?) Der Startpunkt hängt also davon ab, in welche Richtung man das Rechteck zieht.
Hab hier mal zwei Vorlagen gemacht, für den Fall dass irgendein netter Mensch mir das Coden will: BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 16, 2BlitzMax: [AUSKLAPPEN] Strict |
||
1 ist ungefähr 3 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
So auf die Schnelle:
BlitzMax: [AUSKLAPPEN] Strict Oder möchtest du, dass der Startpunkt die Mitte des Rechtecks angibt? |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er möchte keine negativen Höhen-/Breitenangaben haben:
BlitzMax: [AUSKLAPPEN] Strict mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Holzchopf
Ich wusste garnicht das man auch negative Höhen und Breitenwerte angeben kann. Danke! @mpmxyz Ja genau so wollte ich das haben. Ich bin aber kurz bevor ich deinen Beitrag gelesen habe selbst auf die Lösung gekommen. Ich saß schon seit Stunden an dem Problem, aber manchmal ist es das beste einfach ncoheinmal ganz von vorne anzufangen und sich nicht von den alten Fehlgedanken irreleiten zu lassen. Trotzdem danke und sorry das ich deine Zeit verschwendet habe. @all Falls es jemanden intressiert, das ist meine Lösung: BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 16, 2 edit: @mpmxyz Ich habe mich geirrt, deine Zeit ist doch nicht verschwendet, denn deine Art es Berechnens ist genauer. Bei meiner Lösung wackeln die Ecken herum. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group