12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 1 Human-Shape Interaction modalities CS4451 Prof. Jarek Rossignac College of Computing.

Slides:



Advertisements
Similar presentations
SEMINAR ON VIRTUAL REALITY 25-Mar-17
Advertisements

Creative Computing. \\ aims By the end of the session you will be able to: 1.Move objects around 2.Write simple interactive programs 3.Use the mouse position.
Animation Marco Gillies. Computer Animation Making things move A key aspect of computer graphics Non-realtime for films Realtime for virtual worlds and.
Game with US Beginner Tutorial. Welcome!! Who I am What is Processing? Basic Coding Input Methods Images Classes Arrays.
A Quick Introduction to Processing
© Calvin College, Being abstract is something profoundly different from being vague... The purpose of abstraction is not to be vague, but to create.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Programming Project 1 Truth Table Lecture 03, file P1 Due January.
Computer Graphics Lecture 4 Geometry & Transformations.
T.Sharon - A.Frank 1 Multimedia Virtual Reality. 2 T.Sharon - A.Frank Virtual Reality (VR) Definition An artificial reality that projects you into a 3D.
Copyright 1999 all rights reserved Input Devices n What types are there? n Why do we need them? –What functions do they perform? n What are desirable characteristics.
Translation and Rotation in 2D and 3D David Meredith Aalborg University.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
The Process of Multiplatform Development: An Example Robyn Taylor University of Alberta.
Virtual Reality. What is virtual reality? a way to visualise, manipulate, and interact with a virtual environment visualise the computer generates visual,
Input and Outputs Leslie Flores. What is an Input? Input consists of data and instructions. Input devices translate what people understand into a form.
TA: Zhicheng Yan Sushma S Kini Mary Pietrowicz
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Hardware Specialised Devices
UNIT - 5 3D transformation and viewing. 3D Point  We will consider points as column vectors. Thus, a typical point with coordinates (x, y, z) is represented.
 Introduction  Devices  Technology – Hardware & Software  Architecture  Applications.
The Visual Display Transform for Virtual Reality Cyrus Moon Computer Integrated Surgery II ( )
2.5/2.6/2.7.  Virtual Reality presents a world in 3d space  Regular input devices such as a mouse only has 2 degrees of movement when 6 is needed for.
Mouse-Based Viewing & Navigation Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, November 3, 2003.
Business and Computing Deanery Multimedia Week 6 Animation.
Digital Media Lecture 11: Animation Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Digital Media Dr. Jim Rowan ITEC 2110 Animation. Two ways to create moving images Capture using a camera Create using animation techniques.
CGMB214: Introduction to Computer Graphics
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 8 This presentation © 2004, MacAvon Media Productions Animation.
Transformation & Projection Feng Yu Proseminar Computer Graphics :
Digital Image Processing CCS331
1 k Jarek Rossignac,  2008 Processing  Install Processing  Learn how to edit, run, save, export, post programs  Understand.
Josh Stephens Comp Characteristics Degrees of Freedom: particular, independent way that a body moves in space Input type/Frequency of data: Discrete:
VIRTUAL REALITY (VR) INTRODUCTION AND BASIC APPLICATIONS الواقع الافتراضي : مقدمة وتطبيقات Dr. Naji Shukri Alzaza Assist. Prof. of Mobile technology Dean.
1 Input and Interaction. 2 Input Devices Physical input devices Keyboard devices and pointing devices Logical input devices.
Bézier Algorithms & Properties Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, March 3, 2004.
Shadows via Projection Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, November 5, 2003.
 The creation of moving pictures one frame at a time Literally 'to bring to life' e.g. make a sequence of drawings on paper, in which a character's position.
VIRTUAL REALITY (VR) INTRODUCTION AND BASIC APPLICATIONS الواقع الافتراضي : مقدمة وتطبيقات Dr. Naji Shukri Alzaza Assist. Prof. of Mobile technology Dean.
Virtual Reality Lecture2. Some VR Systems & Applications 고려대학교 그래픽스 연구실.
GENESIS OF VIRTUAL REALITY  The term ‘Virtual reality’ (VR) was initially coined by Jaron Lanier, founder of VPL Research (1989)..
CS654: Digital Image Analysis Lecture 6: Basic Transformations.
CIS 3.5 Lecture 2.2 More programming with "Processing"
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
Supreeth Venugopal U  Input of graphical data  Input functions  Initial values for input modes  Interactive picture-construction techniques.
Input Devices, User Interface & VR Environments. Sri Kalyan Atluri (U )
Virtual Reality and Digital Characters: New Modalities for Human Computer Interaction G2V2 Talk September 5 th, 2003 Benjamin Lok.
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
1 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Bezier example  Interaction  Animation  Tracking  Menus  Debugging.
Digital Media Lecture 5: Vector Graphics Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Computer Science I Text input. Transformations. Yet another jigsaw. Classwork/Homework: Create new application making use of transformations.
Havok Xtra Training
Transformations of Shapes Translation by a vector Stretches Rotations around a point Reflections in the x- and y- axis Reflections in the line y = x and.
Viewing. Classical Viewing Viewing requires three basic elements - One or more objects - A viewer with a projection surface - Projectors that go from.
Loops. About the Midterm Exam.. Exam on March 12 Monday (tentatively) Review on March 5.
House Design Using Google Sketchup You will create a four room house containing a living room, bedroom, bathroom, and kitchen.
CS Chapter 11.5 – Computer GraphicsPage 145 Computer Graphics Recent advances in processor power, display technology, memory capacity, and rendering.
Introducing virtual REALITY
Computer Graphics CC416 Week 15 3D Graphics.
Chapter 14, Translate & Rotate
Basic Coordinate Systems & VR
(c) 2002 University of Wisconsin, CS 559
More programming with "Processing"
Translations, Reflections, & Rotations
Transformation Operators
Translations, Reflections, & Rotations
Geometry Ch 12 Review Jeopardy
Transformations Maria Garcia.
Klaas Werkman Arjen Vellinga
Presentation transcript:

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 1 Human-Shape Interaction modalities CS4451 Prof. Jarek Rossignac College of Computing Georgia Institute of Technology

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 2 Input modalities Mouse, dials, trackball, joystick… –Inexpensive, for desktop applications Head tracking –Expensive and delicate, for immersive VR walkthough Trackers in the hand and gloves –Expensive, for coarse design and direct manipulation Force feedback –Expensive, for training and physic-based interaction Digital Clay –Bare hands

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 3 Output modalities Screen with 3D perspective –Standard, inexpensive, 3D solution for all Stereo screen (glasses or autostereo) –More expensive and tricky, for immersion WorkBench –Expensive large back-lit screen Cave –Immersion for one, walk around Head-Mounted Display (HMD) –Cheaper than Cave, for immersion Digital Clay –All can see&feel

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 4 View manipulation Point/look where you want to go (walkthrough, flythrough) –Use joystick or mouse equivalent (forward/rotation velocities) –In HMD, set forward direction by turning/tilting head, set velocity by moving hand (or leaning body?) Inspect selected point –Put it at the center of the screen and rotate around it or approach it Follow geometry –Maintain constant distance and angle to surface –Follow central axis of street, corridor, or artery Move camera in small scale model –Jarek’s camera (Best Product Award) Links traditional 2D blueprints with easy to use 3D view (point, annotate) Trivial to learn. Leads immediately to very effective navigation Others can see what you are looking at (you never get lost)

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 5

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 6 Shape manipulation How to specify 3D points or displacements with the mouse? –Specify 3D translation vectors –Rotate object around arbitrary axis –Rearranging furniture and paintings in a 3D model of a house How to grab and move objects/groups with a 3D tracker How to warp objects

12/3/2015Jarek Rossignac, CoC, GT, ©Copyright 2003Transformations, slide 7 Questions List 3 input modalities and, for each one, suggest an application or environment where it is most effective. List 3 output modalities and, for each one, suggest an application that would benefit from it. Describe an easy to use and effective set-up for view maniplation and discuss its advantages/drawbacks

Implementing dragging

Pick closest point with mouse pt [] PP = new pt[4]; // declare an array of 4 points int p=0; // index to the selected point being dragged void mousePressed() { if (mouse().isInWindow()) { if (!keyPressed) { p=0; float d=PP[0].disToMouse(); for (int i=1; i<PP.length; i++) if (PP[i].disToMouse()<d) {d=PP[i].disToMouse(); p=i;} } else { /* stuff to do when a key is pressed */ }; } class pt { float x=0,y=0; … float disToMouse() { return(sqrt(sq(x-mouseX)+sq(y-mouseY))); };

Drag picked point with mouse pt [] PP = new pt[4]; // declare an array of 4 points int p=0; // index to the selected point being dragged void draw() { if ((mousePressed)&& (!keyPressed)&& mouseIsInWindow()) PP[p].moveWithMouse(); boolean mouseIsInWindow() {return( ((mouseX>0)&&(mouseX 0)&&(mouseY<height)) ); }; class pt { float x=0,y=0; void moveWithMouse() { x += mouseX-pmouseX; y += mouseY-pmouseY; };

Rubber-banding pt [] PP = new pt[4]; // declare an array of 4 points int p=0; // index to the selected point being dragged void draw() { background(121); if ((mousePressed)&&(!keyPressed)&&mouseIsInWindow()) PP[p].moveWithMouse(); stroke(blue); beginShape(); for (int i=0; i<PP.length; i++) PP[i].v(); endShape(); class pt { float x=0,y=0; void v() {vertex(x,y);};