Results 1 
6 of
6
On the design of CGAL a computational geometry algorithms library
 SOFTW. – PRACT. EXP
, 1999
"... CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major ..."
Abstract

Cited by 106 (15 self)
 Add to MetaCart
CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major design goals for CGAL, which are correctness, flexibility, easeofuse, efficiency, and robustness, and present our approach to reach these goals. Generic programming using templates in C++ plays a central role in the architecture of CGAL. We give a short introduction to generic programming in C++, compare it to the objectoriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGALlibrary and consider software engineering aspects in the CGALproject.
Representing Rotations and Orientations in Geometric Computing
"... Geometric computing with threedimensional rotations and orientations is a fundamental issue in threedimensional computer graphics. Our approach was inspired by affine geometry and coordinatefree geometric programming. The basic idea of affine geometry is to make a distinction between points and ve ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Geometric computing with threedimensional rotations and orientations is a fundamental issue in threedimensional computer graphics. Our approach was inspired by affine geometry and coordinatefree geometric programming. The basic idea of affine geometry is to make a distinction between points and vectors. The relation between orientations and rotations is analogous to the relation between points and vectors. Similarly to affine geometry, we argue that rotations and orientations should be represented differently in geometric computing. We show that, in threedimensional space, unit quaternions (or rotation matrices) cannot parameterize rotations without singularity, but rotation vectors can. Conversely, rotation vectors cannot parameterize orientations without singularity, but unit quaternions (or rotation matrices) can. From these observations, we suggest that orientations should be represented by unit quaternions (or rotation matrices) and rotations should be represented by threedimensional vectors. Furthermore, a set of operations are identified for combining rotations and orientations. Those operations are geometrically meaningful and independent of the choice of reference coordinate frames.
A case study in statistical computing in a lisp environment: Geometric ahstractions for constrained optimization of layouts
 In Proc. of the 1989 Joint Statistical Meetings, Stat. Compo Sect
, 1989
"... In statistical computing in a abstractions for constrained of ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In statistical computing in a abstractions for constrained of
Geometric abstractions for constrained optimization of layouts. ∗
, 1989
"... We discuss implementation of algorithms for constrained optimization, based on CLOS objects representing standard mathematical abstractions like affine spaces, vectors, and linear transformations. These abstractions simplify using the optimization library in varied applications, facilitate animation ..."
Abstract
 Add to MetaCart
(Show Context)
We discuss implementation of algorithms for constrained optimization, based on CLOS objects representing standard mathematical abstractions like affine spaces, vectors, and linear transformations. These abstractions simplify using the optimization library in varied applications, facilitate animation, carry no significant performance penalty (compared to traditional Fortran implementations). Our motivating problem is constructing layouts for interactive displays used to browse through the contents of a database (eg. a document retrieval system). These displays are constructed using ideas similar to multidimensional scaling; screen positions for glyphs representing entities in the database are chosen to minimize a penalty function that reflects the relationships among the entities. 1
Abstract
"... Objectoriented programming for linear algebra. Many numerical analysts and Lisp/Smalltalk programmers share the assumption that languages like Fortran are more appropriate for tra.ditional, quantitative scientific programming than objectoriented languages. To show how straightforward application ..."
Abstract
 Add to MetaCart
Objectoriented programming for linear algebra. Many numerical analysts and Lisp/Smalltalk programmers share the assumption that languages like Fortran are more appropriate for tra.ditional, quantitative scientific programming than objectoriented languages. To show how straightforward application of objectoriented design to standard algorithms in numerical linear algebra improves clarity and expressiveness, without sacrificing speed or accuracy, I describe parts of Cactus, a system for numerical linear algebra and constrained optimization, implemented in Common