Visualization of Complex Function Graphs in Augmented Reality
Total Page:16
File Type:pdf, Size:1020Kb
M A G I S T E R A R B E I T Visualization of Complex Function Graphs in Augmented Reality ausgeführt am Institut für Softwaretechnik und Interaktive Systeme der Technischen Universität Wien unter der Anleitung von Univ.Ass. Mag. Dr. Hannes Kaufmann durch Robert Liebo Brahmsplatz 7/11 1040 Wien _________ ____________________________ Datum Unterschrift Abstract Understanding the properties of a function over complex numbers can be much more difficult than with a function over real numbers. This work provides one approach in the area of visualization and augmented reality to gain insight into these properties. The applied visualization techniques use the full palette of a 3D scene graph's basic elements, the complex function can be seen and understood through the location, the shape, the color and even the animation of a resulting visual object. The proper usage of these visual mappings provides an intuitive graphical representation of the function graph and reveals the important features of a specific function. Augmented reality (AR) combines the real world with virtual objects generated by a computer. Using multi user AR for mathematical visualization enables sophisticated educational solutions for studies dealing with complex functions. A software framework that has been implemented will be explained in detail, it is tailored to provide an optimal solution for complex function graph visualization, but shows as well an approach to visualize general data sets with more than 3 dimensions. The framework can be used in a variety of environments, a desktop setup and an immersive setup will be shown as examples. Finally some common tasks involving complex functions will be shown in connection with this framework as example usage possibilities. ii Dedication Dedicated to everybody who took more than a year to finish his/her master thesis. iii Acknowledgments I want to thank everybody who made this work possible, first of all my family, Barbara, the people I live with, my friends and my colleagues who supported my all the time. This work would also have been impossible without the work of my supervisor Hannes Kaufmann and Dieter Schmalstieg who guided me into the world of VR, the people of the VR-group in Vienna and Graz and the computer graphics institute with its master and the CGClub. iv Table of Contents Abstract................................................................................................... ii Dedication.............................................................................................. iii Acknowledgments...................................................................................iv List of Figures........................................................................................ vii 1 Introduction...........................................................................................1 1.1 Motivation.............................................................................................................. 1 1.2 Applications...........................................................................................................2 1.2.1 Math Education............................................................................................. 2 1.2.2 Electrical Engineering Math......................................................................... 2 1.2.3 Filter Design Math.........................................................................................2 2 Related Work........................................................................................ 4 2.1 Complex Function Visualization...........................................................................4 2.1.1 Applications................................................................................................... 4 2.1.2 Web Based Complex Function Visualization................................................6 2.1.3 Visualizations Generated by Existing Software............................................7 2.2 Augmented Reality..............................................................................................12 2.2.1 Science education with AR and VR.............................................................12 2.3 Visualization in Scene Graph APIs.....................................................................14 3 Technological Foundations..................................................................16 3.1 Inventor and Coin3D...........................................................................................16 3.1.1 Nodes............................................................................................................16 3.2 Studierstube.........................................................................................................17 4 The Complex Function Graph Visualization Node Kit for Inventor......18 4.1 The Framework's Design.....................................................................................18 4.1.1 A Visualization Task.....................................................................................18 4.1.2 Function Graph Specific Visualization Task...............................................19 4.1.3 Dimensionality Issues.................................................................................20 4.1.4 Domain Set Issues....................................................................................... 21 4.2 Implementation..................................................................................................22 4.2.1 Overview of Implemented Classes..............................................................22 4.2.1.1 SoComplexFunctionGraphVisualization Internals............................ 23 4.2.1.2 SoComplexFunctionEvaluator Internals............................................24 4.2.2 Domain Set Input........................................................................................25 4.2.2.1 SoComplexDomainSubSet_0D.......................................................... 26 4.2.2.2 SoComplexDomainSubSet_1D_RegularLine....................................26 v 4.2.2.3 SoComplexDomainSubSet_1D_RegularCircle..................................27 4.2.2.4 SoComplexDomainSubSet_2D_RegularRectangular.......................27 4.2.2.5 SoComplexDomainSubSet_2D_RegularPolar..................................28 4.2.2.6 domainSubSetList input.....................................................................29 4.2.3 Function Input............................................................................................29 4.2.4 Parameter Input......................................................................................... 30 4.2.5 Mapping Input.............................................................................................31 4.2.5.1 Graph Space Components (Source Vector)........................................32 4.2.5.2 Visualization Space Components (Target Vector).............................33 4.2.5.3 SoMappingGraphPropertyToVizFeature with scale and offset.........35 4.2.6 GraphVisualization Configuration Input...................................................36 4.2.6.1 Custom Point Objects..........................................................................36 4.2.6.2 Line and Arc Connectors.................................................................... 37 4.2.6.3 Array Dissolvers..................................................................................38 4.2.7 VizObjectDefinitionState............................................................................38 5 User Interfaces and Example Setups................................................... 43 5.1 Immersive Setup................................................................................................. 43 5.1.1 Immersive Setup User Instructions............................................................44 5.2 Desktop Setup.....................................................................................................45 5.2.1 Desktop Setup User Instructions................................................................45 6 Usage Examples...................................................................................47 6.1 Exploring the Process of Fractals Calculation (Iterative Complex Functions). 47 6.1.1 Experiment Nr. 1..........................................................................................47 6.1.2 Experiment Nr. 2......................................................................................... 51 6.2 Z-Tranform and Transfer Functions of Digital Filters...................................... 56 7 Conclusion........................................................................................... 61 7.1 Findings................................................................................................................61 7.2 Future Work........................................................................................................62 Appendix A: A Survey on Function Plotters............................................63 A.1 Function Plotter Applications........................................................................... 64 A.2 Web-based Function Plotters........................................................................... 68 A.2.1 Server Side Plot Image Generators........................................................... 68 A.2.2 Java/Flash Applets....................................................................................69 A.3 Generic Data Plotters.........................................................................................71