advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Reviews : Java Books : 3D User Interfaces with Java 3D :


Title: 3D User Interfaces with Java 3D
ISBN: 1884777902
US Price: $49.95
© Manning Publications Co.

8.2.3 Skirts

Design applications for e-commerce, which involve arranging, assembling, and con-figuring data objects, will be a prevalent form of next-generation application. Such applications generally involve concrete real world data, such as architecture, furniture, and industrial parts. As such, there is a strong sense of "up" and often some notion of a ground plane like a floor. As long as all the data objects remain on the floor and the user knows this to be true, visual ambiguity is not much of a problem. If, however, some objects are inherently off the floor, like lighting fixtures, or can be lifted off of the floor by the user, like stackable bookshelves, then visual ambiguity becomes a significant problem. A skirt is a type of projecting feeler that is specially suited to address this problem.

A skirt is a set of semitransparent planes projecting down from the outer edges of the host object to the floor. For a rectangular-shaped profile, the skirt will appear as a translucent box underneath the object, sort of like a Plexiglas pedestal. This is shown in figure 8.8, and demonstrated in part 4 starting with the PassiveFeeling example in section 22.1.3. The skirt simultaneously provides the user with several types of feedback. It serves as an idiom telling the user to pay special attention to the object's apparent position because the object is not on the floor. In terms of relational feed-back, it indicates how far the object is off the floor, where the footprint of the object is on the floor, whether the object is over or in front of any other objects, and whether an edge of the object is aligned with a neighboring object.

An important question remains: When should the skirt be visible? Showing the skirt only on the target object while it is actively being dragged minimizes presentation clutter and is adequate for providing most relational feedback. This approach, how-ever, leaves the user wondering about all the nontarget objects in the scene, whose vertical position can be resolved only one object at a time by selecting an object and observing its skirt or lack thereof. One possible compromise is to show the skirt as part of the mouseover feedback for all the objects in the scene. Another possibility is to show all nontarget skirts all the time but dimly, with a high transparency factor, to minimize clutter.


Figure 8. 8 Adding a skirt to the lamp, which appears during mouseover, clearly shows the user that the lamp is not on the desk.

8.2.4 Outlines

Figure 8. 9 Object outlines can indicate interaction states and the spatial extent of their host objects.

A rather simple but versatile element is the outline. Visually an outline encloses or delineates its host object or object group. The most common forms of outlines are the wireframe and the semitransparent bounding box. Nonbox shapes such as spheres, cylinders, and polyhedrons can also be used; and patterns of dots or lines can be used for the faces instead of semi-transparent polygons. As a means of feed-back, an outline's talents are many and somewhat specialized. Wireframe object outlines are demonstrated in part 4 of the book starting with the PassiveFeeling example in section 22. 1.3, and several examples are shown in figure 8. 9.

As a feeler, an outline can show the spatial extent of the host. As control feedback, its presence around a host object can indicate that the host is selected or highlighted in some manner. As relational feed-back, an outline can enclose a group of objects thereby serving as an idiom for grouping. As a control widget, the outline can serve as a control handle allowing the user to drag the host object by dragging on the outline. For both efficiency and clutter reduction, an outline can serve as a proxy for the host object, with only the outline being seen and not its host object. In terms of efficiency, the outline is often quicker to render than the object itself, especially during user interaction if the object is large or complex. In terms of clutter, the outline obscures a lot less of the surrounding scene than the object itself.

Outlines can also enclose or highlight parts within an object, such as faces, edges, and vertices. For example, the user might select an edge or face in an object to serve as the reference for an alignment operation. As the object is dragged, an outline around the reference part might highlight when the part aligns with a neighboring object. A part outline can take a number of forms. For example, a 2D polyline or semitransparent polygon might be used to delineate an object face, a fat 1D line might delineate an edge, and a small 2D circle might outline a vertex.

8.2.5 Tic marks

Figure 8. 10 An example of a tic mark indicating when a target object edge is aligned with that of a neighboring object

A tic mark is some small line or symbol that marks a particular spatial position, graduates a range of spatial positions, or assists with alignment, like a feeler. A common form of tic mark is a small line next to a vertex or collinear with an edge on the target object that appears to show alignment with surrounding objects. An example is shown in figure 8. 10. Unlike projecting feelers, tic marks are less obtrusive and can make the display appear less cluttered. The flip side is that they don't provide as much feedback information as a projecting feeler. A tic mark simply marks a single position or angle instead of extending to surrounding objects to indicate proximity as well as alignment. Tic marks can be passive, being visible whenever the host object is selected or being dragged; or, more typically they can be active and dynamic, appearing or highlighting when the host object aligns with a part— vertex, edge, face— in another object.

A common use of tic marks is to indicate graduations for sliding or rotating a tar-get object, similar to the tic marks on a ruler or protractor. For example, sometimes it's desirable for rotations to be delimited at certain increments, such as 15 degrees, in which case radial tic marks might indicate these positions and tell the user that such delimitations will be imposed. For a linear position, tic marks might indicate graduations in physical units such as inches, feet, or meters. A special form of tic mark is the "grid," where the marks themselves are taken to the extreme and are shown as complete intersecting lines. Grids are useful for aligning and snapping objects at regular but predefined positions, and are often used in 2D drawing applications. In 3D applications, grids and tic marks aren't limited to the ground plane. They can be applied to the walls, ceiling, floor, and even to an empty volume of space.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs