Point-normal triangle

{{Orphan|date=January 2024}}

The curved point-normal triangle, in short PN triangle, is an interpolation algorithm to retrieve a cubic Bézier triangle from the vertex coordinates of a regular flat triangle and normal vectors. The PN triangle retains the vertices of the flat triangle as well as the corresponding normals. For computer graphics applications, additionally a linear or quadratic interpolant of the normals is created to represent an incorrect but plausible normal when rendering and so giving the impression of smooth transitions between adjacent PN triangles.{{Cite book|last1=Vlachos|first1=Alex|last2=Peters|first2=Jörg|last3=Boyd|first3=Chas|last4=Mitchell|first4=Jason L.|date=2001-03-01|title=Curved PN triangles|url=https://archive.org/details/siggraph2001conf00fium/page/159|publisher=ACM|pages=[https://archive.org/details/siggraph2001conf00fium/page/159 159–166]|doi=10.1145/364338.364387|isbn=978-1581132922|s2cid=5227025|url-access=registration}} The usage of the PN triangle enables the visualization of triangle based surfaces in a smoother shape at low cost in terms of rendering complexity and time.

Mathematical formulation

With information of the given vertex positions \mathbf{P}_{1},\mathbf{P}_{2},\mathbf{P}_{3} \in \mathbb{R}^{3}

of a flat triangle and the according normal vectors \mathbf{N}_{1},

\mathbf{N}_{2},

\mathbf{N}_{3}

at the vertices a cubic Bézier triangle is constructed. In contrast to the notation of the Bézier triangle page the nomenclature follows G. Farin (2002),{{Cite book |title=Curves and surfaces for CAGD : a practical guide |last=Farin |first=Gerald E. |date=2002 |publisher=Morgan Kaufmann |isbn=9780080503547 |edition=5th |location=San Francisco, CA |oclc=181100270}} therefore we denote the 10 control points as \mathbf{b}_{ijk}

with the positive indices holding the condition i+j+k = 3

.

The first three control points are equal to the given vertices.\begin{align}\mathbf{b}_{300} &= \mathbf{P}_{1}, & \mathbf{b}_{030} &= \mathbf{P}_{2}, & \mathbf{b}_{003} &= \mathbf{P}_{3}\end{align} Six control points related to the triangle edges, i.e. i,j,k = \left\{0,1,2\right\}

are computed as\begin{align}

\mathbf{b}_{012} &= \frac{1}{3} \left( 2 \mathbf{P}_{3} + \mathbf{P}_{2} - \omega_{32}\mathbf{N}_{3}\right), &

\mathbf{b}_{021} &= \frac{1}{3} \left( 2 \mathbf{P}_{2} + \mathbf{P}_{3} - \omega_{23}\mathbf{N}_{2}\right), &&\\

\mathbf{b}_{102} &= \frac{1}{3} \left( 2 \mathbf{P}_{3} + \mathbf{P}_{1} - \omega_{31}\mathbf{N}_{3}\right), &

\mathbf{b}_{201} &= \frac{1}{3} \left( 2 \mathbf{P}_{1} + \mathbf{P}_{3} - \omega_{13}\mathbf{N}_{1}\right), &&\\

\mathbf{b}_{120} &= \frac{1}{3} \left( 2 \mathbf{P}_{2} + \mathbf{P}_{1} - \omega_{21}\mathbf{N}_{2}\right), &

\mathbf{b}_{210} &= \frac{1}{3} \left( 2 \mathbf{P}_{1} + \mathbf{P}_{2} - \omega_{12}\mathbf{N}_{1}\right) &

\qquad \text{with} \quad \omega_{ij} &= \left( \mathbf{P}_{j} - \mathbf{P}_{i} \right) \cdot \mathbf{N}_{i}.\\

\end{align}

This definition ensures that the original vertex normals are reproduced in the interpolated triangle.

Finally the internal control point (i=j=k=1)

is derived from the previously calculated control points as

\begin{align}

\mathbf{b}_{111} &= \mathbf{E} + \frac{1}{2} \left(\mathbf{E} - \mathbf{V}\right)\\

\text{with}&\quad \mathbf{E} = \frac{1}{6} \left(\mathbf{b}_{012} + \mathbf{b}_{021} + \mathbf{b}_{102} + \mathbf{b}_{201} + \mathbf{b}_{120} + \mathbf{b}_{210}\right)\\

\text{and}&\quad \mathbf{V} = \frac{1}{3} \left(\mathbf{P}_{1} + \mathbf{P}_{2}+ \mathbf{P}_{3}\right).

\end{align}

An alternative interior control point

\begin{align}

\mathbf{b}_{111} &= \mathbf{E} + 5 \left(\mathbf{E} - \mathbf{V}\right)

\end{align}

was suggested in.{{cite patent

| country = USA

| number = 6,462,738

| status =

| title = Curved Surface Reconstruction

| pubdate = oct. 08, 2002

| gdate =

| fdate = Dec. 17, 1999

| pridate =

| inventor = Kato, Saul S.

| invent1 =

| invent2 =

| assign1 =

| assign2 =

| class =

| url = https://patentimages.storage.googleapis.com/79/a1/22/171ff5c130c38a/US6462738.pdf

}}

References