Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Bewegung eines Images nach einem Raduis

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
23.02.2007, 12:30 Uhr
~ICH
Gast


Hallo,

ich habe ein Problem mit dem ich mich schon lange beschäftige:
Ich will ein Image nach einem bestimmten Radius bewegen d. h., dass das Image z. B. im Uhrzeigersinn den gedachten Kreis(es muss auch wirklich ein Kreis sein keine Ellipse) "ablaufen" soll. Der Radius verändert sich aber ständig, sonst hätte ich das schon selbst gemacht. Kleine Info: Der gedachte Kreis soll nur gedacht sein, man soll ihn also nicht sehen. Die Linie vom festen Punkt(= Kreismittelpunkt) und zum Image darf man schon sehen. Ich arbeite mit dem C++ Builder 6 von Borland.

Mfg. ICH
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.02.2007, 12:58 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Womit hast du denn genau Probleme?

Theoretisch musst du doch nur den nächsten Punkt auf deinem Kreis berechnen und das Bild dann an der Stelle positionieren.
Wenn du den Kreismittelpunkt und den Radius kennst musst du dir doch nur noch eine Schrittweite (vielleicht ein Grad) überlegen...

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.02.2007, 14:35 Uhr
~ICH
Gast


Hallo,

wie berechne ich denn den nächsten Punkt am Kreis???


Zitat von Guybrush Threepwood:
Womit hast du denn genau Probleme?

Wenn du den Kreismittelpunkt und den Radius kennst musst du dir doch nur noch eine Schrittweite (vielleicht ein Grad) überlegen...



Wie kann ich denn die Länge des Radius berechnen(Ich kann das im c++ Builder nur mit den vier Punkt angaben z. B. (1, 1, 100, 100)???
Und das mit den Grad geht wohl auch nicht, weil der gedachte Kreis eine Variable ist der sich ständig verändert.

Mfg. ICH
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.02.2007, 17:45 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Ich denk der Kreis ist nur gedacht?

Das heißt du hast irgendwo einen Punkt X um den du dir einen Kreis denkst. Dieser Kreis muss ja einen gewissen Radius haben, oder wie kommst du zu deinem Kreis?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.02.2007, 18:28 Uhr
~ICH
Gast


Hallo,

ja, ich will denn nächsten Punkt vom Kreis und dass geht doch auch wenn man sich den Kreis denkt(man soll ihn halt nicht sehen!). Der Radius ist der vom Punkt X und vom Image(Image1->Left, Image1->Top). Also kann mir jemand helfen??

Mfg. ICH
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.02.2007, 19:00 Uhr
Th



Die Formel für die Koordinaten lautet dann:
x = mx + r*sin(a)
y = my + r*cos(a)

wobei mx und my der Mittelpunkt deines Kreises ist, r der Radius und a der Winkel (im Bogenmaß, also von 0 bis 2*PI).
Jetzt brauchst du nur den Winkel ändern und die neuen Koordinaten berechnen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.02.2007, 20:01 Uhr
~Hans
Gast



Zitat:
Ich will ein Image nach einem bestimmten Radius bewegen d. h., dass das Image z. B. im Uhrzeigersinn den gedachten Kreis(es muss auch wirklich ein Kreis sein keine Ellipse) "ablaufen" soll. Der Radius verändert sich aber ständig,


Das ist aber ein Widerspruch. Ein Kreis zeichnet sich doch gerade dadurch aus, das der Radius immer gleich ist. Wenn der Radius sich aber ständig ändert, hast Du es mit einer Ellipse zu tun. Die einzelnen Punkte auf dem Ellipsenbogen kannst Du dann mit der <a href="http://de.wikipedia.org/wiki/Ellipse#Ellipsengleichung_.28Polarkoordinaten.29" target="_blank">Ellipsengleichung in Polarkoordinaten</a> berechnen.

Hans
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.02.2007, 20:15 Uhr
Hans
Library Walker
(Operator)



Zitat:
<a href="http://de.wikipedia.org/wiki/Ellipse#Ellipsengleichung_.28Polarkoordinaten.29" target="_blank">Ellipsengleichung in Polarkoordinaten</a>


das muss natürlich so aussehen:
Ellipsengleichung in Polarkoordinaten

muss wohl daran liegen, das ich lange nicht hier war...

Hans,
der auch für den Beitrag 006 verantwortlich ist.
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 23.02.2007 um 20:15 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
24.02.2007, 09:05 Uhr
~ICH
Gast


Hallo,


Zitat von ~Hans:

Zitat:
Ich will ein Image nach einem bestimmten Radius bewegen d. h., dass das Image z. B. im Uhrzeigersinn den gedachten Kreis(es muss auch wirklich ein Kreis sein keine Ellipse) "ablaufen" soll. Der Radius verändert sich aber ständig,


Das ist aber ein Widerspruch. Ein Kreis zeichnet sich doch gerade dadurch aus, das der Radius immer gleich ist. Wenn der Radius sich aber ständig ändert, hast Du es mit einer Ellipse zu tun. Die einzelnen Punkte auf dem Ellipsenbogen kannst Du dann mit der <a href="http://de.wikipedia.org/wiki/Ellipse#Ellipsengleichung_.28Polarkoordinaten.29" target="_blank">Ellipsengleichung in Polarkoordinaten</a> berechnen.

Hans

Du hast das falsch verstanden. Ich meine damit, dass sich der Kreis ändert, also immer wenn sich die Position des Images ändert ändert sich der Radius des Kreises und es entsteht ein neuer Kreis.


Zitat von TH:

Die Formel für die Koordinaten lautet dann:
x = mx + r*sin(a)
y = my + r*cos(a)

wobei mx und my der Mittelpunkt deines Kreises ist, r der Radius und a der Winkel (im Bogenmaß, also von 0 bis 2*PI).
Jetzt brauchst du nur den Winkel ändern und die neuen Koordinaten berechnen...


1. Problem: Wie gebe ich den Radius an(wie schon gesagt im C++ Builder kenn ich das nur so: 1, 1, 100, 100(wie kann man ihn in einer einzelnen Angabe angeben z. B. Radius = 100???)
2. Problem: Das mit dem Winkel kapiere ich nicht (was 0 bis 2*PI???). Könntest du mir das bitte ausführlich erklähren??
Und nur damir wir uns richtig verstehen das was dabei raus kommt ist der nächste Punkt am Kreisbogen(wie berechnet man dann eigentlich ob er höher oder tiefer liegen soll?).

Danke schon mal.


Mfg. ICH
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
24.02.2007, 09:55 Uhr
Blubber2063



Schnapp dir mal ein Mathebuch und schau dir doch mal trigonometrie und Kreise an.

0-2Pi ist eine Periodenlänge der Sinus, bzw Cosinus Funktion, alles was größer 2pi oder kleiner 0 ist, wird wieder auf einen Wert 0-2pi abgebildet. Das Bogenmap ist eine andere Angabemethode für Winkel.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: