Elsevier

Computers & Graphics

Volume 17, Issue 2, March–April 1993, Pages 121-126
Computers & Graphics

Technical section
Fast rotation of a 3D image about an arbitrary line

https://doi.org/10.1016/0097-8493(93)90094-PGet rights and content

Abstract

A graphical computer system must give the user an opportunity to look at an object from different angles. For that, we must be able, given two points P1 and P2 in space and an angle Φ, to rotate an object by the angle Φ about the line P1P2. This is usually done by rotating vertices (or other points that represent an object) and connecting them. Since an image can have lots of vertices, it is important to be able to rotate each of them quickly. Therefore, we are interested in a rotation method that would consist of the smallest possible number of computational steps.

The usual method (see, e.g., [1]) includes four nonarithmetic operations (namely, computing sin Φ, cos Φ, and two square roots), and seven multiplications of 4 × 4 matrices. Nonarithmetic operations are necessary because the known expression for a rotated point includes sin Φ, cos Φ, and a square root. However, we can try to reduce the number of arithmetic operations (+, -, ×, :).

In this paper, we propose an algorithm that consists of only 30 arithmetic steps: it is less than 110 of the number of steps used in the traditional method.

References (8)

  • C.K. Pokorny et al.

    Computer Graphics

    (1989)
  • T. Gaskins

    PHIGS programming manual

    (1992)
  • V. Strassen

    Gaussian elimination is not optimal

    Numerische Mathematik

    (1969)
  • T.H. Cormen et al.

    Introduction to Algorithms

    (1990)
There are more references available in the full text version of this article.

Cited by (2)

View full text