• No results found

Selection and Zooming using Android Phone in a 3D Virtual Reality

N/A
N/A
Protected

Academic year: 2021

Share "Selection and Zooming using Android Phone in a 3D Virtual Reality"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Selection and Zooming using Android

Phone in a 3D Virtual Reality

Yanko Sabev

Director: Prof. Gudrun Klinker (Ph.D.) Supervisors: Amal Benzina

(2)

Introduction

Human-Computer Interaction through time

The Cubic SpaceMouse and the YoYo

from Froehlichs “The Quest for Intuitive 3D-Input Devices”

Kiliks et al. “two-4-six” Buffalos GyroMouse

5DT Data Glove Ultra

(3)

Most Relevant Works

„Phone Based Motion Control Travel

Technique in VR“ – FAR 2010

Android phone for traveling in a VR

Uses orientation sensor and touch screen

„two – 4 – six“ -Kilik, Blach, Fröhlich, 2006

Handheld device for 3D-Presentations

(4)

Selection and Zooming with Mobile Phone

Input Device:

Android phone to control a 3D cursor

Used integrated sensors:

Orientation sensor

Gyroscope

(5)

“Benzina et al. 2011”

Android Sensors

Orientation sensor

– Software implementation; uses Accelerometer data

– rotation angles around the 3 axes in degrees

– Used value – Pitch, positive values when the z-axis moves toward the y-axis

Gyroscope

– rate of rotation around the 3 axes in radians/second

– Used value – angular speed around the

(6)

Metaphors

Mapping

Phone -> VE

Orientation Metaphor:

• Heading -> Horizontal • Pitch -> Vertical

• Touch along Y -> Depth

Touch Metaphor:

• Touch along X -> Horizontal • Touch along Y -> Vertical • Pitch -> Depth

(7)

Android data - Pitch

Filters:

Average filters to smooth the data

Pitch: last three values

Heading: last five values

Pitch (Vertical coordinate):

• Calculate the difference between the current and the previous value and subtract it from the current vertical coordinate

(8)

Android data – Heading

Heading (Horizontal coordinate):

Calculate the time difference between value changes

and turn it from nanoseconds to seconds

Multiply the sensor value with the time difference

Substract the averaged new value from the current

horizontal coordinate

Sending data:

At every sensor change

(9)

Android data – Touch screen

Precondition for sensor listening and data sending:

finger touch

Finger displacement:

On finger down set the start point and assign the current

horizontal, vertical and depth values to the touch values

On finger move calculate the displacement from the start

point and add it to the start values assigned at finger down

(10)

Virtual World Camera

coordinate system (CS)

Mapping Android CS to Camera CS:

1:1 mapping:

• X -> viewRight • Y -> viewUp • Z ->viewDirection y x z Camera eye viewRight viewUp viewDirection

(11)

Cursors coordinates

in the Virtual World

Initial position:

500m in front of the camera

Coordinates calculation:

Add to the start position the product of the

android coordinates and the accordant camera

view vectors

(12)

Position and Rate Control

Position control:

Below a threshold

Android sensors/touch values are mapped to

cursor coordinates

Rate control:

Switch above a threshold

Android sensors/touch values rate change are

mapped to the cursor velocity

(13)

Selection mode

Select/Deselect:

• double tab on the touch screen

• Color change of the cursor as visual feedback

Bring Point:

• Ray direction calculation: Camera to Cursor

• Move – using the Pitch of the Android device to change the camera position

Zoom – using the Touch Screen of the Android device:

• Finger slide on the touch screen is mapped to a scale factor for the frustums clipping planes

(14)
(15)

Evaluation

Hardware:

– 50‘‘ 3D Monitor, 3D Glasses, LG Optimus 2X P990

Virtual Environment:

– Terrain3D

Test scenario:

Use only one metaphor

10 spheres with randomized appereance and constant position

– color change for intersection feedback

– score points depending on the distance to the sphere center

– Time counter

– 3 rounds

Test Users :

(16)

Test results

04:43 04:07 03:02 00:00 01:12 02:24 03:36 04:48 06:00

R1 Mean Time R2 Mean Time R3 Mean Time

Orientation: Rounds Mean Time

Rounds Mean Time

04:52 04:32 02:58 00:00 01:12 02:24 03:36 04:48 06:00

R1 Mean Time R2 Mean Time R3 Mean Time

Touch: Rounds Mean Time

(17)

SUS

System Usability Scale:

Orientation (70,5)

(18)

Comments

Overall comments:

Occasional lack of smoothnes in the O-Metaphor

Unintuitive depth movement towards the center

Cursors depth not clear enough

„I think it‘s easy to use. But I can imagine for those

people who don‘t have a lot […]knowledge about

3D can be difficult. (But I guess that‘s not the target

group)…“ (Touch metaphor user)

(19)

Conclusion

People liked the Touch metaphor better and

found it more easy to use and learn

With the time as quality measure I was not

able to find a relevant difference

(20)

Issues

Sensors

Value jumps

Cursor

form - sphere is maybe not the best choice for

accurate selection

Better depth perception of the cursor

• it appears as a circle not as a sphere

• Depth movement of the cursor unintuitive toward the center

(21)

Future Work

Better filtering of the sensor data for more

smoothnes in the Orientation metaphor

Finding more suitible form for the cursor (e.g.

3D arrow)

Adding of shades to the cursor for better

depth appereance

Making the depth movement more intuitive

(e.g. use the Camera-Cursor vector instead of

the viewDirection vector)

(22)

References

Related documents

The total coliform count from this study range between 25cfu/100ml in Joju and too numerous to count (TNTC) in Oju-Ore, Sango, Okede and Ijamido HH water samples as

The code that actually uses the factory to create objects only expects an object that conforms to the interface of the abstract factory and does not know any details about

An effective monitoring solution is important in maintaining your data center network, in part because the data center often goes unattended for long periods of time.. I have worked

In this study it is aimed to investigate the total lipid and the fatty acid composition of pearl mullet which is the only fish species occurring in Lake Van and

innovation in payment systems, in particular the infrastructure used to operate payment systems, in the interests of service-users 3.. to ensure that payment systems

Requisitos: Java Runtime Environment, OpenOffice.org/LibreOffice Versión más reciente: 1.5 (2011/09/25) Licencia: LGPL Enlaces de interés Descarga:

The encryption operation for PBES2 consists of the following steps, which encrypt a message M under a password P to produce a ciphertext C, applying a

I problematize three family images associated with the design and implementation of housing projects: the bureaucratic family, envisaged by policymakers as conflating with a model