A New User Interface for Rotation and Visualization of N-Dimensional Point Sets

A New User Interface for Rotation and Visualization of N-Dimensional Point Sets

Brigham Young University BYU ScholarsArchive Faculty Publications 1994-10-01 Spiders: A New User Interface for Rotation and Visualization of N- dimensional Point Sets William A. Barrett [email protected] Kirk L. Duffin Follow this and additional works at: https://scholarsarchive.byu.edu/facpub Part of the Computer Sciences Commons BYU ScholarsArchive Citation Barrett, William A. and Duffin, Kirk L., "Spiders: A New User Interface for Rotation and Visualization of N- dimensional Point Sets" (1994). Faculty Publications. 695. https://scholarsarchive.byu.edu/facpub/695 This Peer-Reviewed Article is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Faculty Publications by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. Spiders: A New User Interface for Rotation and Visualization of N-dimensional Point Sets Kirk L. Duffin William A. Barrett Brigham Young University Brigham Young University kirklQpython.cs.byu.edu Abstract discuss some of the implementation aspects of the al­ We present a new method for creating n­ gorithm and present an implementation ofan interac­ dimensional rotation matrices from manipulating the tive n-dimensional rotation interface that is free from projections of n-dimensional data coordinate axes hysteresis effects. Section 5 will demonstrate the ma.­ onto a viewing plane. A user interface for n­ nipulation of two 5-dimensional data sets using the dimensional rotation is implemented. The interface interface, and section 6 will point out some possible is shown to have no rotational hysteresis. areas of refinement for the interface. 1 Introduction Many techniques for visualizing n-dimensional 2 Background data sets separate the data into its component dimen­ 2.1 Notation sions, allowing the user to look at various coordinate In this paper we will hold to an extension of the combinations in a way that hopefully brings under­ notation used in most of the computer graphics liter­ standing. These methods do well at avoiding the tra­ ature: a n-dimensional point is represented by a n­ ditional projection to two dimensions that hides data. dimensional row vector and is post-multiplied by any However the data relationships are not immediately transformation matrices. The vector composed of all intuitive to our brains, which are used to transforming zeros except for a 1 in position i will be denoted ei. large amounts of information from three dimensional projections down to two. 2.2 Coordinate Frames On the other hand, projection of n-dimensional information down to two may be slightly more intu­ We represent a n-dimensional data set as a set itive, but suffers from the curse of data hiding due to of points in an n-dimensional Euclidian space }Rn. projection. Moving the data in n-space, by predeter­ There are two ways of investigating the projection of mined motion or direct manipulation can help solve a set of n-dimensional points onto a 2-dimensional this problem. viewing plane. In the first, the coordinate system Asimov's "grand tour"[Asi85] made it possible of the data and the coordinate system of the view­ to step through all possible projections of an n­ ing space coincide. A viewing plane is arbitrarily dimensional data set onto two dimensions in a use­ placed in the viewing space and the data is projected ful manner. Hurley and Buja introduced a means of onto the plane. The second approach to projecting creating "guided tours" of the data by allowing the n-dimensional data onto a viewing plane moves the user to create two disparate projection plane orienta­ coordinate system of the data with respect to the co­ tions and interpolate between them[Hur88]. A good ordinate system of the viewing space. In this latter method of interpolation is to create a n-dimensional approach the viewing plane remains fixed. rotation between the two orientations and sample Because a rotation leaves the coordinate system along the rotation angle[BA86]. Subsequent data ro­ origin invariant, it is possible to focus on the rotation tation tools, while similar, have retained this inter­ as a transformation of a vector from the origin to the polation approach for creating smooth motion in the data point. This allows the creation of coordinate projected data[YR91, SC90]. frames, a cluster of unit vectors that point down the Here we present a new technique for creating positive principal axes of the underlying coordinate n-dimensional rotations from information projected system. onto the viewing plane. From this technique we Using coordinate frames gives us some powerful develop an interface for interactively rotating n­ toolsfPiq90]. If we start with an untransformed data dimensional point sets. User control over the rotation coordinate frame, multiplying each axis vector e; in sequence is fine enough that no direct interpolation turn by the rotation matrix, it can be seen that the between projections is needed. Section 2 will review new position in view space of the axis is given by row some of the important principles from matrix algebra. i of the rotation matrix. Section 3 will develop the main algorithm for creating A corollary to this fact is that if we specify the n-dimensional rotation matrices from manipulation of new position of the axis vectors such that they remain data projections in the viewing plane. Section 4 will orthonormal then the new positions define the rows of 205 1070-2385/94 $04.00 © 1994 IEEE the rotation matrix1 R. occur. Moreover, by manipulating the projection of 2.3 Orthogonal Projections in an axis, it is possible to rotate the axis in the rotation plane such that the axis remains consistent with its n Dimensions projection. Figure 1 illustrates this observation for We define the orthogonal projection of an n di­ mensional point onto a subspace of lower dimension n = 3. (the viewing subspace) as the point in the subspace closest to the data point. Ifh1 ... h m , m ~ n are basis vectors of the viewing subspace, then the projection Xproj of a data point x is defined by m Xproj =Ex. hi· (1) i=l If the h are equivalent to the standard basis vec­ tors ei then the projection of x onto hi is simply the i-th coordinate of x. 3 Arbitrary Rotations in n Dimensions In three dimensions, rotations are commonly specified in terms of an angle about an arbitrary axis. However, it is more correct to think ofrotation as tak­ ing place in a plane embedded in the space[NoI67]. In 3-dimensional rotations, this plane is the plane per­ pendicular to the axis of rotation. In more than three dimensions, the idea of rotation about an axis goes awry because there are an infinite number of axes that are perpendicular to any given plane. But as long as a plane in the space is specified along with a center of Figure 1: A 3-dimensional coordinate frame before rotation in the plane, the rotation is uniquely defined. rotation (I) and after rotation (r). The rotation plane The simplest rotation to is defined by the rightmost data axis in each diagram describe in n-dimensional space occurs in the plane and its projection. The circle at the bottom of each formed by any two coordinate axes. The rotation ma­ diagram shows the projection of the data coordinate trix Rob(O) for the rotation of axis X o in the direction axes onto the viewing plane. of Xb by the angle 0 is 3.1 Rotation in the Plane ROb(O)={';; ~f: = -~Fn! ;I"';I'}. The problem here is to rotate the selected axis Xi by an unknown angle 0 to its new position xi. All rba sin 0 that is known are the magnitudes of the projections rij 0 elsewhere of the axis. (2) Let Xi be a unit vector representing the positive That is, Rob(O) is an identity matrix except for the direction of the i-th axis of the data coordinate sys­ entries at the mtersection ofrows a and b and columns tem embedded in the n-dimensional viewing coordi­ (~) a and b. Since there are principal axes planes, n­ nate system. The projection of Xi onto the viewing dimensional rotations are built up as the composition plane is denoted Xi.roj' The position and projection of specified rotations in each of the principal planes. of the axis after rotation are denoted xi and xi . This composition is accomplished by multiplying the respectively. See figure 2. .roJ corresponding rotation matrices together. Our goal is to provide an intuitive means of spec­ In the rotation plane, Xi can be decomposed ifying an n-dimensional interface, hopefully in a con­ into two vectors, Xi,ro,' and a component orthog­ cise graphical manner. The key to our approach is onal to the viewing plane, Xi-e such that Xi-e = in the observation that if an axis is not contained in Xi - Xi.roj' These two vectors set up an orthogonal the viewing plane nor is perpendicular to the viewing coordinate system in the rotation plane. Now Xi can plane, then the axis and its projection onto the view­ be represented by the coordinates (mi,roj, mi-e) where ing plane define another plane in which rotation can mi.roj = Il xi,ro,1I and mi-e = IIxi-eli. 1 Actually, this is not quite true. The negation of a data Since Xi and xi are unit vectors, given mi ., axis is also allowed in this definition which corresponds to a the magnitude of the new projected component '~;;n reflection of the data about that axis. However, the algorithm presented here will not produce reflections.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us