#ifndef Curvature3D_H #define Curvature3D_H /* Last edited on DATE TIME by USER */ #include typedef struct Curvature3D_data_t { } Curvature3D_data_t; /* Ideally, the 3-manifold realized as $\phi(\CT)$ should be as smooth as possible. Each tetrahedron of $\phi({\CT})$ is contained in some 3-di\-men\-sio\ -nal affine subspace of $\Real^m$. In general, if $t_1,t_2$ are two ad- jacent tetrahedra, their images $\phi(t_1)$ and $\phi(t_2)$ will lie in two distinct 3D spaces $V_1,V_2$ of $\Real^{m}$, whose intersection is the plane containing the shared wall $f$. In order to flatten out the mo- del $\phi(\CT)$ at that spot, we need to minimize the angle $\theta_f$ between $V_1$ and $V_2$. This requirement is captured by the {\em curvatu- re energy}, defined as \begin{equation} \Ecurv == \sum_{f \in \WALL{\CT}} \left(1+\cos\theta_{f}\right) \label{eq.curvature} \end{equation} \noindent Note that $1-\cos\theta_{f}$ is approximately $\frac{1}{2} \,\theta_{f}^{2}$ when $\theta_{f}$ is small. Therefore, minimizing $\Ecurv$ tends to make the angles $\theta_{f}$ as small as possible. The value of $\cos \hspace{0.10cm} \theta_{f}$ can be computed by the formula $\cos \theta_f == - r_1 \dotpr r_2/(\abs{r_1}\,\abs{r_2})$, where $r_i$ is a vector in $U_i$ perpendicular to the wall $f$, and pointing into the tetrahe- dron $t_i$, for $i==1,2$. */ Energy_t Curvature3D_new(void); #endif