Ungenauigkeit von blitz....

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Moses

Betreff: Ungenauigkeit von blitz....

BeitragFr, Feb 03, 2006 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
stellt euch einfach vor, ihr habt euch eine lichtquelle und einobjekt, da die lichtquelle der einzigst fixe punkt im system ist, hängt ihr sie an euch und bewegt sie wenn ihr einen schriit nach vorne wollt nach hinten wenn ihr einen scritt nach links macht die lechtquelle nach rechts, an die lichtquelle bindet ihr alle anderen objekt

also

spieler
|
V
lichtquelle
|
|--->Objekt
|--->Objekt

nun habt ihr ein objekt und bewegt euch solange rückwärts ... irgendwann entfernt sich das objekt nichtmehr ... warum?

der kleine schritt den ich nach hinten mache wirkt sich auf die verechnug der objekt mit meiner schrittweite garnicht mehr aus ....


300000000000000000000.0 - 0.03 bleibt in blitz berechnet 300000000000000000000

was ist die beste lösung für das problem in blitz ohne mein welt zusammen zu stauchen???

5k41

BeitragFr, Feb 03, 2006 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ist die variable als Float deklairt? sry kann ja dein Know-How net einschätzen!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragFr, Feb 03, 2006 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein das geht nicht, weil das die Float genauigkeit übersteigt. Float kann maximal 8 10er stellen Differenz in der Grösse von Werten mit einander verrechnen ...

Allerdings frage ich mich, wofür so eine hohe Reichweite gebraucht wird, da die Kamera kaum auf eine solche Reichweite eingestellt wird, zumindest wenn du noch eine korrekte Tiefenberechnung haben willst (dann werden objekte vorne gezeichnet wenn sie hinten sein sollten etc)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Moses

BeitragSa, Feb 04, 2006 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ja klar floats was sonst ...

ich hab auch schon überlegt die objekte weiter heranzuziehen ... aber dan stimmt die beleuchtung nimmer von der beleuchtungsstärke her und wenn sich auchnoch in relation zur lichtquelle bewegen der einstahlungswinkel auch nicht Sad

gibts keine möglickeit??? von mir aus nehm ich erstmal auch grottige performance in kauf ...

wenn ich meinen weltbereich verkleinere verschiebe ich ja das problem nur weiter auf die nachkommastellen und hab die ungenaigkeitsprobleme wieder, da ja meine schritte auch dementsprechend klein sind ...

hmmm ich hab mir weiter überlegt, genau dann, wenn ich in den bereich der ungenauigkeit gerate auf ein näherliegendes lokales parentobjekt die lichtquelle zu hängen um dieses mit meinen positionsänderungen zu verrechnen ... somit würde ich dann immer zwischen meheren lokalen koordinatensystemen hinundher springen und meine welt immer quasi umkoppeln ...die frage ist ob dieses umkoppeln wenn sehr viele objekte in dem baum darunter hängen viel zeit kostet ... aber das würde mir die mit mit blitz maximal mögliche genauigket in abhängkeit von der entfernung zwischen den 'lks'-punkten geben oder irre ich?

also sieht die neue konstruktion so aus:

nächster lks punkt -> spieler
|
v
zuvor besuchter lks-punkt
|
v
...
|
v
zuvor besuchter lks-punkt
|
v
welt

man müsste dann noch damit es nicht zu unsinnig langen hinundherrechnungen kommt weil ich mich 'im kreis bewegt' habe die kreise dann auch in abständen aus dem zurückgelegtem pfad eliminieren


arghh wieso häng ich nicht einfach den spieler um anstat die welt ... also the other way around:


welt
^
|
zuvor besuchter lks-punkt
|
v
...
|
v
zuvor besuchter lks-punkt
|
v
spieler


naja das endet aber dann, wenn wenn der abstand zwischen den lkspunkten in relation zur entfernug der welt wiederr zu klein wird ...

dann muss ich noch grössere maschen darüber setzen ...

kurzum ich betrachte immer als erstes den abstand zum root-knoten also ... irgendwo hab ich das schonmal gehört ^^

http://symbolcraft.com/graphic...erman.html

Xaron

BeitragMo, Feb 06, 2006 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Was Du brauchst, sind Zonen und lokale Koordinatensysteme.

Schau Dir mal folgenden Link an, speziell ab dem Punkt "The Precision Issue":

http://www.drizzle.com/~scottb...-world.htm

Gruß - Xaron
Cerberus X - Monkey X Reloaded!
 

Moses

BeitragFr, Feb 10, 2006 3:29
Antworten mit Zitat
Benutzer-Profile anzeigen
was anderes macht doch oct tree zb nicht ... den raum beliebig fein segmentieren... aber des gibt immernoch krasse probleme wenn objekte an einem weitentferntem paren hängen :/?

Xaron

BeitragFr, Feb 10, 2006 10:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, wenn Du für Dein gesamtes System nur globale Koordinaten verwendest. Ab einer gewissen Weltgröße ist das nicht mehr machbar.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!
 

Moses

BeitragFr, Feb 10, 2006 11:01
Antworten mit Zitat
Benutzer-Profile anzeigen
naja es ist eher so angedacht, dass es einen baum gibt in dem jeder knoten maximal 8 weitere knoten oder blätter haben kann, die blätter sind die lokalen koordinatensysteme in denen objekte und auch der spieler positioniert ist.
überschreiten spieler oder objekte durch ihre eigenbewegung den bereich eines lokalen koordinatensystems gelangen sie ins nächste, werden also in ein schon vorhandenes oder neues blatt geschrieben.
wird eine entfernung so gross, dass die tiefe des baumes nicht mehr reicht wird die tiefe durch einfügen von neuen knoten von der wurzel aus erhöht.

die enfernungen zu irgend einem objekt im gesammten raum können dann relativ genau durch das hangeln duch den baum bestimmt werden...

ich werd erstmal ne 2d sim dazu schreiben und schauen ob das so hinhaut und und wie die performance leidet...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group