Wow, what a fun and knowledge-filled article. It felt like reading Feynman.
Just casually browsing HN, this solves a problem that's been bugging me for months in my game: The world is scaled in feet/inches, while WebXR uses meters/cm to set ICD (virtual camera distance)! I think- based on my getting unusually nauseous.
I thought the solution was to scale the world, but there's more to it - and I think the solution is to reduce camera translation motion by the scale difference:
> Specifically if you translate your head sideways by the distance of your IOD, your left eyeball should now be seeing what your right eyeball was seeing. If it doesn't, the brain worries that something bad has happened, and makes you feel bad about it.
> Note that if you scale BOTH – you move the virtual cameras closer together, AND you reduce the in-game motion of the cameras due to head motion – everything is totally fine! The world just grew or shrank magically, but it all still works and you don't get nausea.
You may wonder why in hells a programmer would use imperial units instead of metric. It's to give the game a sense of being human-scale and pre-civilization. Why not just use metric and then convert everything to imperial for display purposes? Because then during debugging, units in logs constantly have to be converted to units shown, and the conversion isn't identical. It never bit me until VR!
As computer specialists, we should advocate a return of the Imperial system using fractions of an inch for measurements. This is because it fits perfectly into the binary floating-point system. There are no more problems relating to 0.1 being an irrational number in binary. It's all broken down into 1/2, 1/4, 1/8, 1/16 etc which in binary is 0b0.1, 0b0.01, 0b0.001, 0b0.0001
A 1 foot sandwich can be easily shared with 2, 3, 4 or 6 friends. And nobody has 5 friends anyway. There are no meter long sandwiches .. and if there were, you couldn't split it between 3 people. It's impractical. It's like if there were 100 degrees in a a circle.. You'd go nuts
Metric is for when you've made a mess of things and have completely given up on having nice round integer values
EDIT: This comment has been timed to coincide with when Americans wake up to defend me :) ~ USA! USA!
Impossible. Ever since Hercules accidentally stepped on his lunch sandwich in the stables of Augeas, his 12-inch foot has been the standard measurement for Ideal Sandwich.
I mean, sorta? First, arbitrary numbers are arbitrary. But I can point to my foot and say that is about a foot in size. An inch is roughly one of my knuckles. A yard is roughly a step.
Even that comic you linked drives this home. None of them are referenced to humans. They are things we mostly know, sure. But they aren't based on a human. (Well, I suppose the mass ones have an amusing set of people listed.)
And this avoids the measures that, for my memory, just haven't made it to metric yet. Acre, Astrological Unit, Knot, etc.
A decimeter is about 5 inches, which is the height of a cup, diameter of a burger, span across a hand, etc. To me that's a lot more human-friendly than a 'foot' being 12 inches.
You are citing a cartoon with a dick joke and a mom joke to say that metric is just as human oriented as imperial. Seriously:
Imperial:
1 Foot ~ the length of some guy's foot.
1 Second - the duration of one heart beat.
Metric:
1 Meter - some 1/10000 of 1/4 of an mis-measurement of the circumference of the Earth.
1 Second - stolen from the Imperial system cause 86 microdays did not easily divide by 10, 7, 24, 60, 30, 31 or 29.
The first mechanical clock that could accurately and reliably measure seconds was a pendulum clock with a length of one metre. Seconds and metres go hand in hand with the metric system.
Just casually browsing HN, this solves a problem that's been bugging me for months in my game: The world is scaled in feet/inches, while WebXR uses meters/cm to set ICD (virtual camera distance)! I think- based on my getting unusually nauseous.
I thought the solution was to scale the world, but there's more to it - and I think the solution is to reduce camera translation motion by the scale difference:
> Specifically if you translate your head sideways by the distance of your IOD, your left eyeball should now be seeing what your right eyeball was seeing. If it doesn't, the brain worries that something bad has happened, and makes you feel bad about it.
> Note that if you scale BOTH – you move the virtual cameras closer together, AND you reduce the in-game motion of the cameras due to head motion – everything is totally fine! The world just grew or shrank magically, but it all still works and you don't get nausea.
You may wonder why in hells a programmer would use imperial units instead of metric. It's to give the game a sense of being human-scale and pre-civilization. Why not just use metric and then convert everything to imperial for display purposes? Because then during debugging, units in logs constantly have to be converted to units shown, and the conversion isn't identical. It never bit me until VR!