On 2/1/07, S Mattison <[EMAIL PROTECTED]> wrote: > This might seem a haphazard or poorly thought out question, but it has > been long begged by science fiction, and I'm very intrigued to hear > answers from people who might know how it would be possible... > > Forget everything you know about the COD format. > > Say, I have a small online world, which looks something like a pyramid > on top of a hill. Consider the center of the base of this pyramid as > "The Origin Point". Say the extent of the square-shaped land area in > my world ranges from the virtual X/Y values of +1 to -1. (I know > nothing about the values of the current "pyramid" map, but follow me > on a tangent here...) > > After that, say I allow avatars into my world, maybe they look like > birds of some sort. > > Now... and this is where it gets tricky... Say I give them a command > that allows them to 'fly', or, retain the same Z value, while they > navigate across the X and Y axis... > > Would it be possible to allow my world to have near-infinite values > for X and Y (At least, as high as modern floating-point variables go)?
Don't know about vos yet but there is a general theory answer to this. For a space build on "modern floating-point variables", Ignoring the earlier part about a range from -1 to +1, there are some issues about floating point space you need to understand. It is not possible with the conventional navigation rules people normally use: you will get jittery motion, rendering artefacts and other problems the further you go from the origin. Roughly speaking, things tend to vibrate a bit around 1-2,000m out then shake a lot more around 40,000m and it gets worse. Most ppl will tell you this sort of thing is due to limited precision. Although that is true it has a lot more to do with spatial resolution and spatial error. To explain: Firstly, around 1.0 the resolution of floating point (x,y,z) space is very high: with the difference between one representable number and the next being 2.2 x 10^-16. As you get to the radius of the earth (about 6.4 x 10^6), the resolution is around 1m for single precision floating point coordinates. So the resolution of the space is nonuniform - see third slide in: http://www.web3d.org/x3d-earth/workshop2006/contributions/PingInteractiveGeoSimFidelityScalability.pdf The actual error between two coordinate values can be much much bigger if there has been any calculation because the more calculation there is the more the potential error increases - exponentially. All is not lost tho - you could move the origin - and the hirez space - with you:i.e. a floating origin. To do this, your navigation must transform the world/objects in reverse while your avatar stays at the origin. This partly answers what the server side does too: on the server, avatars are tracked through space (in double precision say) normally: in origin-relative sense. Floating the origin allows for smooth navigation in a continuous single precision space out to a world size as large as the earth - even larger. But viewpoints and navigation and some other things have to be handled differently. > Say; If two avatars float in an opposite direction for hours on end, > for the span of eight, sixteen, thirty-two hours... How would the > world need to be programmed so that, assuming they turn around 180 and > float back, it would take them both exactly the same amount of time to > get back to their original meeting place? Well the problem is not turning em round and getting em back, they will both fall over with bad case of jitters well b4 that :) Then, if you solve that, the problem is how accurate your rotation and navigation is. With careful management of calculation error and precision - and by using a floating origin - you can minimise the error but not eliminate it entirely: computers are such inexact beasties. For this specific example tho - reversing the direction vector should be getting the avatars heading back in exactly the right direction: but your navigation would have had to be always on exact same vector going out. > > If Penguin A created his own land-mass 28 hours from the meeting > point, how could I store it and retain the data in the server, > assuming said Penguin is capable of finding this point again? Define a spatial reference system: say cartesian x,y,z and time and reference everything to that grid on the server. You could use lat, lon, altitude and time, then u have to convert eventually to x,y,z - depends on what u want. cheers, chris > > -Steve > > _______________________________________________ > vos-d mailing list > vos-d@interreality.org > http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d > _______________________________________________ vos-d mailing list vos-d@interreality.org http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d