Immersive visualization of data sets in the 3-sphere Angela George & Alexander Gilbert

Similar documents
3D Hyperbolic Tiling and Horosphere Cross Section

Creating Mercator s Map Projection

Autodesk Navisworks Freedom Quick Reference Guide

Setting up A Basic Scene in Unity

solidthinking User Interface

Working with the BCC Z Space II Filter

The AHN2 3D web viewer and download tool

Images from 3D Creative Magazine. 3D Modelling Systems

Conversion of a 3D scene into video

INTRODUCTION TO MEDICAL IMAGING- 3D LOCALIZATION LAB MANUAL 1. Modifications for P551 Fall 2013 Medical Physics Laboratory

How to print a Hypercube

Bending Circle Limits

Cindy3D Project Documentation

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

The Importance of Matrices in the DirectX API. by adding support in the programming language for frequently used calculations.

1. Open up PRO-DESKTOP from your programmes menu. Then click on the file menu > new> design.

8. The triangle is rotated around point D to create a new triangle. This looks like a rigid transformation.

3D Body. Summary. Modified by Admin on Sep 13, Parent page: Objects

3D Model Viewer Version 1.4 User Guide

274 Curves on Surfaces, Lecture 5

Animation Basics. Learning Objectives

This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space.

BCC Comet Generator Source XY Source Z Destination XY Destination Z Completion Time

LAB # 2 3D Modeling, Properties Commands & Attributes

Game Design Unity Workshop

INTRODUCTION // MODELING PROCESS COMPARISON

Accessing OGC Services To access OGC WMS and WFS open the service in the directory that you want to consume, and click on either WMS or WFS.

Chapter 1: Introduction

Embedding the Petersen Graph on the Cross Cap

VirMuF Manual V 0.5 1

August 3 - August 31

3D Design with 123D Design

MODELING AND HIERARCHY

Assignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations

3D Modeling and Design Glossary - Beginner

Sculpting 3D Models. Glossary

FormZ Tips created by Phil Jones, edited by Nancy Cheng, University of Oregon 11/16/05

Hyperbolic Geometry. Thomas Prince. Imperial College London. 21 January 2017

COS 116 The Computational Universe Laboratory 10: Computer Graphics

GETTING STARTED TABLE OF CONTENTS

Getting Started. Extruding Features. Convert to feature class

Creating a T-Spline using a Reference Image

Data Representation in Visualisation

Joint Mathematics Meetings 2014

Computer Graphics Hands-on

Lesson 1: Creating T- Spline Forms. In Samples section of your Data Panel, browse to: Fusion 101 Training > 03 Sculpt > 03_Sculpting_Introduction.

Parametric Modeling. With. Autodesk Inventor. Randy H. Shih. Oregon Institute of Technology SDC PUBLICATIONS

The Five Rooms Project

solidthinking Environment...1 Modeling Views...5 Console...13 Selecting Objects...15 Working Modes...19 World Browser...25 Construction Tree...

COS 116 The Computational Universe Laboratory 10: Computer Graphics

Project report Augmented reality with ARToolKit

Creating T-Spline Forms

Lecture 4, 5/27/2017, Rhino Interface an overview

The Use of Repeating Patterns to Teach Hyperbolic Geometry Concepts

Market Intelligence Portal. User Guidance

Auto Texture Tiling Tool

Sir Sadiq s computer notes for class IX. Chapter no 3. Input/Output Devices

Working with the BCC Z Space I Filter

Escher s Circle Limit Anneke Bart Saint Louis University Introduction

Advances in MicroStation 3D

Unity introduction & Leap Motion Controller

TOOLS FOR 360 VIDEO IN PREMIERE

Viewer, Editor & Meter (Beta) User manual Department of Cartographic Engineering, Geodesy and Photogrammetry

Getting to know a beetle s world classification of closed 3 dimensional manifolds

Patterned Triply Periodic Polyhedra

In this tutorial, you will create the model of a chair, as shown in the image below, using the extended primitives and modifiers.

COMPUTER DESIGN OF REPEATING HYPERBOLIC PATTERNS

What s New in Emulate3D. New Tag Grid

Chief Architect X10 New Feature List

Today we will be exploring three-dimensional objects, those that possess length, width, and depth.

Expansion complexes for finite subdivision rules

Learning Task: Exploring Reflections and Rotations

Tutorial: Understanding the Lumberyard Interface

Adobe Illustrator CS5 Part 2: Vector Graphic Effects

MATERIAL FOR A MASTERCLASS ON HYPERBOLIC GEOMETRY. Timeline. 10 minutes Exercise session: Introducing curved spaces

Photo Tourism: Exploring Photo Collections in 3D

bridge essential skills

Game Mathematics. (12 Week Lesson Plan)

3D Modeling Course Outline

OnBase - EDM Services (Electronic Document Management Services)

Introduction to 3D Graphics

S206E Lecture 3, 5/15/2017, Rhino 2D drawing an overview

Scale Rate by Object Size: Only available when the current Emitter Type is Surface, Curve, or Volume. If you turn on this attribute, the

Lecture notes: Object modeling

Fractals: Self-Similarity and Fractal Dimension Math 198, Spring 2013

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

HYPERBOLIC STRUCTURE OF KNOT COMPLEMENTS

Game Design Unity Workshop

Graphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University

XVIII. AMC 8 Practice Questions

Optimal Möbius Transformation for Information Visualization and Meshing

MotionGraphix. User Guide. Quick Start. Overview

Lesson 1 Parametric Modeling Fundamentals

Animated Modifiers (Morphing Teapot) Richard J Lapidus

BCC Sphere Transition

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Real-time Gesture Pattern Classification with IMU Data

Autodesk Fusion 360 Training: The Future of Making Things Attendee Guide

SketchUp. SketchUp. Google SketchUp. Using SketchUp. The Tool Set

Transcription:

1 Immersive visualization of data sets in the 3-sphere Angela George & Alexander Gilbert Summary: This is a report of the project conducted in the Mathematical Computing Lab at University of Illinois at Chicago for Fall 2015. For this project, we developed real-time 3D graphics programs for visualization of point-cloud data sets in the 3-dimensional sphere. They target both virtual reality platforms (such as Google Cardboard and Oculus Rift) and desktop computers. We used these programs to explore data sets related to the geometry and combinatorics of curves on compact hyperbolic surfaces. Our faculty supervisor was David Dumas and our graduate mentors were Nathan Lopez and Jasmine Otto. The Problem: The 3-sphere is a higher dimension analogue of a sphere. It lives in the 4-dimensional space. Since it is difficult to visualize the 4-dimensional space, we use stereographic projection. Stereographic function is a function that projects a sphere onto a plane and it is defined on the entire sphere except at the projection point. This type of projection does not preserve the distances nor the volume but it does preserve the angles, that is a circle in a plane has the same image as the circle on a sphere. The two type of data sets that we use are: 1. Lattices in R 4 such as the integer lattice Z 4 2. Simple closed curves on hyperbolic surfaces This dataset is built on an earlier work of D. Dumas and F. Guéritaud [3] Design & Implementation: To visualize the arrangements of point in the 3-sphere in a useful way, we created two programs. The first is built using Unity 3D graphics framework [2] and the other is a browser-based WebGL application [1]. Each program uses a point cloud to visualize a particular dataset. We also developed a suitable JSON format to hold the information for our point clouds. To obtain point clouds from curves, the work of W. Thurston was used, that is a set of simple closed curves on a hyperbolic surface is realized as a set of dense points in a topological n-sphere, where n depends on the surface [5]. We wanted to build a software that would allow our users to view the 3-sphere in an immersive environment and have the ability to navigate the data set in a meaningful way. To do this, the users were placed at the origin in a 3D space and also have the ability to freely look around the environment created through the stereographic projection of the given 3-sphere data sets. To implement all these features, we decided to use Unity 5, part of the Unity 3D graphics framework, to handle the graphics. Unity 5 was used as it was an engine that could be easily used and also had the ability to code in a familiar language, C#. Unity, being a 3D game engine, is also equipped with an extensive Math library that aided in many of the calculations. To place the users in the origin in Unity, a camera object was placed in the center of the environment. Unity also handles user input, so the rotation of the camera is tied to the mouse movements. To place

2 and display points in the environment, a Unity provided construct - Particle System is used. With the Particle System, we are able to define a collection of points, giving each a 3D position, size, and color. With all this in place, the next step was to take in a set of points in R 4, radially project each of them onto the 3-sphere (normalize each vector), stereographically project these points into R 3, feed that position to the Particle System, and then provide a way for the users to navigate this data. To navigate the data in a meaningful way, simply allowing the user to move off the origin and 'fly-around' a static point cloud would not suffice. Instead we locked the user to the origin, rotated the 3-sphere and allowed the points to move around the user. By rotating the sphere, the structure of the space and any symmetries it may have become apparent. Determining the 4 dimensional rotations of the 3-sphere was achieved with Unity 5's Quaternion library along with the fact that the space of 4D rotations could be represented with two unit quaternions. In addition, the user is also able to select a single point out of the entire data set to view any properties the point might have. In particular, when viewing the S(0,5) and N(2,2) data sets users can select a point and view the corresponding curve's word as well as its length. A word here refers to each point in the dataset, simple closed curves on hyperbolic spaces, that can be labeled by an element of the fundamental group of the surface, presented as a word in a fixed generating set. For WebGL, a third party library, known as Potree, was used to load the 3D datasets [4]. Potree is built on the WebGL 3D rendering library, Three.js and plas.io, a point cloud viewer. Potree takes files in xyz, laz, and las format and uses a converter to convert into octree format. This is then generated as a web page for users to view through any modern browser. Since multiple browsers enable strict security policies, a web server, such as xampp, is used to view this web page. The web page that Potree generates to view has multiple camera controls such as Earth controls, that lets users pivot around a point, users can use the right mouse to pan the camera and the pivot, the Fly Navigation that lets users use the WASD keys or the arrow keys to move through the environment and the left mouse to rotate the camera, the Orbit Navigation that lets users rotate the point cloud as a whole. In addition to the camera controls, Potree also has controls to adjust the size, shape, colour and opacity of the points visualized. Because Potree takes data sets as x, y, z coordinates, 4D datasets cannot be visualized by this library. A custom loader is required to visualize 4D datasets. Future Directions: The next step, in the Unity program, would be to allow the user to select a point in the simple curve data set and have a representative of the curve show up in a heads-up display. We would also like to port the program to other platforms and to use it for other 4-dimensional lattices. For the WebGL program, the next step would be to build a custom loader to load the 4D datasets and to use the camera controls of Potree (if possible) to navigate through the dataset.

3 Screenshots (Unity): The following are the screenshots of the datasets run through the Unity program. These are the primitive integer vectors in R 4, normalized and seen in stereographic projection using our program. For comparison, these are the primitive integer vectors in R 3. Since this is a dimension lower, the projection process and the actual sphere can be visualized.

4 Immersive view of the N(2,2) dataset in first perspective. White point is the point selected. Third person perspective of the N(2,2) dataset. This is the same set as above but from a different perspective, white point is the point selected.

5 Screenshots (WebGL): The following are the screenshots of the 3D datasets run through the WebGL program. This is a visualization of the dataset Z 3, the primitive integer vectors in R 3. This is a visualization of the dataset PML(N3) which is the projective measured lamination of the sphere with three cross caps. This dataset is built on an earlier work of D. Dumas and F. Guéritaud [3].

6 References [1] A. George https://github.com/angela107/ivs3 [2] A. Gilbert https://github.com/alex-gilbert/ivs3 [3] D. Dumas and F. Guéritaud, The PML Visualization Project. Accessed: 2015-09-25. http://dumas.io/pml/ [4] Schutz, M. Potree. http://potree.org. Accessed: 2015-11-28 [5] W. Thurston, Minimal stretch maps between hyperbolic surfaces. Preprint, 1986. arxiv:math/9801039