Reviews & Opinions
Independent and trusted. Read before buy Logitech 3D Mouse Head Tracker!

Logitech 3D Mouse Head Tracker

 

 

Logitech 3D Mouse   Head TrackerAbout Logitech 3D Mouse Head Tracker
Here you can find all about Logitech 3D Mouse Head Tracker like manual and other informations. For example: review.

Logitech 3D Mouse Head Tracker manual (user guide) is ready to download for free.

On the bottom of page users can write a review. If you own a Logitech 3D Mouse Head Tracker please write about it to help other people.
[ Report abuse or wrong photo | Share your Logitech 3D Mouse Head Tracker photo ]

Manual

Download (English)

Logitech 3D Mouse Head Tracker

 

 

User reviews and opinions

<== Click here to post a new opinion, comment, review, etc.

Comments to date: 8. Page 1 of 1. Average Rating:
zvy1979 11:16am on Tuesday, October 5th, 2010 
Excellent quality and does what it says on the tin - Recomended Bought one of these, the blue version. Excellent quality and does what it says on the tin - Recomended Bought one of these, the blue version.
lorenzo.V 9:14am on Thursday, September 9th, 2010 
This mouse is overall pretty good, with long range and good accuracy. Long Wireless Range. Be prepared to replace these mice every year or so. I like the on/off switch to conseve battery power, very sleek and portable.
Zeco 12:50am on Sunday, July 25th, 2010 
Great mouse and keyboard little high on the price. -Short and sweet review- I first looked into this keyboard and mouse since it was bluetooth. Logitech Cordless Desktop MX 5500 Revolution Outstanding Wireless Keyboard and Mouse.
dodongo 1:45pm on Saturday, July 24th, 2010 
Very compact..Great working mouse right out of the package. Just set it up in the system prefs, and your ready to go.
chucknb87122 10:28am on Thursday, July 22nd, 2010 
     The Logitech Cordless Mini Optical Mouse was a great purchase. Easy to set up. The basic things like: Battery installation. 5 stars 5 stars
glmxx54 8:56am on Sunday, July 18th, 2010 
Best wireless mouse I have used. Good weight to it, and blue tooth capability is awesome, works well with with the PS3 even.
MaRkiSioS 3:24am on Tuesday, June 29th, 2010 
When I downloaded the recommended software from Logitech, I had a nightmare of a time with the keyboard which I already had purchased.
maxtn 2:33am on Saturday, June 26th, 2010 
Good product I bought one of these about 2 years ago, and then another one for my lady about year ago. Very satisfied with it. Just the Job Like all Logitech products this little mouse is another brilliant piece of kit.

Comments posted on www.ps2netdrivers.net are solely the views and opinions of the people posting them and do not necessarily reflect the views or opinions of us.

 

Documents

doc0

Information to User

Changes or modifications to this equipment not expressly approved by the party responsible for compliance could void the users authority to operate the equipment.

FCC Compliance Statement

This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: 1. This device may not cause harmful interference. 2. This device must accept any interference received, including interference that may cause undesired operation.
Hardware Warranty by Fakespace, Inc.
This product is warranted to be free from defects in material and workmanship for ninety days from the date of purchase. During this period, Fakespace will, at its sole option, replace or repair at no charge the product which, in its opinion, is defective. If the failed product has been modified without Fakespaces written consent or if the failure is the result of misuse, abuse, or misapplication, Fakespace has no obligation to repair or replace the failed product. Before returning a failed unit, the buyer must obtain a Return Authorization (RA) number by calling Fakespace Product Support at (650) 688-1940. Fakespace cannot be held responsible for any package returned without an RA number. The buyer is responsible for packing the product properly for return shipment, and for the charges to ship the product to Fakespace. Fakespace is responsible for charges to return the product to the buyer.
EXCEPT AS EXPRESSLY PROVIDED ABOVE, THE HARDWARE AND ACCOMPANYING WRITTEN MATERIALS (INCLUDING THE USERS MANUAL) ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, EVEN IF LOGITECH HAS BEEN ADVISED OF THAT PURPOSE. IN NO EVENT WILL LOGITECH, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE SUCH PRODUCT EVEN IF LOGITECH HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY.
Software Public Domain Statement
The following program files have been dedicated by Logitech to the public domain: TEST3D.EXE, SAMPLE.EXE, LOGIDRVR.C, LOGIDRVR.H, SIMPLE.C, and README.TXT. ACCORDINGLY, USE OF THIS SOFTWARE IS AT THE SOLE RISK OF THE USER, AND LOGITECH EXPRESSLY DISCLAIMS ANY LIABILITIES ARISING FROM THE USE OF THESE PROGRAM FILES, INCLUDING, WITHOUT OF LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.

Table of Contents

Preface, ix 1 Introduction, 1
System Features, 1 Basic System Components, 2 Basic 3D Mouse Components, 2 Basic Head Tracker Components, 3 Additional Components and Features, 3
Installation and Setup, 5
Connecting the Components, 5 Arranging the Components, 7 Arranging the 3D Mouse Components, 7 Arranging the Head Tracker Components, 8 Custom Head Tracker Arrangements, 8 Running the TEST3D Program, 10
Component Description, 11
3D Mouse Transmitter, 11 3D Mouse Receiver, 12 Head Tracker Transmitter, 15 Head Tracker Receiver, 16 Control Unit, 16 Computer Cable, 18 Power Supply, 18
Master/Slave Cable, 18 Audio Device (Optional), 18
Multiple Control Unit Components, 19
Connecting Multiple Control Units, 20 Connecting Components to Multiple Control Units, 22

System Operation, 23

3D Mode, 23 Coordinate System, 23 Right-Hand Rules, 24 Origin Points and Reference Axes, 26 Positional X, Y, Z Data, 27 Orientation Data, 28 Converting Eulers Angles to Quaternions, 30 Converting Degrees to Radians, 31 Active Area, 31 Resolution, 32 Fringe Area and Out-of-Range Area, 32 Tracking Speed, 35 Reporting Modes, 35 2D Mode, 36 Active Area, 36 Resolution, 36 Tracking Speed, 36 Reporting Mode, 36
Application Programming Interface, 37
Control Unit Initialization, 37 3D Mode, 38 Mouse Data Report Format, 38 Data Format Restrictions, 40 3D Mode Commands, 40 2D Mode, 49 Reporting Data Formats, 49 2D Mode Commands, 52
Questions & Answers, 59
A 3D Mouse & Head Tracker Specifications, 61 B Creating a Custom Receiver, 69 Index, 71

Preface

This manual describes the components and operation of the 3D Mouse and Head Tracker systems. The information in this manual is for technical reference. It is intended for OEMs (Original Equipment Manufacturers), VARs (Value Added Retailers), and software and hardware developers who integrate the 3D Mouse and Head Tracker technology into their products. Knowledge in the following areas would be beneficial, but is not required: the C programming language, and the ability to adapt the code provided in this manual and associated software to your application-specific programming language device driver development RS-232 (serial) communication 3D graphics programming This manual is organized as follows: Chapter 1, Introduction. This chapter introduces the 3D Mouse and Head Tracker system features and components. Chapter 2, Installation and Setup. This chapter describes how to install and setup the 3D Mouse and Head Tracker components. It also describes how to run TEST3D program. Chapter 3, Component Description. This chapter provides a detailed description of how each component works. Chapter 4, Using Multiple Control Units. This chapter describes when you need to use multiple control units, how to connect them, and which components to connect to them. Chapter 5, System Operation. This chapter describes how the 3D Mouse and Head Tracker systems communicate position and orientation data to the host computer.

Chapter 2

3. Plug the receiver cable into the Receiver connector on the rear panel of the control unit (see A in Figure 2-1). The arrow on the cable should appear on top (see Figure 2-2).
Figure 2-2. Positioning the Cable Arrow 4. Plug the transmitter cable into the Transmitter connector (see B in Figure 2-1). 5. (Optional) plug the audio cable into the Audio Out connector (see C in Figure 2-1). 6. Plug the rounded end of the computer cable into the Serial Port connector (see D in Figure 2-1). 7. Connect the computer cables 9-pin plug into an available serial (COM) port in the back of your host computer. If your computer has a 25-pin serial port connector, attach the 9- to 25-pin adapter provided. Remember which serial port you use, because you will have to indicate it when you run the TEST3D program. 8. Plug the rounded end of the power supply cable into the Power Supply connector (see E in Figure 2-1). 9. Plug the power supply into an AC outlet or power strip. 10. Turn on your host computer. 11. Turn on the control unit. Flip the On/Off switch to the ON position. The red Power LED on the front panel of the control unit should light. 6

Arranging the Components

For optimum 3D Mouse and Head Tracker performance, arrange the components as described in the following sections.
Arranging the 3D Mouse Components
Typically, arrange the 3D Mouse components as shown in Figure 1-1 in Chapter 1. Ensure that there is sufficient cable length before connecting the components. Place the transmitter so that it faces the 3D Mouse receiver. Do not place any object between the transmitter and receiver. Make sure that the plane of the 3D Mouse transmitter is parallel to the plane of the host computer monitor. Work in a normal office environment. Do not work near equipment that emits loud noises or ultrasonic frequencies. Also, ensure that there are no reflective surfaces within 12 inches of the top and sides of the transmitter. If there is interference, relocate your system or create a sound-absorbing barrier. In 3D mode, ensure that there is enough space to move and rotate the receiver in a direct line of communication with the transmitter (see Figure 2-3)

System Operation

The 3D Mouse and Head Tracker systems operate as follows: the transmitter emits ultrasonic signals. The control unit, via the receiver, detects these signals and derives receiver position and orientation data. The control unit reports this data and 3D Mouse button activity to the host computer. This chapter describes the following: position and orientation data the active area of operation of the 3D Mouse and Head Tracker systems in both 2D and 3D modes the reporting modes the control unit provides in both 2D and 3D

3D Mode

In 3D mode, you can move the 3D Mouse or Head Tracker receiver three-dimensionally along three axes-X, Y, Z-and rotate it about these axes. The control unit derives the receivers position and orientation and reports this data to the host computer.

Coordinate System

In 3D mode, the 3D Mouse and Head Tracker systems use a rectangular, Cartesian coordinate system to report the relationship between the receiver and the transmitter-the receivers position and orientation.

Chapter 5

Figure 5-1 shows the positive, three-dimensional direction of receiver movement-the X, Y, and Z axes. It also shows the positive rotation about these axes. Negative movement is in the direction opposite each arrow.

0 Degrees Yaw Rotation

Origin

0 Degrees Pitch Rotation

0 Degrees Roll Rotation
Figure 5-1. Three-Dimensional Axes and Rotation

Right-Hand Rules

The 3D Mouse and Head Tracker systems use two right-hand rules to help you determine position and orientation. The first right-hand rule allows you to hold your thumb, index finger, and middle finger of the right hand at right angles to each other to indicate the positive direction of the X, Y, and Z axes (see Figure 5-2).
Figure 5-3. Right-Hand Rule Showing the X, Y, Z Axis The second right-hand rule allows you to point your thumb in the positive direction of any axis and to curl your four fingers to represent positive rotation about that axis. In Figure 5-3, the thumb is pointed along the positive X axis, and the four fingers curl in the direction of positive rotation about that axis.
Positive direction of rotation about the X axis
Figure 5-3. Right-Hand Rule Showing Rotation About the X Axis 25
Origin Points and Reference Axes
The positional and orientation data generated by the control unit are based on the 3D origin points and reference axes. In Figure 5-4, the transmitters origin point and reference axes are defined by the following: XT is an imaginary reference axis that passes through the center of the transmitters lower left speaker and through the center of the transmitters lower right speaker. (Only the positive direction of this is shown in Figure 5-4.) YT is an imaginary reference axis passing through the center of the transmitters top speaker and is perpendicular to XT. ZT is an imaginary reference axis perpendicular to both XT and YT. The transmitters origin is the point where XT, YT, and ZT intersect. Also in Figure 5-4, the receivers origin point and reference axes are defined by the following: XR is an imaginary reference axis passing through the center of the receivers lower left microphone and through the center of the receivers lower right microphone. (Only the positive direction of this axis is shown in Figure 5-4.) YR is an imaginary reference axis passing through the center of the receivers top microphone and is perpendicular to XR. ZR is an imaginary reference axis perpendicular to both XR and YR. The receivers origin is the point where XR, YR, and ZR intersect. Note The transmitters and receivers origin points and reference axes described above also apply to the 3D Mouse transmitter and receiver.

YR ZT Receiver XR

ZR Figure 5-4. Transmitter and Receiver Origin Points and Reference Axes

Positional X, Y, Z Data

Positional data is the distance between the transmitters and receivers origin points. X Data. This is the distance the receivers origin point is to the left or right (along the XT axis) of the transmitters origin point (see Figure 5-4). Y Data. This is the distance the receivers origin point is above or below (along the YT axis) the transmitters origin point-minus a 12-inch offset (see Figure 5-4). When the receiver is sitting on the desktop level with the base of the transmitter, the Y data will be approximately a negative 12 inches. 27
Z Data. This is the distance the receivers origin point is away (along the ZT axis) from the transmitters origin point-minus an 18-inch offset (see Figure 5-4). When the receiver is 6 inches away from the transmitter the Z axis, the Z data will be approximately a negative 12 inches.

Orientation Data

Orientation describes the rotation of the receiver with respect to the transmitter. The orientation is described using the aeronautical terms: Pitch, Yaw, and Roll. Pitch. Pitch orientation is positive or negative rotation about the receivers X axis. Figure 5-5 shows positive Pitch rotation.
X Z Figure 5-5. Positive Pitch Rotation
Yaw. Yaw orientation is positive or negative rotation about the receivers Y axis. Figure 5-6 shows positive Yaw rotation.
X Z Figure 5-6. Positive Yaw Rotation
Roll. Roll orientation is positive or negative rotation about the receivers Z axis. Figure 5-7 shows positive Roll rotation.
Y X Z Figure 5-7. Positive Roll Rotation 29
Orientation data is represented in Y-X-Z Eulers angles. For example, the orientation of 0 degrees Pitch, 0 degrees Yaw, and 0 degrees Roll is reported when both of the following conditions are met: The receivers reference axis ZR is parallel to the transmitters reference axis ZT (see Figure 5-4). The receivers microphones are facing towards the transmitters speakers. To position the receiver at a particular orientation (for example, Yaw = 30 degrees, Pitch = 40 degrees, and Roll = 50 degrees) from an initial starting orientation of zero degrees for Yaw, Pitch, and Roll, you must perform these steps in the order presented: 1. 2. 3. Yaw the receiver 30 degrees. Pitch the receiver 40 degrees. Roll the receiver 50 degrees.
Converting Eulers Angles to Quaternions
The Quaternions coordinate system is another way of representing orientation. This system uses four coordinates to specify orientation in a smoother, more natural way. (For more information about using Quaternions to specify rotation in space, see the Siggraph 1985 paper: Animating Rotation with Quaternion Curves by Ken Shoemake, San Francisco, July 22-26.) If you prefer to use Quaternions to define orientation instead of Eulers angles, the following formulas will help you convert from Eulers angles. w = cos (R/2) cos (P/2) cos (Y/2) + sin (R/2) sin (P/2) sin (Y/2) x = cos (R/2) sin (P/2) cos (Y/2) + sin (R/2) cos (P/2) sin (Y/2) y = cos (R/2) cos (P/2) sin (Y/2) + sin (R/2) sin (P/2) cos (Y/2) z = sin (R/2) cos (P/2) cos (Y/2) + cos (R/2) sin (P/2) sin (Y/2) 30

Converting Degrees to Radians
Radians are a unit of angular measure for rotation. If you prefer to use radians instead of degrees, the following formulas will help you convert from degrees. To convert degrees to radians, use the following formulas: P = P /180 Y = Y /180 R = R /180

Active Area

From each transmitter speaker, ultrasonic sound disperses in a spherical, 100-degree cone. These three cones of sound overlap in a dispersion pattern shown in Figure 5-8. Where these cones overlap is the active area of communication. The active area extends 5 feet from each transmitter speaker. The receiver should be within this area.

Active area

Figure 5-8. The Active Area

Resolution

In 3D mode within the active area, the resolution along the X, Y, and Z axes is 1/250 of an inch. The resolution in the Pitch, Yaw, and Roll rotations is 1/10 of a degree.
Fringe Area and Out-of-Range Area
The fringe area is a 1-foot band along the edge, within the active area (see the block diagram in Figure 5-9).

Control unit

t-o f-r an ge

Receiver Ac ti

Fringe area Out-of-range area
Figure 5-9. The Fringe and Out-of-Range Areas When you move the receiver into this fringe area, the control unit sets a FRINGE bit in the first byte of its data report to the host computer. (The control units data report tells the host computer the position and orientation of the receiver, see 3D Mode, Mouse Data Report Format in Chapter 6.) The application can use the FRINGE bit to warn the user that the receiver is approaching the limits of the active area. 32
When the receiver is out of range, the control unit sets an OUT bit in the first byte of its data report to the host computer. This data report contains the last valid report when the receiver was in range. This last valid report allows the application to use the returned data report. If the receiver is out of range when the control unit returns the first data report, the control unit sets the OUT bit and the positional and orientation data contains all zeros. This allows the application to notify the user to move the receiver into range. Also, if the receivers tracking speed exceeds 30 inches per second, the control unit sets the OUT bit. Note The FRINGE bit and the OUT bit are mutually exclusive; therefore, the control unit never sets both bits simultaneously.

The FRINGE Bit

The FRINGE bit is located at Bit 6 in the first byte of the 3D mode mouse data report (see Table 6-2 in Chapter 6).

The OUT Bit

The OUT bit is located at Bit 5 in the first byte of the 3D mode mouse data report (see Table 6-2 in Chapter 6). This bit signifies three out-ofrange conditions: when you move the receiver out of the out-of-range area when the receiver is not in a direct line of communication with the transmitter when you move the receiver faster than the maximum tracking speed
OUT Bit Set-First Report. The OUT bit in the first byte of the data
report is as follows (if the receiver is not in range, and has never been in range since you powered on or initialized the control unit, when the report is requested): 1x1xxxxx* 00000000 byte 1 byte 2 through byte 16
*The letter x means dont care, could be 0 or 1. This all-zero data report is repeated until you move the receiver in range, because the control unit always returns the last valid position and orientation in 3D mode. In this case, there has been no previously valid information.

OUT Bit Example

If your application converts absolute information into relative information, prompt the user to move the receiver into range before completing the control units initialization. This approach avoids a large relative change in position/orientation from the all-zero data report to the first valid data report. The following is a C pseudo-code example:
// go get the data report get_report (report); // first report valid? if (report [0] & logitech_OUTBIT) { // first report invalid, request user to move the receiver printf (Please move the Logitech receiver in range.\n); // stick around until I get a valid data report do { // go get another report get_report (report); } while (report [0] & logitech_OUTBIT); //cheers to the user printf (Logitech receiver detected.\n); } // squirrel away the report for later processing save_report (report);
OUT Bit Set-Out of Range or Obscured. After the first data report,
the unit always has a last-valid data report. Therefore when the receiver moves out of range or the ultrasonic path is obstructed, the position and orientation data reflects the last valid data report. For applications that convert absolute information to relative changes, the data report can usually be used as is. In effect, the sensor is not tracked until it is brought back into range. For applications using absolute information directly, old valid information is typically not acceptable to use. So, the OUT bit notifies the user, via the application, that the point is invalid. Note All the mouse buttons will operate regardless of the status of the OUT bit. In other words, the mouse does not need to be in range for button toggling.

The sections that follow describe the 2D Mode reporting data formats and the 2D Mouse emulation command set.

Reporting Data Formats

The control unit reports mouse activity to the host computer in one of two formats: the Logitech M+ Format (3-button mouse support) and the MS-Compatible Format (Microsoft 2-button mouse support). The default format is Logitech M+.
Logitech M+ Format (Full 3-Button Mouse Support)
To switch the control unit to Logitech M+ Format, issue the command shown in Table 6-7.
Figure 6-7. Logitech M+ Format Command ASCII *X HEX 2A, 58 Function Select M+ format
The M+ format differs from the MS-Compatible format only in that a fourth data byte is added to the report when the following occurs: The user presses the middle button since the last report. A report is sent while the user presses the middle button. The user releases the middle button.
The four-byte M+ format is shown in Table 6-8. Figure 6-8. M+ Mouse Report Format Name
Byte 1 Byte 2 Byte 3 Byte 4

L X5 Y5 M

R X4 Y4 DT4

Y7 X3 Y3 DT3

Y6 X2 Y2 DT2

X7 X1 Y1 DT1

X6 X0 Y0 DT0
The fourth byte is transmitted only when one of the middle button conditions is met.
Where in Table 6-8, L = Left Button, R = Right Button, M = Middle Button,
1 = pressed 1 = pressed 1 = pressed
X7.X0 = X movement since the last report is expressed as an 8 bit twos complement value (-128 to +127); positive East. Y7.Y0 = Y movement since the last report is expressed as an 8bit twos complement value (-128 to +127); positive South. DT4.DT0 = Device type; 5 bits interpreted as follows: 0 = Unknown 1 = Mouse 2 = Trackman(tm) 3 = Trackman Portable(tm) 4 = 3D Mouse 5.31 = Reserved for future use In M+ format, data is transmitted in the form of seven-bit bytes. There is one stop bit and no parity bit. Each report consists of three or four bytes (depending on whether the middle button conditions are met). 50
The X and Y movements are relative to the X and Y positions last reported. The X movement is positive to the East and negative to the West; Y movement is positive to the South and negative to the North.
MS-Compatible Format (Microsoft 2-Button Mouse Support)
To switch the control unit to Logitech MS-Compatible Format, issue the command shown in Table 6-9. Figure 6-9. Logitech MS-Compatible Format Command ASCII *V HEX 2A, 56 Function Select MS-Compatible format
In MS-Compatible format, each mouse report sent to the host computer consists of three bytes, each byte containing seven bits. The three bytes contain the status of each of the two buttons and the relative X and Y movements of the mouse. The format of the three bytes is shown in Table 6-10. Figure 6-10. MS-Compatable Mouse Report Format Name

Byte 1 Byte 2 Byte 3

L X5 Y5

R X4 Y4

Y7 X3 Y3

Y6 X2 Y2

X7 X1 Y1

X6 X0 Y0

Where in Table 6-10, L = Left Button, R = Right Button,

1 = pressed 1 = pressed

X7.X0 = X movement since the last report is expressed as an 8-bit twos complement value (-128 to +127); positive East. Y7.Y0 = Y movement since the last report is expressed as an 8-bit twos complement value (-128 to +127); positive South. 51

2D Mode Commands

The standard 2D mode command sent to the 3D Mouse control unit from the host computer consists of two ASCII characters with the first always being an asterisk: * (2A hex). In 2D mode, the control unit ignores all characters not part of the 2D mode command set (see Table 6-11) and all characters not transmitted at 1200 bps. Figure 6-11. 2D Mode Command Set ASCII *X *V *U *c *? *! *> HEX 2A, 58 2A, 56 2A, 55 2A, 63 2A, 3F 2A, 21 2A, 3E Function Select M+ Format Select MS-Compatible Format Select 5-Byte (MSC) Mode (not currently supported) Send Copyright and Version Number in ASCII Send Standard Configuration Send Specific Configuration Leave 2D Mode, Invoke 3D Mode

Select M+ Format (*X)

The *X command causes the control unit to switch to the Logitech M+ Format (full 3-button mouse support). Since the M+ format is the default format, issue this command to switch back from the MS-Compatible Format (Microsoft 2-button mouse support).
Select MS-Compatible Format (*V)
The *V command causes the 3D Mouse to switch to a 100% compatible Microsoft 2-button mouse format. Also, it allows the 3D Mouse to support a third button transparently. The middle mouse button is supported by simultaneously pressing or releasing both the left and right buttons.
Select 5-Byte (MSC) Format
This command is not supported in the current implementation of the 3D Mouse.

Send Copyright (*c)

The *c command causes the control unit to transmit an ASCII string of up to 127 characters to the host computer. The string contains copyright information about the control unit firmware, and is formatted as shown in Table 6-12.

Analog Output TTL Output

Serial Port Table A-2 shows the control units Serial Port connector pin assignments. Table A-2. Serial Port Connector Pin Assignments Pin No. 7 Signal Name CTS RXD TXD DTR GND DSR RTS Signal Type Input Input Output Output Input Output
Table A-3 shows the pin assignments for the computer cables 9-pin, DSub, serial port connector. Table A-3. 9-Pin, D-Sub Serial Port Pin Assignments Pin No. 9 Signal Name Not Connected RXD TXD DTR GND DSR RTS CTS Not Connected Signal Type
Input Output Output Input Output Input
All serial port inputs and outputs are EIA RS-232C compatible. Also, all signal names and signal types are from the point of view of the host.
Table A-4 shows the pin assignments for the 9- to 25-pin adapter. Table A-4. 9- to 25 Pin, Adapter Pin Assignments 9-Pin Shell 4 25-Pin Data Signals Protective GND Receive Data (To Mouse) Transmit Data (From Mouse) Request to Send Clear to Send Data Set Ready Signal GND Data Terminal Supply

AC Power

Supplied Power Supply 115 volts AC; 60 Hz Optional Power Supply 220 volts AC; 50 Hz

Component Cable Lengths

Transmitter: 6 feet Receiver: 9.5 feet Power Supply: 6 feet Computer Cable: 6 feet Master/Slave: 2 feet

Physical Dimensions

Control Unit Depth: 9 1/2 inches (240 mm) Height: 1 5/8 inches (41 mm) Width: 7 1/4 inches (185 mm) 3D Mouse Transmitter Depth: 3 5/8 inches (93 mm) Height: 7 3/4 inches (196 mm) Width: 11 inches (280 mm) 3D Mouse Receiver Depth: 5 7/8 inches (149 mm) Height: 2 7/8 inches (72 mm) Width: 4 3/8 inches (110 mm)
Head Tracker Transmitter The Head Tracker Transmitter dimensions are shown in Figure A-2.

2.0" 1 1/4"

7 5/8"

194 mm

275 mm

10 5/8"

1 5/8"
Figure A-2. Head Tracker Transmitter Dimensions Head Tracker Receiver The Head Tracker Receiver dimensions are shown in Figure A-3.

2 3/4"

2 5/8"
74 mm 2 7/8" 83 mm 3 1/4"

3/8"

Figure A-3. Head Tracker Receiver Dimensions 67
Creating a Custom Receiver
You can create a custom 3D Mouse receiver for your work environment or application. To do so, we recommend the following: See the provided 3D Mouse assembly schematic (Figure B-2). Use a 332 ohm ID resistor value to provide a receiver value 1. Shape the receiver as an equilateral or isosceles triangle, with the one unequal side as the base (see points R1 to R2 in Figure B-1).

Figure B-1. 3D Mouse Points of Reference
Position each of the microphones a minimum of 5 inches to a maximum of 10 inches apart. The wider the spacing between each microphone, the better the orientation accuracy. Note For information about purchasing microphones, contact Fakespace Inc. (see rear of cover). When using a custom receiver, the control unit must know the receivers dimensions. After you connect the receiver to the control unit and turn the power on, you must send the Set Custom Receiver Dimensions command to the control unit, see section 3D Mode Commands in Chapter 6.
SWITCH NETWORK RECEIVER MICROPHONE ASSEMBLY
R1 50K R2 50K 1 RIGHT R3 25K R4 50K 1 LEFT R5 25K 2 2

SW1 LEFT

SW2 MIDDLE

SW3 RIGHT

R6 50K 1 TOP 2

SW4 SUSPEND

R8 50K

R7 25K

Figure B-2. 3D Mouse Assembly Schematic
NO CONNECTION RSHIELD ID RESISTOR

SW5 SUSPEND

P3-1 P3-2 P3-3 P3-6 P3-4 P3-7 P3-8 P3-5 P3-SHELL
RIGHT MIC LEFT MIC TOP MIC GROUND SWITCH NETWORK SHIELD GROUND +5 VOLT SUPPLY ID RESISTOR SHIELD GROUND

Numerics

2D mode active area 36 command set 52 emulation commands 52 initialization 37 pointing device compatibility 62 reporting data formats 49 Logitech M+ 49 MS-Compatible 51 reporting mode 36 resolution 36 tracking speed 36 2D mode command set Enter 3D Mouse Emulation (*) 57 Select 5-byte (MSC) Format (*U) 53 Select M+ Format (*X) 52 Select MS-Compatible Format (*V) 53 Send Copyright (*c) 53 Send Specific Configuration (*!) 56 Send Standard Configuration (*?) 54 3D mode axes illustrated 24 command set 40 coordinate system 23 data format restrictions 40 initialization 37 mouse data report format 38 orientation data 28 reporting modes 35 resolution 32 right-hand rules 24 rotations illustrated 24 tracking speed 35 X,Y,Z positional data 27 3D mode command set Current Operating Information (*m) 44 Demand a Single Report (*d) 42 Demand Reporting (*D) 42 Diagnostics (*<enq>) 43 Disable Transmitter Output (*O) 44 Enable Transmitter Output (*A) 44 Incremental Reporting (*I) 42 Invoke 2D Mode (*<) 41 Set Custom Receiver Dimensions 48 Set Filter Count 48 Set Slave Transmitter Type 47 Software Reset (*R) 41 Stream Reporting (*S) 43 3D Mouse arranging components 7 assembly schematic 73 basic components 2, 61 basic components illustrated 2 components, arranging 7 how to create a custom receiver 73 positional reference points, illustrated 27 receiver 12 buttons 13 buttons illustrated 13 custom 3 dimensions 66 holding in 2D mode 15 illustrated 15 holding in 3D mode 14 illustrated 14 microphones illustrated 12 transmitter 11 dimensions 66 illustrated 11 3D Mouse and Head Tracker additional components 3 connecting components 5 installation and setup 5 specifications 61 71

(Numerics continued) system features 1 system operation 23 troubleshooting 59 9- to 25-pin serial port pin assignments 65 9-pin serial port pin assignments 65
Accuracy 62 Active area 31 illustrated 31, 32 Audio device 18 Audio Out connector pin assignments 63 device pin assignments 64 specification 63 Audio processing device 3
Connecting computer cable to serial port 6, 22 Control unit 16 connectors 17, 63 dimensions 66 front panel 17 initialization 37 Master 19, 20 Master/Slave cable 19, 21 multiple 3, 19 rear panel 17 rear panel illustrated 5 reset 37 Slave 20 turning on 6 Current Operating Information (*m) command 44 Custom 3D Mouse receiver 3, 69
Degrees, converting to radians 31 Demand a Single Report (*d) command 42 Demand Reporting (*D) command 42 Demand reporting mode 35 Diagnostics (*<enq) command 37, 43 Dimensional mode 2D 61 3D 61 Disable Transmitter Output (*O) command 44
Component cable lengths 66 positioning the arrow 6 Components arranging 3D Mouse 7 arranging Head Tracker 7 connecting to control unit 5 Computer Cable, RS-232C 18 Connecting components audio device 6 computer cable 6 power supply 6 receiver 6 transmitter 6
Enable Transmitter Output (*A) command 44 Enter 3D Mouse Emulation (*) command 57 Eulers angles, converting to Quaternions 30
Formulas converting degrees to radians 31 converting Eulers angles to Quaternions 30 72
Fringe area 32 illustrated 32 Fringe bit 33
Head Tracker arranging components 8 basic components 3, 61 custom arrangements 8 receiver 16 dimensions 67 illustrated 3, 16 transmitter 15 dimensions 67 illustrated 3, 15
Multiple control units 3 components illustrated 20 connecting 20, 22 illustrated 21 Master/Slave cable illustrated 21 necessary components 19 why necessary to use 19
Operating Relative Humidity 63 Operating Temperature 62 OUT bit 33 data report 34 example code 34 Out-of-range area 32 illustrated 32
Incremental Reporting (*I) command 42 Incremental reporting mode 35 Invoke 2D Mode (*<) command 41
Pitch rotation 28 defined 28 illustrated 24, 28 Point of origin illustrated 24 Power supply 18 specifications 66
Latency 48, 62 Logitech M+ Format 49
Master/Slave cable 18 illustrated 21 control units illustrated 20 MS-Compatible Format 51
Questions & Answers 59
README.TXT information file 10 Receiver how to position in an orientation 30 origin point 26 illustrated 27 reference axes 26 illustrated 27 tracking speed 35 73
Receiver microphones, where to purchase 73 Receiver ultrasonic sampling rate 12 Reliability 63 Reporting mode 7 demand 35 incremental 35 stream 35 Reporting rates 62 Resolution 32, 62 Right-hand rule to determine rotation about an axis 25 illustrated 25 to determine X,Y,Z axes 25 Roll rotation defined 29 illustrated 24, 29 RTS line toggle 37

doc1

Head-Tracked Stereo Viewing with TwoHanded 3D Interaction for Animated Character Construction
Russell Turner1, Enrico Gobbetti1,2, and Ian Soboroff1 1. UMBC, CSEE Department, Baltimore MD 21228-5398, USA 2. CESDIS, NASA Goddard Space Flight Center, Greenbelt, MD, USA E-mail: {turner|gobbetti|ian}@cs.umbc.edu
TO APPEAR IN PROC. EUROGRAPHICS'96 Abstract
In this paper, we demonstrate how a new interactive 3D desktop metaphor based on two-handed 3D direct manipulation registered with head-tracked stereo viewing can be applied to the task of constructing animated characters. In our configuration, a six degree-of-freedom head-tracker and CrystalEyes shutter glasses are used to produce stereo images that dynamically follow the user head motion. 3D virtual objects can be made to appear at a fixed location in physical space which the user may view from different angles by moving his head. To construct 3D animated characters, the user interacts with the simulated environment using both hands simultaneously: the left hand, controlling a Spaceball, is used for 3D navigation and object movement, while the right hand, holding a 3D mouse, is used to manipulate through a virtual tool metaphor the objects appearing in front of the screen. In this way, both incremental and absolute interactive input techniques are provided by the system. Hand-eye coordination is made possible by registering virtual space exactly to physical space, allowing a variety of complex 3D tasks necessary for constructing 3D animated characters to be performed more easily and more rapidly than is possible using traditional interactive techniques. The system has been tested using both Polhemus Fastrak and Logitech ultrasonic input devices for tracking the head and 3D mouse.
Keywords: Interactive 3D Graphics, Stereoscopic Display, Head-Tracking, Two Hand Input, Virtual Tools,
3D Character Modeling, Animation Systems

1. Introduction

The creation of computer animated characters, from simple caricatures to realistic-looking humans, is fundamentally a creative process. It is therefore essential that animation software systems be accessible to nontechnical, creative animation artists. Ideally, the computer should provide for the computer-based animator an electronic artistic medium as flexible as any traditional medium such as clay or paper and pencil. The latest layered construction techniques, which model anatomical features, have shown promise in creating character models that deform automatically around an articulated skeleton. But purely geometric models, although they can be very expressive, usually require too much user intervention to achieve realistic-looking results. Physically-based elastic models provide more realistic behavior, but at the price of increased CPU requirements
and difficulty of control. With proper use of constraints, however, deformable models can be controlled by kinematic and geometrical models. Recent improvements in processor speeds now make it possible to simulate certain kinds of moderately complex physical models in real-time. For these reasons, we believe that a hybrid approach in which layered models are constructed using a combination of geometric, kinematic and physicallybased techniques, is the most promising one. Our LEMAN (Layered Elastic Model ANimation) system [Turner 93][Turner 95], allows three-dimensional animated characters to be built up from successive layers of skeleton, muscle, fat and skin. Using an artist's anatomical approach, the character is represented as a simulated elastically deformable skin surface which is wrapped around a kinematically modeled articulated figure. The character may then be animated by moving the underlying figure. The ideal 3D character model should provide a good compromise between interactive speed and realism, and between animator control and physically realistic behavior. The exact details of such a model are no more important, however, than the types of interactive technique used to construct and animate it. High-performance 3D graphics workstations and a variety of multi-dimensional input devices have begun to make highly interactive, direct manipulation environments practical. Finding the right kinds of interaction metaphors by which these devices can control a 3D character model, however, requires experimentation with many of the various possibilities. It is increasingly evident that the classical user-interfaces based on 2D input devices and 2D mindsets are inadequate for these kinds of applications, which require users to specify complex spatial information. In particular, the low-bandwidth communication between the 2D user-interface and the application, together with the inherent limitations of the 2D mouse for interactive 3D motion specification, make it extremely difficult for the users to perform their work with simple intuitive actions [Conner 92][Gobbetti 93][Gobbetti 95]. The feedback provided to the users is also a problem: the limited information about the structure of the three-dimensional world conveyed by a fixed visual image often forces the application to rely on multiple views to provide additional depth information. This requires users to combine the separate views to form a mental model of complex objects, adding further complexity to what is often a very difficult task [Herndon 92], and forcing users to concentrate on how to obtain what they want instead of the task itself. Based on these limitations, it is evident that user interface metaphors which enable users to work directly in three dimensions must be developed. Virtual reality research, starting from the basic assumption that human beings are well equipped to interact with the world they live in, should strive to make users interact with virtual worlds in the same way they interact with the real world, thus making the interaction task much more natural and easier to learn. The difficulties associated with achieving the important goal of immersion have led researchers in virtual environments to concentrate more on the development of new input and display devices than on higherlevel techniques for 3D interaction. It is only recently that techniques for interaction with synthetic worlds have tried to go beyond straightforward interpretation of physical device data [NSF 92][Conner 92]. By contrast, recent research in the 3D interaction field has focused on exploring responsive 3D interfaces with better affordances, functional fidelity and mental appeal [Conner 92][Robertson 93][Herndon 94][Gobbetti 95]. This research, while dramatically improving the expressive power of desktop computers to accomplish 3D tasks, has not taken advantage of the latest developments of virtual reality technology to increase the bandwidth and fidelity of manmachine communication. In most cases, the interaction tools reside in 3D space, but are operated with the 2D mouse and presented to users using a conventional perspective view on a workstation monitor. We believe that it is important to bridge the gap between these two research directions by applying the results of immersive virtual reality hardware research to enhance, rather than completely replace, current desktop configurations, and to use the additional possibilities offered by such improved configurations to develop new interaction metaphors. In doing so, we believe that we can develop a restricted, but high-quality form of virtual reality, one that would give a compelling sense of immersion within the confines of the desktop world, but would at the same time be expressive and ergonomic enough for people to use for extended periods of time to do practical work. Recent research on "fishtank VR" [Ware 93] has started to focus on these problems. In this paper, we demonstrate how a new interactive 3D desktop metaphor based on two-handed 3D direct manipulation registered with head-tracked stereo viewing can improve the animated character construction process. First, we will provide a short overview of the LEMAN animated character model. Next, we will describe our device configuration and interaction metaphor. Then, we will describe how some important character construction tasks are accomplished using our interface. The paper concludes with a discussion of related work, an evaluation of the results obtained and a view of future work.

2. The LEMAN Animated Character Model
As described in detail in [Turner 93] the development of the elastic surface layer model is an attempt to simulate the layered anatomical structure of an animated character so as to minimize computational effort by using for each layer the modeling techniques which are most appropriate. Since the skin is the outermost layer and the only one directly visible, we concentrate CPU effort on this by modeling it as a simulated deformable elastic surface [Terzopoulos 87][Lee 95]. The underlying layers are then modeled using geometric and kinematic techniques which act on the surface as force-based constraints. In particular, reaction constraints prevent the surface from penetrating the underlying muscle and fat layers, pushing the skin out, while point-to-point connective tissue spring constraints pull the surface in.
Skeleton Muscle Fat Skin Connective Tissue
Figure 1. Components of the Elastic Surface Layer Model The skin is implemented as a simulation of a continuous elastic surface discretized using a finite difference technique [Terzopoulos 87]. The surface is represented as a rectangular mesh of 3D mass points, together with their physical characteristics (e.g. mass, elasticity) and their current state information (e.g. position, velocity). When the numerical solver is turned on, the state is evolved over time at a fixed simulation time step. At periodic intervals, the surface is rendered on the screen, resulting in a real-time continuous simulation. The surface is bounded at its poles and constrained by reaction constraints, point-to-point spring forces and other environmental forces such as gravity and air pressure. At each time step, the spring forces acting at each surface point are calculated, according to the Hooke's law spring constant, and added to the total applied force for that point. Other environmental forces are then calculated and added in to the total applied force. Then the point is checked to see if it is inside any of the muscle layer surfaces, in which case reaction constraints are applied. Rather than simply adding forces, reaction constraints remove undesirable forces and replace them with forces that move the elastic surface towards the constraint surface with critically damped motion [Platt 88]. Forces perpendicular to the constraint surface are not affected, so the elastic surface may slide along the constraint surface until it reaches a local energy minimum.
3. A User Interface for Character Construction

Character construction is an important creative aspect of physically-based layered character animation since so much of the character's animated behavior is determined by its structure. We therefore focus our efforts on improving the user-interface for this task which, given the structure of the layered model, is mainly concerned with providing effective ways to perform the following operations [Turner 93]: Skeleton building: as a first step, a hierarchical skeleton must be created. This requires specification of all the joints in the articulated figure, their positions and orientations with respect to each other, and their hierarchical relationships. In addition, the joints' range of motion must be specified, which often requires manipulating the figure into various postures to observe the effects of different values. The result is a "stick figure" skeleton of pure joints, and is analogous to an armature used in traditional sculpture or stop motion
animation; Adding muscles: the next step is to "flesh out" the skeleton by adding solid geometrical shapes to the joints which move with the skeleton and form the basic shape of the articulated figure. These shapes, which correspond to body shape masses in traditional figure drawing, constitute the muscle layer of the layered character model and are based on deformed implicit surfaces such as spheres and superellipses. Their parameters and dimensions, as well as orientations with respect to their associated joints must be specified; Connecting the skin: the physically-based skin surface is attached to the figure at the skin boundaries and also through simulated connective tissue, which takes the form of "rubber-band" force constraints between points on the skin surface and points on the underlying muscle layer. This is a complex spatial task since it requires associating every point on a global rectangular surface mesh (the skin) with a local point on the surface of a hierarchical shape (the articulated figure). In addition, the stiffness of each rubber-band constraint may be specified globally or individually; Sculpting the fat layer: the fat layer is represented as a geometric distance separating the skin a muscle layers. It is specified as a simple thickness parameter at each point on the skin, and therefore corresponds to sub-cutaneous fat which moves with the skin. This operation therefore involves associating a single scalar parameter with each point on the skin surface. All these operations require the specification of 3D data and the understanding of complex 3D information. The user interface should therefore be designed so as to facilitate these operations.

3.1 Device Configuration and Interaction Metaphor
In our configuration, a six degree-of-freedom head-tracker and CrystalEyes shutter glasses are used to produce stereo images that dynamically follow the user head motion. We have used both Polhemus Fastrak magnetic and Logitech ultrasonic sensors to track the head and 3D mouse motion. As in [Deering 1992], the left and right viewing frusta are recomputed at each frame from the physical position of the viewer's eyes and the physical position of the display surface. Each of the frusta is a truncated pyramid with apex at the eye position and edges passing through the corners of the rendering viewport. The position of the left and right eyes are computed from offsets from the tracked head-position, while the position of the display surface in tracker coordinates is determined by a calibration step that has to be re-executed only when the screen monitor or the tracker reference frame are moved. Our current calibration procedure simply consists of measuring the position of the four corners of the workstation monitor with the 3D mouse. Thanks to the registration between virtual and physical coordinates, 3D virtual objects can be made to appear at a fixed location in physical space which the user may view from different angles by moving his head. The combination of physically accurate perspective, stereo viewing, and motion parallax provide a compelling illusion of the existence of the simulated 3D objects. To construct 3D animated characters, the user interacts with the simulated environment using both hands simultaneously: the left hand, controlling a Spaceball, is used for 3D navigation and object movement, while the right hand, holding a 3D mouse, is used to manipulate the objects appearing in front of the screen through a virtual tool metaphor. In this way, both incremental and absolute interactive input techniques are provided by the system. This combination of input techniques provides several benefits. Thanks to head-tracking, camera motion can take advantage of simultaneous position and velocity control, and a single control mode has characteristics which are at the same time appropriate for close inspection, exploration, and navigation [Ware 90]. In our system, the Spaceball incrementally controls a virtual vehicle, and tracked head and right hand positions are interpreted local to that vehicle. Relying on an incremental device such as the Spaceball for vehicle control reduces the user's fatigue, as opposed to solutions based on absolute devices such as those presented in [Ware 90], since the left hand can rest on the Spaceball support and only very small finger movements are necessary for motion control. The different components of an animated character are created, connected and manipulated using virtual tools which are encapsulations of a physical appearance and a behavior [Conner 92][Gobbetti 93]. Since tools are manipulated with the right hand using absolute input, the user can have the visual impression of touching the

virtual objects that are close to him. These virtual tools are in some ways 3D analogs of the types of interactive tools found in typical 2D drawing programs (e.g. select, resize, create-circle, spray-paint). However, since they are inherently three-dimensional, they are capable of performing more sophisticated 3D spatial tasks, and are often more intuitive for 3D operations than their two-dimensional counterparts since they correspond more closely to a real-world tool. Like a 2D drawing program, the various tools are arranged in a toolbar from which the current tool may be selected using the 3D mouse. Once selected, a copy of the tool is displayed at the current position of the 3D mouse, representing a 3D cursor. A visible "wand" extends a few centimeters out from the cursor and is used for picking objects and specifying positions in space, and a button on the 3D mouse allows picking and dragging operations. The large number of degrees of freedom and direct-manipulation capabilities of these virtual tools allow complex interactive operations, which might otherwise require several 2D widgets and 2D mouse, to be performed naturally with a single virtual tool.
Virtual Tool Virtual Toolbar
Hand Tracking Dynamic Stereo Viewing Volumes

Head Tracking

Stereo Glasses (CrystalEyes)
Incremental 6 DOF Input (Spaceball) Figure 2. Device configuration and interaction metaphor
3.2 Spatio-temporal Realism
To give users the impression of manipulating real objects, it is important that the lag between their movements and the effects in the synthetic world be as small as possible. This is obtained in LEMAN by decoupling the simulation and tracking activities. At each frame, the following actions are taken: the latest values of the 3D mouse and head tracker sensors are read, and virtual camera position and virtual tool position are updated; events from the various devices are handled, and the behavior of the active tool is executed; if the skin is deforming, simulation steps are executed until the time that remains in current frame is less or equal to the time spent rendering the previous frame; the latest values of the motion tracker sensors are read again, and a new frame is rendered with the latest positions of the virtual camera and tool. Since the motion tracker is sampled at a much higher rate than the frame rate of the application (60 Hz vs. 10 Hz), and since on our machine (an SGI Onyx RE2) computing the simulation is more expensive in time than rendering the character, reading tracker values twice per frame (once before computing the application behavior and once just before rendering the frame) allows the reduction of the most important lags, i.e. those of the objects directly associated with the physical position of the user. The perceived hand and head motion lag is determined by the rendering time and does not depend on the simulation time. This lag reduction technique is similar to justin-time-synchronization [Wloka 95] with a priority given to the user's position as in DIVER [Pausch 93].

Simulate Render

Figure 3. LEMAN Time-line
4. Constructing a Character
With LEMAN, the animator can build up a three-dimensional character model from scratch, adjusting parameters and moving it interactively throughout the process to test its appearance and behavior. Once the character is constructed, it can be saved to a file for future use. The main operations involved in character creation have been implemented so as to take advantage of head-tracked stereo-viewing and a two-handed direct-manipulation interface. The hand-eye coordination made possible by the registration between virtual and physical space which allows a variety of complex 3D tasks necessary for constructing 3D animated characters to be performed more easily and more rapidly than is possible using traditional interactive techniques. The following sections describe the main steps involved in the creation of a 3D characters, contrasting our user-interface with traditional desktop approaches such as those used in our previous work [Turner 95]. The pictures presented in the following sections were taken by tracking the position of the camera using the Logitech ultrasonic head tracker. Figure 4 (color plates) shows a user in the process of constructing a character.
4.1 Skeleton Building and Muscle Creation
In a direct manipulation user environment, it is usually easier to build both muscle and skeleton layers simultaneously, since the geometric link shapes provide something tangible to manipulate. Articulated figures are constructed by selecting one of the shape creation tools (e.g. sphere, superellipse) and selecting a point in space causing a new joint be created at that location. Dragging the tool, by holding the 3D mouse button down while changing its position and orientation, changes the size and shape of the muscle associated with the joint. For example, drag-translating the tip of the sphere creation tool wand will vary the radius of the sphere, while dragrotating the superellipse creation tool will vary its curvature parameters. The direct correspondence between the physical location of the hand tracker and the effect on the manipulated objects gives invaluable help when creating the character, since the size of the character's muscles and the position of the joints are controlled directly in the physical space (see Figure 5, color plates). Traditional user-interfaces such as the one used in [Turner 95] offer only indirect control over these parameters. The system maintains a current joint, which is displayed in a highlighted form and can be specified using the selection tool. Newly created joints are made children of the current joint, allowing the skeleton hierarchy to be easily specified. Selecting and dragging an existing joint with a shape creation tool will modify the parameters of the existing joint rather than creating a new one. Model editing and model creation can thus be done with a single tool. By combining head-tracking, vehicle movements controlled by the Spaceball, and model creation using 3D tools using a 3D mouse, an entire skeleton can be created and viewed from all angles in a few minutes without

any interaction mode changes in the application. In order to check that the articulated figure has been properly constructed, the user must be able to move the skeleton into various postures easily. This is done in the LEMAN system using the inverse kinematics tool, which implements a standard technique used in computer-based character animation that allows the posture of a kinematic chain (e.g. arm, leg, spine) to be specified by moving the end joint of the chain, known as the endeffector. To change the posture of the character's skeleton, the user simply selects the end-effector joint with the inverse kinematics tool and drags it to the desired new position. The entire kinematic chain up to the nearest branching point in the skeleton hierarchy will then follow the motion of the end-effector. The direct correspondence between physical and virtual locations allows for a direct control in space of the end-effector movement, while the control offered by a non head-tracked application can only be approximate. The behavior of the character can thus be tested more effectively. Figure 6 (color plates) shows the inverse kinematics positioning of a character's body.

4.2 Attaching the Skin

The skin is created and attached to the articulated figure using the skin attachment tool. The skin surface is created and its top and bottom boundaries are fixed to their respective joints by selecting the joints with the tool in sequence from bottom to top. Once both boundaries are specified, the differential equation solver starts up and the skin, initially in a spherical shape, shrinks down around the muscle layer of the character (see Figure 7, color plates). The connective tissue attachments between the skin and the muscle layers may be created by issuing a global "attach" command which causes all points on the skin surface to be attached to the nearest point on the muscle perpendicular to the skin surface. These attach points may then be adjusted with the skin attachment tool by selecting individual points on the skin surface, dragging the wand to the desired attach point on the muscle surface, and releasing. Selection of regions of the skin surface can be done naturally by touching the virtual skin with the tool. The user can view the effects of the changes from different angles while using the skin attachment tool, simply by moving his head or, if larger motions are needed, by using the Spaceball. Errors caused by editing operations using a single perspective view are thus reduced, since motion parallax effectively coveys the needed 3D information.
4.4 Sculpting the Fat Layer
The final character shape may be sculpted to a fair degree by locally adjusting the thickness of the fat layer. Since the fat thickness is a single parameter associated with each point on the skin surface, it can be controlled very naturally using the "liposuction" tool, which increases or decreases the fat thickness of the skin in a Gaussian distribution around the selected point on the skin surface (see Figure 8, color plates). The implementation of fat thickness is described in detail in [Turner 93]. This tool is analogous in some ways to a spray-can tool in a 2D paint program in that the longer the user holds down the mouse button, the more fat is injected into the skin. The orientation of the tool along its main axis differentiates between injection or removal of fat: a clockwise rotation with respect to the initial orientation injects fat, while a counter-clockwise rotation removes it. Figure 9 (color plates) shows the final character, which was created in only a few minutes. Texture-maps have been added using a conventional user-interface.

5. Related Work

5.1 Interactive 3D Modeling It is only recently that some 3D interactive desktop modeling systems have started to make good use of 3D space for interaction purposes. AT&T's embryonic CAD modeler [Weiner 89] was one of the first applications showing the importance of multi-modal input for shape design. However, its user interface made little use of 3D space,
mostly using three-dimensional menus and limiting direct manipulation to point dragging and orientation specification. 3-Draw [Sachs 90] and the polygonal modeler described in [Shaw 94] extend these techniques to two-handed input, an idea first proposed for 2D user-interfaces by Buxton and Myers [Buxton 86]. Both systems implement 3D two-handed input by using two Polhemus trackers to let users manipulate the modeled surface's orientation and a 3D cursor concurrently. Since these systems do not provide accurate head-tracked viewing, it is difficult to correlate the physical motions with their effect in the synthetic world. The lack of incremental input capabilities is likely to increase the user's fatigue. The object-oriented graphical toolkits UGA [Zeleznik 91], from Brown University, Inventor [Strauss 92], from Silicon Graphics, and VB2 [Gobbetti 93], developed by one of the authors at the Swiss Federal Institute of Technology in Lausanne, demonstrate how the increase in correlation between manipulation and effect on controlled objects makes three-dimensional widgets more powerful and simpler to understand than their two-dimensional counterparts. Modeling applications have been developed using each of these toolkits [Gobbetti 95][Conner 92], but none of them have so far taken advantage of registration between virtual and physical world to provide direct interaction with synthetic objects. Michael Deering's HoloSketch [Deering 95] offers both head-tracking and hand-tracking to improve the usability of a shape modeling application, but no incremental devices are used to aid object inspection and scene navigation. 5.2 Head-tracked Stereographic Visual Displays Stereo graphics has long been used to enhance the user's perception of depth in comparison to standard graphics displays. However, most of the work in stereo-rendering for computer graphics deals with the generation of stereo pairs in situations where the position of the viewer is not well controlled (as in movie theaters or when generating images on a desktop workstation without using head tracking). The objective of this kind of research is to obtain easy-to-control (and often exaggerated) "stereo-effect". Examples are discussed in [Roese 79], [Schmandt 83], [Hibbard 91], [Hodges 91], [Hodges 92], and an excellent overview of these techniques is presented in [McKenna 92]. These models often give the user direct control of the stereo projection (by adjusting intuitive parameters such as "image separation"), and cannot be used when exact registration between virtual and physical locations is needed. With these systems it is impossible to obtain the hand-eye coordination necessary for direct interactive manipulation. Recently, some authors have concentrated on the exact mapping between virtual and physical locations using head-tracked stereo-rendering on workstation monitors [Deering 92][Deering 95] or projection screens [Cruz-Neira 93][Krueger 94]. This technique is particularly important for implementing augmented reality systems. In our system, we adapted the approach described in [Deering 92] for correcting distortions caused by the curvature of screens of CRTs whose screen is a spherical section, to our display configuration, based on a Sony CRT with a cylindrical section-shaped screen.

6. Conclusions and Future Work
In this paper, we have presented how a new interactive 3D desktop metaphor based on two-handed 3D direct manipulation registered with head-tracked stereo viewing can be applied to the task of constructing animated characters. In our configuration, a six degree-of-freedom head-tracker and CrystalEyes shutter glasses are used to produce stereo images that dynamically follow the user's head motion. 3D virtual objects can be made to appear at a fixed location in physical space which the user may view from different angles by moving his head. To construct 3D animated characters, the user interacts with the simulated environment using both hands simultaneously: the left hand, controlling a Spaceball, is used for 3D navigation and object movement, while the right hand, holding a 3D mouse, is used to manipulate the objects appearing in front of the screen through a virtual tool metaphor. In this way, both incremental and absolute interactive input techniques are provided by the system. Hand-eye coordination is made possible by registering virtual and physical space, allowing a variety of complex 3D tasks necessary for constructing 3D animated characters to be performed more easily and more rapidly than is possible using traditional interactive techniques. We have experimented with both Polhemus Fastrak magnetic trackers and Logitech ultrasonic trackers to input the head and 3D mouse motion. While the Polhemus is less obtrusive and does not suffer from occlusion problems, its performance degrades considerably when operated close to the workstation monitor due to emitted
magnetic fields, which cause jitter, and the presence of metal in the environment, which distorts position values and lowers correspondence between the physical and virtual coordinate systems. The Logitech trackers do not suffer these kinds of problems and work quite well close to the screen, as long as care is taken not to occlude the sensor microphones. Our future work will concentrate on developing more tools for character construction and character animation, the goal being the creation of a system where all interaction is done in three dimensions. We would also like to improve registration between virtual and physical space by developing visual calibration procedures. Such a system, we believe, would provide a prototype user-interface metaphor useful in a variety of highly-interactive desktop VR applications in areas such as surgical simulation, surface modeling and scientific visualization as well as animation.

Acknowledgments

This work was supported by National Science Foundation Interactive Systems grant number IRI-9503093. Development of the original LEMAN system was supported by a grant from the Swiss National Foundation. We would also like to thank the reviewers for their helpful comments and suggestions.

Bibliography

Butterworth J., Davidson A., Hench S., Olano TM (1992) 3DM: A Three Dimensional Modeler Using a HeadMounted Display. Proceedings SIGGRAPH Symposium on Interactive 3D Graphics: 135-138. Buxton W, Myers B (1986) A Study in Two-Handed Input. Proceedings of the ACM SIGCHI: 321-326 Cruz-Neira C, Sandin DJ, DeFanti TA (1993) Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE. Proceedings ACM SIGGRAPH Conner DB, Snibbe SS, Herndon KP, Robbins DC, Zeleznik RC, Van Dam A (1992) Three-Dimensional Widgets. ACM SIGGRAPH Symposium on Interactive 3D Graphics: 183-188. Deering M (1992) High Resolution Virtual Reality. Proceedings ACM SIGGRAPH : 195-202. Deering M (1995) HoloSketch: A Virtual Reality Sketching/Animation Tool. ACM Transactions on ComputerHuman Interaction. 2(3): 220-238. Gobbetti E, Balaguer JF (1993) VB2: A Framework for Interaction in Synthetic Worlds. Proceedings ACM UIST. Gobbetti E, Balaguer JF (1995) An Integrated Environment to Visually Construct 3D Animation. Proceedings ACM SIGGRAPH. Herndon KP, Zeleznik RC, Robbins DC, Conner DB, Snibbe SS, Van Dam A (1992) Interactive Shadows. Proceedings UIST: 1-6. Herndon KP, van Dam A, Gleicher M (1994) Workshop Report: The Challenges of 3D Interaction. SIGCHI Bulletin, October. Hibbard E (1991) On the Theory and Application of Stereographics in Scientific Visualization. EUROGRAPHICS State of the Art Reports: 1-21. Hodges L (1991) Basic Principles of Stereographics Software Development. Proceedings SPIE 1457: 9-17. Hodges L (1992) Tutorial: Time-Multiplexed Stereoscopic Computer Graphics. IEEE Computer Graphics and Applications: 20-30. Krueger W, Froehlich B (1994) The Responsive Workbench. IEEE Computer Graphics and Applications 14(3):12-15
Lee Y, Terzopoulos D, Waters K (1995) Realistic Modeling for Facial Animation. Proceedings ACM SIGGRAPH: 55-62. McKenna M, Zeltzer D (1992) Three Dimensional Visual Display Systems for Virtual Environments. Presence 1(4): 421-458. NSF (1992) Research Directions in Virtual Environments, NSF Invitational Workshop, University of North Carolina at Chapel Hill, March 23-24: 154-177. Pausch R, Conway M, DeLine R, Gossweiler R, Miale S (1993) Alice and DIVER: A Software Architecture for Building Virtual Environments. Proceedings InterCHI. Platt JC, Barr AH (1988) Constraint Method for Flexible Models, Proceedings ACM SIGGRAPH : 279-288 Robertson GG, Card SK, Mackinlay JD (1993) Information Visualization Using 3D Interactive Animation. Communications of the ACM 36(8):57-71. Roese J, McCleary L (1979) Stereoscopic Computer Graphics for Simulation and Modeling. Proceedings ACM SIGGRAPH: 41-47. Sachs E, Roberts A, Stoops D (1990) 3-Draw: A Tool for the Designing of 3D Shapes. IEEE Computer Graphics and Applications 11(6): 18-26. Schmandt C (1983) Spatial Input/Display Correspondance in a Stereoscopic Computer Graphics Workstation. Proceedings ACM SIGGRAPH: 253-261. Shaw C, Green M (1994) Two-Handed Polygonal Surface Design. Proceedings ACM UIST: 212-215. Strauss PS, Carey R (1992), An Object-Oriented 3D Graphics Toolkit. Proceedings SIGGRAPH: 341-347. Terzopoulos D, Platt JC, Barr AH, Fleischer K (1987) Elastically Deformable Models, Proceedings ACM SIGGRAPH: 205-214. Turner R, Thalmann D (1993) The Elastic Surface Layer Model for Animated Character Construction. Proceedings Computer Graphics International. Turner R (1995) Lman: A System for Consructing and Animating Layered Elastic Characters. Proceedings Computer Graphics International. Ware C, Arthur K, Booth KS (1993) Fishtank Virtual Reality. Proceedings INTERCHI: 37-42. Ware C, Osborne S (1990) Exploration and Virtual Camera Control in Virtual Three Dimensional Environments Proceedings ACM Workshop on Interactive 3D Graphics: 175-183. Wloka M (1995) Lag in Multiprocessor VR. Presence: 4(1): 50-63. Weiner D, Ganapathy SK (1989) A Synthetic Visual Environment with Hand Gesturing and Voice Input. Proceedings ACM SIGCHI: 235-240. Zeleznik RC, Conner DB, Wlocka MM, Aliaga DG, Wang NT, Hubbard PM, Knepp B, Kaufman H, Hughes JF, van Dam A (1991), An Object-Oriented Framework for the Integration of Interactive Animation Techniques. Proceedings ACM SIGGRAPH: 105-112.

C O L O R P L A T E - THESE IMAGES WERE TAKEN USING THE POLHEMUS VERSION, WHILE THE PUBLISHED ONES WERE TAKEN USING THE LOGITECH VERSION OF THE SOFTWARE
Figure 4. Constructing a character
Figure 5. Skeleton creation
Figure 6. Inverse kinematics manipulation

Figure 7. Skin creation

Figure 8. Sculpting the fat layer
Figure 9. The final character

 

Tags

71003 Sonos ZP90 Princeton 65 753DFX IC-211E RW410 KDL-26EX302 VR-806 Samsung B310 DAV-DZ120 TH-42PX600EN VT 6032 KD-SC601 CDX-636 BIB-1450 Edirol R-44 Valencia CD52 Igloo FTK113 Kxtg4033 Temporis 07 Lexmark C772 Actionlaser 1500 Review Vi 295W PV-L780D CFM 722 Professional DVD-1910 PDP-4270XD Desmosedici RR RM-V8T AXM7E Kpn5000 AVH-P6050DVD RD-VH7 DC-3185 ESD 9110 LP722 M-650V 28PW5407 HDR-SR8E GEX-P700DAB Ellipse Optio L60 32R86BD MAX-X2 1100DTN LE40M87BD HM903DT DP9200 6130M-MN D7 2CX DCR-DVD610E Ipod Nano Aficio 1075 DVP-NS430 Omnia PRO Fostex X-26 CA-110 SD255 EW1043S VX-60R AN8 32X Navigon 2510 Korg NS5R ZOS5 1 Ketron XD3 650-2 H55M LE Security MRV-T420 Ypg-535 FOR Ps3 Samsung NT10 D1218 HDR-CX350VE RT-29FB20RB Fujifilm F440 Uk Presario 8000 Pfaff 97 CTK-WK200 T135-2006 MHC-F250AV SL-1200MK3 Asus L2D Elna 654 MCM760 Digital AVR 2000 MAX713 Angeles Mp72 XP500-2007 Powermax 230 CX-DP88 D-370 Tridata Plug-IN Plus Basic NWZ-E345

 

manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding

 

Sitemap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101