| Autor |
Beitrag |
BlackPhantom
      
Beiträge: 144
Win 2000, Win XP, UNIX
D7 Prof, C, HTML, VB 5
|
Verfasst: Di 06.05.03 17:15
Hi@all
Ich habe ein ganz normales Rechteck gezeichnet. Jetzt habe ich folgendes Problem:
Wenn ich den Drehpunkt auf "links-Oben" vom Rechteck sezte dann kann ich zumindest nur die senkrechte und die waagerechte Linie um diesen Punkt drehen. Wie mach ich es, dass sich alle vier Linien um diesen Punkt drehen?
Und neben bei:
Wenn der Drehpunkt der Mittelpunkt des Rechtecks/Dreiecks usw. ist wie mach ich es dann?
thx4all
MFG
BlackP
Zuletzt bearbeitet von BlackPhantom am Mi 07.05.03 16:52, insgesamt 2-mal bearbeitet
|
|
icolo
      
Beiträge: 26
|
Verfasst: Di 06.05.03 17:41
hi
Es gibt Formeln, um Punkte im Koordinatensystem um den Nullpunkt zu drehen.
Um diese Formeln anwenden zu können, musst du aber deine Zeichnung zuerst in ein anderes Koordinatensystem legen, das den Drehpunkt als Nullpunkt hat:
x~ = x - DrehX
y~ = y - DrehY
(DrehX, DrehY seien die Koordinaten des Drehpunkts im alten Koo-Sys.
x~, y~ seinen die neuen Koordinaten von x bzw y.)
Dann die Formeln für die Drehung:
x' = cos(a)*x~ - sin(a)*y~
y' = sin(a)*x~ + cos(a)*y~
(a sei der Drehwinkel)
Diese Formeln gelten im kartesischen Koordinatensystem mit der x-Achse nach rechts und der y-Achse nach oben. Ob es bei anderen Richtungen gleich ist, weiss ich nicht. Das müsste man sich noch überlegen.
Dannach musst du die Werte wieder ins alte Koo-System umrechnen.
Wenn du die x- bzw y-Werte aller Endpunkte so neu berechnet hast, kannst du damit ein Rechteck zeichnen, was kein Problem sein sollte.
Ich hoffe, das war's...
greets, icolo
_________________ @--- cu in hell! ---@
|
|
BlackPhantom 
      
Beiträge: 144
Win 2000, Win XP, UNIX
D7 Prof, C, HTML, VB 5
|
Verfasst: Di 06.05.03 17:58
Das Rechteck ist ja schon gezeichnet, was ich bei dir jedoch nicht verstehe ist das mit dem alten Koo-Sys und dem neuen. Wieso muss ich das Rechteck im neuen Koo-Sys zeichnen. Und auch wenn wie soll ich es denn umrechnen. Ich kenne noch nicht mal dieses "kartesisches Koo-Sys".
Neue Aufgabe: Wie drehe ich ein rechteckiges Object von TShape?
Ist glaube ih einfacher weiß jedoch nicht wie ich das rechnen soll
und erst recht programmieren....
|
|
icolo
      
Beiträge: 26
|
Verfasst: Di 06.05.03 20:05
Rückfragen:
1. Wie zeichnest du das Rechteck überhaupt? Etwa nicht in einer Canvas?
2. Wie hast du die beiden Seiten gedreht?
Ich scheine da ein paar Dinge vorausgesetzt zu haben, die gar nicht so klar sind...
greets, icolo
_________________ @--- cu in hell! ---@
|
|
BlackPhantom 
      
Beiträge: 144
Win 2000, Win XP, UNIX
D7 Prof, C, HTML, VB 5
|
Verfasst: Di 06.05.03 22:00
1. Klar hab ich es mit Canvas gezeichnet. Und zwar zwei Linien die zueinander in einem Winkel von 90° liegen.
2. Ich weiß zwar nicht direkt was du mit der Frage meinst aber vielleicht....Drehen tu ich es folgender Maßen: Beide Linien "Berühren bzw. Schneiden" sich in einem Punkt. Es ist jeweils die Spitze von den beiden Linien. Und diese drehen sich um diesen Schnittpunkt. Ist es umständlich erklärt weiß jedoch nicht wie ich es anders erklären soll.
Hoffentlich klar genug.
|
|
icolo
      
Beiträge: 26
|
Verfasst: Di 06.05.03 22:05
1. ok
2. ja, was und worum du gedreht hast, hab ich verstanden, aber wie?
du musstest doch irgendwie die neuen Punkte berechnen, und du sagtest, du hättest das gekonnt. Und wenn ich wüsste, wie du das gemacht hast, könnte ich es dir vielleicht besser erklären.
greets, icolo
_________________ @--- cu in hell! ---@
|
|
BlackPhantom 
      
Beiträge: 144
Win 2000, Win XP, UNIX
D7 Prof, C, HTML, VB 5
|
Verfasst: Mi 07.05.03 17:20
thx@icolo
Das mit dem Drehen des gezeichneten Rchtecks ist nicht das Wahre deswegen habe ich was neues ausprobiert, mit TShape.
@ALL
Mittlerweile habe ich den Mittelpunkt errechnet, jedoch hänge ich schon wieder am Drehen des SHape-Rechtecks.
Kannmir da jemand helfen 
|
|
|