The functions described in this section allow to perform simple transformations on point coordinates. In particular projection onto a plane passing through the vertices of a given triangle or quadratic optimization problems.
Details
GtsVector[3]
typedef gdouble GtsVector[3];
A GtsVector is just an array of three coordinates.
gts_vector_init()
#define gts_vector_init(v, p1, p2)
Given two points p1 and p2, fills v with the coordinates of vector p1->p2.
Given a system of n constraints A.x=b adds to it the compatible
constraints defined by A1.x=b1. The compatibility is determined
by insuring that the resulting system is well-conditioned (see
Lindstrom and Turk (1998, 1999)).
Solve a quadratic optimization problem: Given a quadratic objective function
f which can be written as: f(x) = x^t.H.x + c^t.x + k, where H is the
symmetric positive definite Hessian of f and k is a constant, find the
minimum of f subject to the set of n prior linear constraints, defined by
the first n rows of A and b (A.x = b). The new constraints given by
the minimization are added to A and b only if they are linearly
independent as determined by gts_matrix_compatible_row().