Sonne in 1 sec. 0.36127167636 Bewegen [B3D]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

naibaf7

Betreff: Sonne in 1 sec. 0.36127167636 Bewegen [B3D]

BeitragSa, Sep 09, 2006 9:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo Leute



ich habe jetzt eine Skysphere erstellt, eine Sonne die sich bewegt erstellt...

... doch bei der Sonne gibts jetzt das Problem dass sie sich genau 0.36127167636 (gerundet auf 4 Kommastellen wäre auch gut also 0.3613) pro sekunde bewegen soll, leider schaff ich das net, bitte helfen!
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master

Christoph

BeitragSa, Sep 09, 2006 9:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreisatz.
Miss die Millisecunden von einem Durchlauf und berechne die Bewegung mit dem Dreisatz.
 

naibaf7

BeitragSa, Sep 09, 2006 9:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked @Christoph, dannn würde es aber doch sicherlich noch mehr komma stellen geben und ist das wirklich genau? Ich weiss net, aber irgendwie weiss ich auch net ganz genau was du damit meinst Wink
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master

Christoph

BeitragSa, Sep 09, 2006 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
In welcher Klasse bist du?
Kennst du noch nicht den Dreisatz?

Code: [AUSKLAPPEN]

Zeit (in Millisekunden): |      Bewegung:
-------------------------------------------------
 1000                    |      0.3613
-------------------------------------------------
 (Millisecs()-Start)     |         ?


->(Millisecs()-Start)*0.3613/1000

Start ist hier eine Variable der am Anfang der Hauptschleife Millisecs() zugewiesen wird
 

naibaf7

BeitragSa, Sep 09, 2006 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ich gehe in die 8 Klasse (kenn das schon), ok es geht jetzt, thx, einfach die übereinstimmungen von Abendrot/Sonnenposition und Zeit stimmt nach einigen durchläufen einfach net mer, da muss ich nach jedem durchlauf alle variablen auf 0 Setzen
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master

Christoph

BeitragSa, Sep 09, 2006 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich geh mal davon aus, dass du einen Drehpunkt (ql:createpivot) nimmst.
Per ql:entitypitch() kannst du den Drehwinkel auslesen und entsprechende Tagenzeiten setzen.
 

Dreamora

BeitragSa, Sep 09, 2006 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Mühe mit dem genauen Wert kannst du dir sparen:

1. Das ist schon zu genau als das es einen Sinn machen würde
2. Der Mensch erkennt unterschiede von wenigen Grad eigentlich prinzipiell nicht. Sprich ob du es jetzt genau jedes Frame aktualisierst oder einfach nur alle paar Sekunden einmal, macht keinen Unterschied. Davon abgesehen: Die richtige Sonne verhält sich so. Willste dein Spiel an den echten 24h Ablauf anpassen, sprich soll pro 24h nur 1x Nacht und 1x Tag sein? Falls das wirklich dein Ziel ist, so würde ich alle 5 Sekunden die Sonne um 1,825 Grad bewegen. Das dürfte in den meisten Fällen nicht auffallen (müsstest du halt testen) und weicht bei weitem nicht so stark ab. Das du trotzdem einmal pro 24h "resetten" musst ist sowieso klar. Am besten vor dem Sonnenaufgang oder so.
Grund dafür ist, dass diese Daten bestenfalls kurzzeitig während eines Tages des Jahres so stimmen, denn die Erde bewegt sich um die Erde, dabei ist immer ein anderer Breitengrad am nächsten zur Sonne etc.
Aber mal ehrlich: Ich denke nicht, das es überhaupt jemandem auffällt, wenn es nicht 100% akkurat ist, es dir aber viel Kopfzerbrechen und Float Ungenauigkeitsproblemlösungsfakes erspart. Denn wenn du solche Dinge akkurat machen willst musst du C nehmen oder eine entsprechende Sprache wo du high precision mathematiklibraries nutzen kannst
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

naibaf7

BeitragSa, Sep 09, 2006 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
also nein Very Happy so genau ^muss es wirklich nicht sein, ich möchte das in 12 minuten die sonne auf terrainhöhe aufgeht und danach auf terrainhöhe wieder untergeht, da in meinem Spiel eine nacht nicht praktisch ist möchte ich das die sonne, sobald sie ganz untergegangen ist, gleich wieder aufgeht, also keine nacht, aber wie es christoph beschrieben hat geht das jetzt ganz genau, Very Happy
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group