Tuesday, August 16, 2016

the mathematics of infinite virtual reality

1) Financial: The difference between infinite virtual reality and limited virtual reality is billions of dollars of profit.

Here's more on Finance.

2) User Experience: infinite virtual reality = freedom; limited virtual reality = frustration.

3) Resource requirement (number of calculations): 1 / infinity vs 1 / infinity.

4) Difficulty of implementation: lvr: 1; ivr: 1.


The three letters ivr describe an infinity of space, but in no detail. To describe an infinity of space including any detail, we need to speak in terms of the largest and smallest distances between points in our model. The largest unit of distance we can specifically describe, off the tops of our heads, is something like the diameter of the known universe, and the smallest unit of distance we can specifically describe is, of course, the Planck Length, "about 10 to the power of -20 times the size of a proton."


6) Its geometry:

The infinity of space represented in an ivr instance is divided entirely into cubes. One of these cubes is the root cube.

An ivr model is a database. An object in the root cube is in the database root record. An object is in a cube if a designated point belonging to the object is in the cube and the object's extents are not greater than the extents of the cube.

The root cube subdivides into 27 smaller cubes. An object in one of these cubes is in the model database record root / n. Each of these cubes subdivides into 27 cubes, and an object in one of them is in the record root / n1 / n2. This proceeds towards infinity at smaller scales.

The root cube is a subdivision of cube 1. It is 1 / 13. An object in cube 1 is in the cube 1 record. An object in a subdivision of cube 1 is in the record 1 / n. Cube 1 is a subdivision of Cube 2, 2 / 13. This proceeds towards infinity at larger scales.

The record for a subdivision of a cube is in the record for the subdivided cube.

7) Rendering:

If we put a camera into the model, its field of view will include certain cubes and exclude others. We can calculate which cubes are included, look for records for those cubes in the model, and, if they are found, render the objects specified in those records. In this way we can render any view of a model of billions of objects via the essentially instantaneous process of searching several cube records for included objects.

8) Objects:

An object can be rendered if it is a discrete surface. Of these there are several types, the simplest being a planar closed loop of points connected by lines, with the simplest instance of that being a triangle. Other simple types are discs, spheres, and cylinders, and more complex variants and combinations are also possible. It is worth mentioning that any set of specification which describes a volume also describes a surface.