Editing
Appendix/Ramblings/VirtualReality
(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!
=====Equivalent Matrix Instructions===== What is the overall '''<matrix>''' instruction associated with the position and orientation of each of these three cubes? <ul> <li>For '''ID28''': there are no associated rotation matrices; there is no associated translation; and, by default, the scaling is (S<sub>x</sub>,S<sub>y</sub>,S<sub>z</sub>) = (1, 1, 1). Hence, 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">S<sub>x</sub></td> <td align="center">0</td> <td align="center">0</td> <td align="center">T<sub>x</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">S<sub>y</sub></td> <td align="center">0</td> <td align="center">T<sub>y</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">S<sub>z</sub></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> <td align="right" rowspan="1"> = </td> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> <td align="center">0</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 — which results from concatenating the four rows of 4 numbers to create a single row of 16 numbers — should be, <table border="0" align="center" cellpadding="8"><tr><td align="center"><matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix></td></tr></table></li> <li>For '''ID2''': there are no associated rotation matrices; the translation vector is (T<sub>x</sub>,T<sub>y</sub>,T<sub>z</sub>) = (0, 45, 45); and, by default, the scaling is (S<sub>x</sub>,S<sub>y</sub>,S<sub>z</sub>) = (1, 1, 1). Hence, 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">S<sub>x</sub></td> <td align="center">0</td> <td align="center">0</td> <td align="center">T<sub>x</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">S<sub>y</sub></td> <td align="center">0</td> <td align="center">T<sub>y</sub></td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">S<sub>z</sub></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> <td align="right" rowspan="1"> = </td> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">1</td> <td align="center">0</td> <td align="center">45</td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> <td align="center">45</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, <table border="0" align="center" cellpadding="8"><tr><td align="center"><matrix>1 0 0 0 0 1 0 45 0 0 1 45 0 0 0 1</matrix></td></tr></table></li> <li>For '''ID29''': the translation vector is (T<sub>x</sub>,T<sub>y</sub>,T<sub>z</sub>) = (120, 0, 0); the scaling, as with the other two cubes, is (S<sub>x</sub>,S<sub>y</sub>,S<sub>z</sub>) = (1, 1, 1); and, this time, there is an associated rotation matrix. Specifically, the rotation matrix is,<table border="0" align="center" cellpadding="8"> <tr> <td align="center">R(α,β,γ)</td> <td align="center">=</td> <td align="left">R<sub>z</sub>(-90) × R<sub>x</sub>(-90) × R<sub>y</sub>(-90)</td> <td align="center">=</td> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center">cos(-90)</td> <td align="center">-sin(-90)</td> <td align="center">0</td> </tr> <tr> <td align="center">sin(-90)</td> <td align="center">cos(-90)</td> <td align="center">0</td> </tr> <tr> <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">1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">cos(-90)</td> <td align="center">-sin(-90)</td> </tr> <tr> <td align="center">0</td> <td align="center">sin(-90)</td> <td align="center">cos(-90)</td> </tr> </table> </td> <td align="right" rowspan="1"> × </td> <td align="left"> <table border="1" cellpadding="8"> <tr> <td align="center">cos(-90)</td> <td align="center">0</td> <td align="center">sin(-90)</td> </tr> <tr> <td align="center">0</td> <td align="center">1</td> <td align="center">0</td> </tr> <tr> <td align="center">-sin(-90)</td> <td align="center">0</td> <td align="center">cos(-90)</td> </tr> </table> </td> </tr> <tr> <td align="center" colspan="3"> </td> <td align="center">=</td> <td align="center"> <table border="1" cellpadding="8"> <tr> <td align="center">0</td> <td align="center">+1</td> <td align="center">0</td> </tr> <tr> <td align="center">-1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <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="center"> <table border="1" cellpadding="8"> <tr> <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">+1</td> </tr> <tr> <td align="center">0</td> <td align="center">-1</td> <td align="center">0</td> </tr> </table> </td> <td align="right" rowspan="1"> × </td> <td align="center"> <table border="1" cellpadding="8"> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">-1</td> </tr> <tr> <td align="center">0</td> <td align="center">1</td> <td align="center">0</td> </tr> <tr> <td align="center">+1</td> <td align="center">0</td> <td align="center">0</td> </tr> </table> </td> </tr> <tr> <td align="center" colspan="3"> </td> <td align="center">=</td> <td align="center"> <table border="1" cellpadding="8"> <tr> <td align="center">0</td> <td align="center">+1</td> <td align="center">0</td> </tr> <tr> <td align="center">-1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <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="center"> <table border="1" cellpadding="8"> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">-1</td> </tr> <tr> <td align="center">+1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">-1</td> <td align="center">0</td> </tr> </table> </td> <td align="right" rowspan="1"> </td> <td align="center"> </td> </tr> <tr> <td align="center" colspan="3"> </td> <td align="center">=</td> <td align="center"> <table border="1" cellpadding="8"> <tr> <td align="center">+1</td> <td align="center">0</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">+1</td> </tr> <tr> <td align="center">0</td> <td align="center">-1</td> <td align="center">0</td> </tr> </table> </td> <td align="right" rowspan="1"> </td> <td align="center"> </td> <td align="right" rowspan="1"> </td> <td align="center"> </td> </tr> </table> Hence, 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(α, β, γ) × 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">+1</td> <td align="center">0</td> <td align="center">0</td> <td align="center">120</td> </tr> <tr> <td align="center">0</td> <td align="center">0</td> <td align="center">+1</td> <td align="center">0</td> </tr> <tr> <td align="center">0</td> <td align="center">-1</td> <td align="center">0</td> <td align="center">0</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, <table border="0" align="center" cellpadding="8"><tr><td align="center"><matrix>1 0 0 120 0 0 1 0 0 -1 0 0 0 0 0 1</matrix></td></tr></table></li> </ul> Indeed, we were able to exactly duplicate the cube trio configuration depicted above in the ''Example #5'' projected 2D image when we replaced the lines of code within the '''<library_visual_scenes>''' subsection of the ''Example #5'' .dae file with the following lines of code: <pre> <library_visual_scenes> <visual_scene id="ID1"> <node name="SketchUp"> <node id="ID2" name="instance_0"> <matrix>1 0 0 0 0 1 0 45 0 0 1 45 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> <node id="ID28" name="instance_1"> <matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> <node id="ID29" name="instance_2"> <matrix>1 0 0 120 0 0 1 0 0 -1 0 0 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> </node> </visual_scene> </library_visual_scenes> </pre> This demonstrates that, as conjectured above, the location and orientation of each of the three spawned cubes can be specified by using either (A) the explicit commands, '''<translate>''' and '''<rotate>''', or (B) the consolidated '''<matrix>''' command. Finally, ''Example #6'' demonstrates how a few small changes in the arguments of the '''ID2''' and '''ID29''' '''<matrix>''' commands can change the cubes into, respectively, flattened or elongated solid rectangles. <table border="0" align="center" width="80%" cellpadding="5"> <tr><th align="center" colspan="3">Example #6 — Incorporating Scaling into '''<matrix>''' Commands</th></tr> <tr><td align="left" colspan="2"> <div style="height: 300px; width: 700px; overflow: scroll;"> <pre> <library_visual_scenes> <visual_scene id="ID1"> <node name="SketchUp"> <node id="ID2" name="instance_0"> <matrix>2 0 0 0 0 1 0 45 0 0 2 45 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> <node id="ID28" name="instance_1"> <matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> <node id="ID29" name="instance_2"> <matrix>1 0 0 120 0 0 1 0 0 -3 0 0 0 0 0 1</matrix> <instance_node url="#ID3" /> </node> </node> </visual_scene> </library_visual_scenes> </pre> </div> </td> <td align="center" rowspan="1" bgcolor="lightgrey">[[File:ColladaMatrix22_image.png|250px|ColladaMatrix22_image]]</td> </tr> </table>
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