Presentation is loading. Please wait.

Presentation is loading. Please wait.

VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,

Similar presentations


Presentation on theme: "VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,"— Presentation transcript:

1 VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell CHAPPELLG@member.ams.org U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, February 25, 2004

2 25 Feb 2004CS 481/6812 Review: VR & TRANSF [1/2] In terms of transformations, one of the trickier parts of VR is moving objects together in an arbitrary frame of reference. For example, moving an object with the wand. To draw an object in the wand’s frame of reference: glPushMatrix(); glTransform(myUser.getTransf(USR_WAND)); … // Draw transformed objects glPopMatrix();

3 25 Feb 2004CS 481/6813 Review: VR & TRANSF [2/2] To find where the wand points: vec wandDir = myUser.getFrontVec(USR_WAND); How do we turn this into a 2-D vector (no up/down)? Solution 1: wandDir[1] = 0.; wandDir = wandDir.normalized(); Solution 2: wandDir -= wandDir.component(vec(0.,1.,0.)); wandDir = wandDir.normalized();

4 25 Feb 2004CS 481/6814 VR User Interface: Three Hard Problems In CS 381, we discussed “view the world” and “move in the world” interfaces. We also discussed picking, keyboard-handling, and menus. There are three problems here: How to Navigate “Move in the World” Flying, driving, etc. How to Manipulate Objects. “View the World” Picking How to Initiate Actions In other words, how to tell the computer what you want Picking, keyboard, menu All of these are trickier in VR.

5 25 Feb 2004CS 481/6815 VR User Interface: Navigation [1/2] In VR we are generally either moving around on a floor/ground surface, or in the air/space. In the latter case, we can have a uniform “up” direction or not. Or we may not be able to move at all. This gives four general types of navigation: None Like most desktop programs: objects move, but the user is stationary. Sort of … Walking/Driving We still might allow stairs, bridges, elevators … Airplane-style Flying Up is always up. Spaceship-style Flying Anything goes.

6 25 Feb 2004CS 481/6816 VR User Interface: Navigation [2/2] Four Types of Navigation None Walking/Driving Airplane-style Flying Spaceship-style Flying What would be a useful UI for each of these?

7 25 Feb 2004CS 481/6817 VR User Interface: Object Manipulation [1/2] When we manipulate objects, we deal with the following: Can we pick up an object? If so, how do we determine which one? How do we drop it? What does it do while it is grabbed? Can we move an object without picking it up? How? Can we perform actions with/on an object without moving it? What things? Similar questions to those above …

8 25 Feb 2004CS 481/6818 VR User Interface: Object Manipulation [2/2] Other Problems How to deal with clutter? How to limit the number of actions we can perform so that users don’t have to learn & remember a lot, and internal object interfaces are simpler? How can we write object interfaces so that all objects can coexist in a “friendly” way?

9 25 Feb 2004CS 481/6819 VR User Interface: Initiating Actions More generally, we have the problem of how to tell the computer what to do. Remember, we are in a VR environment. Users already know how to deal with reality (we hope). How can we make use of this knowledge? Users have 3-D input devices. So, for example, treating the wand like a 2-D mouse is silly. There is no keyboard. Menus are a pain, as usual.

10 25 Feb 2004CS 481/68110 Notes on Projects: Overview 100 points of your grade in this class will be a project. Projects will be graded via a “contract” system: Each student individually negotiates project requirements with me. If all requirements are met, then you get 100%. Proposed requirements are due, as part of Assignment 5, in a couple of weeks. Your grade on Assignment 5 has nothing to do with your grade on the project. General requirements: Projects will be due on Thursday, April 22. It is generally expected that you will turn in a preliminary version two weeks before that (Thursday, April 8). In your project proposal, specify what the preliminary version will include. If, for some reason, you think you need to handle the preliminary version differently, put this in your proposal. Some documentation is required. It need not be extensive. Plan to do a short in-class presentation as well.

11 25 Feb 2004CS 481/68111 Notes on Projects: What to Do? For project length and difficulty, think in terms of four regular assignments. Possible topics: Implement, and use in a program, some (relatively) advanced CG method. Ray tracing? Try out some new user-interface idea. A navigation method in VR, etc. Two words: VR game (okay, that’s three words). 3-D fractals, chaos, or whatever. Something else … Use of VR Juggler & the Discovery Lab is encouraged, but not required.

12 25 Feb 2004CS 481/68112 Intro. to Object Descriptions: Overview [1/2] Descriptions of surfaces (and thus of 3-D objects) can be roughly split into three types: Polygon List A list of the polygons (and/or polylines, points) that make up a surface. Example: triangle (0, 0, 0), (0.5, 0, 0), (1, 1.2, 0); triangle (1, 1.2, 0), (0.5, 0, 0), (2, 1, 1). Explicit Description Surface is described explicitly, using formulae. We call this a parametric surface. Example: (s, t, t 2 ), for 0  s  1 and 0  t  1. Implicit Description Surface is described implicitly, using equations. Example: x 3 + 3xyz 3 + 4z 2 sin y = 8.

13 25 Feb 2004CS 481/68113 Intro. to Object Descriptions: Overview [2/2] Again: Polygon List Explicit Description Implicit Description So far, we have dealt only with polygon lists. Now, we look at: Pro’s & Con’s of the above three. Using formulae to describe curves and curved surfaces. Splines: Generating useful explicit descriptions based on control points. Implicit surfaces and their applications.


Download ppt "VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,"

Similar presentations


Ads by Google