Results 11 -
11 of
11
Lazy Functional Quaternions
, 1995
"... We present mathematicaland Haskell definitions of functions for manipulating quaternion structures, and provide several examples of these functions in use. 1 Introduction This paper describes the design and implementation of a package for manipulating quaternions in the lazy functional programming ..."
Abstract
- Add to MetaCart
We present mathematicaland Haskell definitions of functions for manipulating quaternion structures, and provide several examples of these functions in use. 1 Introduction This paper describes the design and implementation of a package for manipulating quaternions in the lazy functional programming language Haskell [HPJW92]. Quaternions are well-suited to performing rotational transformations on three-dimensional objects. We present our algorithms in Haskell because we believe the language lends itself well to a clear exposition of algorithms and data structures [Sul94]---in this case, the implementation of quaternion algebra. Examples of user input are rendered in italic courier type; given the definitions in this paper, the examples are directly executable in an interpreter such as Gofer. 1.1 A brief overview of quaternions A quaternion is a mathematical structure, "the extension of complex numbers to three dimensions ". We write a quaternion q as q = [[s; * v ]] where s is a s...

