Editing
Appendix/Ramblings/RiemannMeetsOculus
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Final Touches=== What I really need to do in order to properly mount the clock on a vertical wall is to rotate it permanently by -90° about the Y-axis before rotating it in a time-varying way about the Z-axis. In this situation, the relevant '''4×4''' matrix is, <table border="0" align="center" cellpadding="8"> <tr> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center" colspan="3" rowspan="3">R<sub>y</sub>(-90) × R<sub>z</sub>(γ) × M<sub>scale</sub></td> <td align="center">T<sub>x</sub></td> </tr> <tr> <td align="center">T<sub>y</sub></td> </tr> <tr> <td align="center">T<sub>z</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> </tr> </table> </td> <td align="right" rowspan="1"> = </td> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">-S<sub>x</sub></td> <td align="center">T<sub>x</sub></td> </tr> <tr> <td align="center">S<sub>y</sub> · sin(γ)</td> <td align="center">S<sub>y</sub> · cos(γ)</td> <td align="center">0</td> <td align="center">T<sub>y</sub></td> </tr> <tr> <td align="center">S<sub>z</sub> · cos(γ)</td> <td align="center">- S<sub>z</sub> · sin(γ)</td> <td align="center">0</td> <td align="center">T<sub>z</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> </tr> </table> </td> </tr> </table> and the equivalent '''<matrix>''' instruction should be (ignore the square brackets around each term), <table border="0" align="center" cellpadding="8"><tr><td align="center"><matrix>[ 0 ] [ 0 ] [ -S<sub>x</sub> ] [ T<sub>x</sub> ] [ S<sub>y</sub> · sin(γ) ] [ S<sub>y</sub> · cos(γ) ] [ 0 ] [ T<sub>y</sub> ] [ S<sub>z</sub> · cos(γ) ] [ -S<sub>z</sub> · sin(γ) ] [ 0] [ T<sub>z</sub> ] [ 0 ] [ 0 ] [ 0 ] [ 1 ]</matrix> .</td></tr></table> <ul> <li> <font color="darkgreen"><b>Final09.dae</b></font>: <br />In this model, the clock is neatly mounted on the "wall" next to the alpha-numeric labeling; the scene is being displayed from the rotating frame of reference; the minute-hand runs through 5.0 compete cycles, but the hour hand stops after 2.0 cycles. <font color="red">This appears to work in both visualization venues</font>. <br />Here are some remaining details that need to be completed: <ol> <li>In order for the system to complete 5.000 spins of the ellipsoid, the minute hand needs to keep turning through 1.8252 × 5 = 9.1260 cycles; since we want each clock cycle to take 4.000 seconds of TIME, this means that TIME_max = 36.5040 seconds.</li> <li>Carry the "hour hand" through 9.1260 hours; it should run up through the same TIME_max, but spin 1/12 as fast as the minute hand.</li> <li>Create an inertial-frame visual_scene.</li> <li>Consider constructing the alpha-numeric "objects" a more efficient way so that, inside the Oculus Rift S environment, the animation is much smoother.</li> <li>In the rotating frame model, make the purple ellipsoid somewhat transparent to reveal the internal trajectories of ''various'' Lagrange particles, not just the single red particle that now moves in the equatorial plane along the ellipsoid surface.</li> </ol> </li> <li> <font color="darkgreen"><b>Final15.dae</b>: <br />Cleaned up a number of scaling issues. For example, in the above-discussed quaternion <matrix>, we have set T<sub>x</sub> = T<sub>y</sub> = T<sub>z</sub> = 0.0, and we have set S<sub>x</sub> = S<sub>y</sub> = S<sub>z</sub> = 1.0. This way, the quaternion <matrix> arrays handle only the Euler-angle specifications while all of the translations and scalings are specified in overarching "parent" nodes. <font color="red">This works in both visualization venues</font>. </li> <li> <font color="darkgreen"><b>Final17.dae</b></font></font> <font color="red">TERRIFIC !</font>: <br />Both hands of the clock now continue to cycle smoothly (through 9.126 "hours" = 9<sup>h</sup> 8<sup>m</sup>) while the laboratory frame completes 5.0 full spin periods — which will be 5.0 full spins of the ellipsoid as viewed from the inertial frame. <font color="red">This works in both visualization venues</font>. </li> <li> <font color="darkgreen"><b>Inertial17.dae</b></font>: <br />This is identical to "Final17.dae" except that the system is viewed from the inertial frame of reference. <font color="red">This works in both visualization venues</font>. </li> <li> <font color="darkgreen"><b>Inertial20.dae</b></font>: <br />In earlier models — including "Inertial17.dae" — we ''nudged'' the starting orientation of the ellipsoid by 3° (instead of starting from 0°) and ''nudged'' the starting orientation of the MidPlane by 5° (instead of starting from 0°) in order to avoid the odd experience we have encountered in the Oculus Rift S when these starting angles are set to zero; specifically, the Oculus environment spins the ellipsoid about the X-axis instead of about the Z-axis. Here, we have once again tried to simply set these starting angles back to 0°. As before, the Mac Preview app handles our intended instructions correctly. But when we viewed the translated ".glb" file with the PC's "3D Viewer" app, it spun the ellipsoid about its X-axis instead of about its Z-axis. First of all, this tells us that "the odd experience" has reappeared and is reproducible. But, second, we have learned that it is the COLLADA2GLTF converter — not the Oculus Rift S environment ''per se'' — that is causing the problem and <font color="red">the PC's 3D Viewer can be used to identify such problems ''without having to go to the trouble of donning the Oculus Rift S headset and hand controllers.''</font> This should simplify our debugging tasks in the future. </li> <li> <font color="darkgreen"><b>Inertial21.dae</b></font>: <br />Here, we set the "nudging" angle of the MidPlane to 0°, but moved the "nudging" angle of the ellipsoid from 0° to just 1°. This appears to <font color="red">work in both visualization venues</font>. </li> </ul>
Summary:
Please note that all contributions to JETohlineWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
JETohlineWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Tiled Menu
Table of Contents
Old (VisTrails) Cover
Appendices
Variables & Parameters
Key Equations
Special Functions
Permissions
Formats
References
lsuPhys
Ramblings
Uploaded Images
Originals
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information