User:Tohline/Appendix/Ramblings/RiemannB74C692
From VisTrailsWiki
(→Quantitative Animation) 
(→Quantitative Animation) 

Line 129:  Line 129:  
</ol>  </ol>  
  We have chosen to specify the timevarying angle in increments of 60° and to end the animation sequence after the ellipsoid (or, alternatively, the laboratory frame) has completed exactly <b>five</b> full spins. As a result — ignoring any zeropoint offsets — one of the ANGLE arrays will vary from 0° to 5 × 360° = 1800° in 60° intervals (if spinning counterclockwise) or will vary from 1800° to 0° in 60° intervals (if spinning clockwise). Again ignoring any zeropoint offset, all the data values in the other ANGLE array will be 0°. The number of discrete data values that must be specified for each of the three arrays is therefore, by choice,  +  We have chosen to specify the timevarying angle in increments of 60° and to end the animation sequence after the ellipsoid (or, alternatively, the laboratory frame) has completed exactly <b>five</b> full spins. As a result — ignoring any zeropoint offsets — one of the ANGLE arrays will vary from 0° to 5 × 360° = 1800° in 60° intervals (if spinning counterclockwise) or will vary from 1800° to 0° in 60° intervals (if spinning clockwise). Again ignoring any zeropoint offset, all the data values in the other ANGLE array will be 0°. The number of discrete data values that must be specified for each of the three arrays is therefore, by choice, count = (1800/60)+1 = 31. 
+  
+  All we have left to do is specify the TIME interval that is equivalent to a 60° turn of the ellipsoid, as viewed from the inertial frame of reference. Given that one cycle of the wallclock's "minute" hand represents a frequency of <math>~[\pi G \rho]^{1 / 2}</math> and, furthermore by choice, we equate one cycle of the wallclock's "minute" hand to TIME = 4 in COLLADA time units (approximately 4 seconds of real time), we know that <b>one</b> complete spin of the ellipsoid is equivalent to 4/Ω<sub>EFE</sub> units of TIME. Hence the ellipsoid will turn through 60° in a time, ΔT = 1/[3Ω<sub>EFE</sub>].  
==COLLADA Model Files==  ==COLLADA Model Files== 
Revision as of 20:59, 30 May 2020
Contents 
Another Stype Example b74c692
This chapter is an extension of the chapter we have titled, "Riemann Meets COLLADA & Oculus Rift S." In that chapter we used as our first example of a Riemann Stype ellipsoid the model with parameters, (b/a, c/a) = (0.41, 0.385). Here we construct a model with parameters, (b/a, c/a) = (0.74, 0.692). Other closely related chapters are listed below under the heading, "See Also".
 Tiled Menu  Tables of Content  Banner Video  Tohline Home Page  
Key Physical Parameters
The model that we have chosen to use in our second successful construction of a COLLADAbased, 3D and interactive animation has the following properties; this model has been selected from Table 2 of our accompanying discussion of Riemann Stype ellipsoids:






Direct 

Adjoint 






The subscript "EFE" on Ω and λ means that the relevant frequency is given in units that have been adopted in [EFE], that is, in units of . In Figure 1a, the solid purple circular marker (where the pair of purple lines cross) identifies the location of this model in the "c/a versus b/a" diagram that appears as Figure 2 on p. 902 of S. Chandrasekhar (1965); essentially the same diagram appears in §49 (p. 147) of [EFE].
Coding Steps
Here we begin with a working model of b41c385 and use incremental changes in the COLLADAbased code to construct a working model of b74c692.
 Pulling from the earlier modeling subsection titled, Final Touches …

Final17.dae TERRIFIC !:
Both hands of the clock now continue to cycle smoothly (through 9.126 "hours" = 9^{h} 8^{m}) 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. This works in both visualization venues. 
Inertial17.dae:
This is identical to "Final17.dae" except that the system is viewed from the inertial frame of reference. This works in both visualization venues. 
[KEEP] Inertial21.dae:
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 work in both visualization venues.

Final17.dae TERRIFIC !:
 Pulling from a different earlier subsection titled, Multiple Lagrangian Fluid Elements …

MultiLagrange23.dae > TestMulti23.dae:
This model shows the motion of nine (small, red cube) Lagrange particles whose motion is confined to the equatorial plane of the Riemann ellipsoid. This nicely illustrates that the volume occupied by a region of fluid remains unchanged as the fluid moves around the ellipsoid. This works in both visualization venues! 
[KEEP] MultiLagrange26.dae:
Here, we set the "nudging" angle of the MidPlane to 1°, and moved the "nudging" angle of the ellipsoid from 5° to 0°. Also, we bumped the purple's opacity up from 0.6 to 0.8. This appears to work in both visualization venues.

MultiLagrange23.dae > TestMulti23.dae:
 TestMulti52.dae
Same as MultiLagrange23.dae > TestMulti23.dae, except the starting ellipsoid angle is nudged by 45° instead of 5°.  [KEEP] TestMulti56.dae:
Same as MultiLagrange26.dae, except we have attempted to replace the alphanumeric labeling. SUCCESS! Works in all three visualization venues: Mac "Preview", PC "3D Viewer", and Oculus RIft S.  Facebook glTF Transmutator (v1.5)
I am only now appreciating that, when a ".glb"formatted file is imported into the Oculus Rift S inventory, the importation step is handled by Facebook's glTF Transmutator (v1.5).  TestMulti70b.dae
Same as TestMulti56.dae, except we have inserted the correct EllipsoidOctant geometries (drawn from b74c692 Old_DRot.dae). This works in both visualization venues.
Quantitative Animation
First_rotation_euler_Z
Whether the observer is viewing the system from an inertial frame of reference or a rotating frame of reference, this animation section specifies the rate at which the ellipsoid spins and the rate at which the "laboratory" is spinning. Three sets of data must be specified:
 The "First_rotation_euler_Zinputarray", which specifies TIME.
 The "First_rotation_euler_Zoutputarray", which specifies how the ANGLE of orientation of the ellipsoid varies with TIME.
 The "Frame_rotation_euler_Zoutputarray", which specifies how the spin ANGLE of the laboratory frame varies with TIME.
We have chosen to specify the timevarying angle in increments of 60° and to end the animation sequence after the ellipsoid (or, alternatively, the laboratory frame) has completed exactly five full spins. As a result — ignoring any zeropoint offsets — one of the ANGLE arrays will vary from 0° to 5 × 360° = 1800° in 60° intervals (if spinning counterclockwise) or will vary from 1800° to 0° in 60° intervals (if spinning clockwise). Again ignoring any zeropoint offset, all the data values in the other ANGLE array will be 0°. The number of discrete data values that must be specified for each of the three arrays is therefore, by choice, count = (1800/60)+1 = 31.
All we have left to do is specify the TIME interval that is equivalent to a 60° turn of the ellipsoid, as viewed from the inertial frame of reference. Given that one cycle of the wallclock's "minute" hand represents a frequency of and, furthermore by choice, we equate one cycle of the wallclock's "minute" hand to TIME = 4 in COLLADA time units (approximately 4 seconds of real time), we know that one complete spin of the ellipsoid is equivalent to 4/Ω_{EFE} units of TIME. Hence the ellipsoid will turn through 60° in a time, ΔT = 1/[3Ω_{EFE}].
COLLADA Model Files
b74c692DI.dae [Direct Inertial Frame] … a COLLADA code containing nnnn lines of <xml>formatted ASCII text
<?xml version="1.0" encoding="UTF8" standalone="no" ?>
b74c692DRot.dae [Direct Rotating Frame] … a COLLADA code containing nnnn lines of <xml>formatted ASCII text
<?xml version="1.0" encoding="UTF8" standalone="no" ?>
b74c692AI.dae [Adjunct Inertial Frame] … a COLLADA code containing nnnn lines of <xml>formatted ASCII text
<?xml version="1.0" encoding="UTF8" standalone="no" ?>
b74c692ARot.dae [Adjunct Rotating Frame] … a COLLADA code containing nnnn lines of <xml>formatted ASCII text
<?xml version="1.0" encoding="UTF8" standalone="no" ?>
See Also
 Discussion of Ou's RiemannLike Ellipsoids
 Riemann Meets COLLADA & Oculus Rift S
 Virtual Reality and 3D Printing
 Success Importing Animated Scene into Oculus Rift S
 Carefully (Re)Build Riemann Type S Ellipsoids Inside Oculus Rift Environment: Example (b/a, c/a) = (0.41, 0.385)
 Other Example Stype Riemann Ellipsoids:
 (b/a, c/a) = (0.90, 0.333)
 (b/a, c/a) = (0.74, 0.692)
 (b/a, c/a) = (0.28, 0.256)
© 2014  2020 by Joel E. Tohline 