Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Kreisberechnungszeugs

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 07.01.2007, 15:13    Titel: Kreisberechnungszeugs Antworten mit Zitat

also, alles gute im neuen Jahr und Frohe Weihnachten happy (ja war lange net mehr hier happy )
habe ein kleines Mathematisches problem..

ich habe für den Thread ein kleines Beispiel geschrieben..

Code:

#define Links &h4B
#define Rechts &h4D
#define Hoch &h48
#define Runter &h50

Dim as Single X,Y,SP

screen 18
X=50
Y=50
SP=1

do
   
    X=X+SIN(SP)/(10000)
    Y=Y+COS(SP)/(10000)

    if multikey(rechts) then SP-=.000005
    IF multikey(links) then SP+=.000005

    PSET(X,Y)

loop until multikey(1)


das Programm zeichnet einen Punkt, den man mit den Tasten links/rechts steuernkann..
Die Richtung und die Geschwindigkeit werden durch die X und Y beschleunigung SIN() COS() berechnet..

was ich jetzt eigendlich wissen wollte, ich möchte das ganze umrechnen und zwar so, das ich eine Variable für die Geschwindigkeit und eine für die Richtung habe ( 0°-360°)



die Lösung wird wahrscheinlich sehr einfach.. ich hab schon viel rumprobiert.. aber ich bin wohl zu blöd dafür durchgeknallt zwinkern
ich hoffe jemand kann mir dabei helfen..

grüße d!rty happy h4rry

Editiert durch Moderator: Bild bei Imageshack hochgeladen.
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 07.01.2007, 15:29    Titel: Antworten mit Zitat

Der ganze Gag ist, dass freeBASIC nicht in DEG sondern in RAD rechnet; du hast also als 'Richtungsangabe' keinen Wert zwischen 0 und 360, sondern einen zwischen 0 und 2 * pi. Du kannst dir ein einfaches Makro schreiben, um die Winkel-Systeme umzurechnen:

Code:
#DEFINE pi ( 4# * ATN(1) )
#DEFINE RAD(x) ( pi * x / 180 )
#DEFINE DEG(x) ( x * 180 / pi )


In deinem Programm würdest du es dann so einsetzen:
Code:
x += Sin( Rad(Winkel) ) * Radius

Radius kannst du hier als Äquivalent zur Geschwindigkeit betrachten, Winkel ist deine gewünschte RichtungsVariable, die einen Winkel zwischen 0 und 360 angibt.
Funktioniert übrigens auch mit Werten größer 360, z.B. sind 370° gleichbedeutend mit 10°.
Der Winkel ist immer relativ zum Positiven Ast der X-Achse:

Code:

      |  /|
      | / |
      |/ a|
------+--------
      |

(Wobei a hier den namen des Winkels darstellen soll.)
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 07.01.2007, 16:17    Titel: Antworten mit Zitat

@Harry:
Dein Link auf das Bild ist geschützter Webspace. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 07.01.2007, 16:45    Titel: Antworten mit Zitat

danke für die antworten, ich werde das mal so testen denke ich..

Code:

#define pi ( 4# * ATN(1) )
#define RAD(x) ( pi * x / 180 )
#define DEG(x) ( x * 180 / pi )
#define Links &h4B
#define Rechts &h4D
#define Hoch &h48
#define Runter &h50

Dim as Single X,Y,Winkel,Radius

screen 18
X=50
Y=50
Winkel=1
Radius=10

do
   
    x += Sin( Rad(Winkel) ) * Radius
    y += Sin( Rad(Winkel) ) * Radius

    if multikey(rechts) then Winkel-=.000005
    IF multikey(links) then Winkel+=.000005

    PSET(X,Y)

loop until multikey(1)


ich bin sicher das funzt happy

danke happy

das mit dem bild, naja, war auch net so wichtig happy

d!rty böse h4rry
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 07.01.2007, 17:17    Titel: Antworten mit Zitat

Also wenn man auf deine Seite geht ( http://k3nnyhtn.k3.funpic.de/ ) und dann Grafik1.jpg anklickt geht es. Entferne das Bild bitte, denn sonst kommt immer das Passworteingabefeld happy
(den link kannst du ja da posten zwinkern )
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 07.01.2007, 17:32    Titel: Antworten mit Zitat

Funpic... Für das Hosten von Bildern gibt es doch ImageShack oder FileAnchor.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 07.01.2007, 17:35    Titel: Antworten mit Zitat

d1rty.h4rry hat Folgendes geschrieben:
Code:

#define pi ( 4# * ATN(1) )
#define RAD(x) ( pi * x / 180 )
#define DEG(x) ( x * 180 / pi )
In Schleifen ist es immer sinnvoll, sowenig rechenintensive Anweisungen wie möglich auszuführen:
Deshalb ist
Code:
#define Rad(x) (Atn(1)/45)
#define Deg(x) ( x * 45 / Atn(1)
schon mal eine Einsparung..
Code:
[(4*Atn(1)*x/180)=(4*Atn(1)*x/4*45)=(Atn(1)*x/45)]

..denkste, denn der Code wird ja überall ersetzt.
Also ne Function davon machen, imho grinsen
..und mach bitte den blöden Link wech..
[Edit]
Danke, oh Moderator grinsen
..dafür kommt jetzt mein Bild für Winkelberechnungen:

..das habter nu davon..
Gruß
ytwinky

Editiert durch Moderator: Code-Tags um Formel ergänzt, weil das Forum Smilies reingebaut hat. (Sebastian)
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 07.01.2007, 18:48, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 07.01.2007, 17:41    Titel: Antworten mit Zitat

Hehe, da ist man als IE-User total im Vorteil: Der stellt einfach nur ein [X] dar und schert sich nicht um etwaige Loginanforderungen. grinsen
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 07.01.2007, 17:58    Titel: Antworten mit Zitat

Du sagst es: _einmal_. durchgeknallt

Wobei ich das nicht als Vorteil sondern, als Nachteil auslegen würde.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 07.01.2007, 18:05    Titel: Antworten mit Zitat

Das ist kein Bug, sondern eine Funktion! durchgeknallt

"Filterung unerwünschter Passworteingabefelder"... lachen
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 12.01.2007, 21:02    Titel: Antworten mit Zitat

Sow wie automatisches Speichern von Passwörtern ohne manuelle Bestätigung?
Naja, gut, da kann man eigentlich nix sagen - einmal wird man ja gefragt, ob man einmal/immer/nie speichern will happy

anyway, ich empfehle, NIE auf immer speichern zu klicken - man ist überrascht, was alles als Passwort gespeichert wird.


Sebastian, welchen IE hast du eigentlich? Noch immer den IE6 oder hast du das angebotene Sicherheitsupdate auf Version 7 mitgemacht? Wenn ja, wie findest du die neue Klamotte?
Ich weiß noch nicht recht, was ich davon halten soll. Vieles ist ganz gut, Tabbed Browsing, eine Suchleiste wie bei FireFox für Google, Wikipedia, etc., und dabei ein bisschen schlanker als der FF.
Aber das Design... irgendwie... naja, ich mochte das XP-Design noch nie...

Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz