FLofVLELn

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - FL/Facet Lists
Introduced first in SolidGeometry 2.1, Creation date: 2014-12-30, Last change: 2025-09-14

returns the facet list for a vertex list and a planar edge list in 3D

Description

Similiar to FLofVLEL, using delaunayTri, bit in addition the contour is decomposed in facet with same normal vectors. The result is much better than FLofVLEL/Delaunaytri, if enough vertices are used.
Use FLofVLELn (VL,EL,n) in combination with feature edges
Use FLofVLEL2 (VL,EL) for optimal results
Use FLofVLEL (VL,EL) for delaunay results
Use FLofVL for quick and dirty results
It is used in combination with feature edges.

Example Illustration

 missing image of FLofVLELn(VL,EL,nv)

Syntax

FL=FLofVLELn(VL,EL,nv)

Input Parameter

VL: Vertex list
EL: Edge list
nv: normal vector, has to be correct

Output Parameter

FL: Facet list




Copyright 2014-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Algorithm (Workflow)

This function, FLofVLELn, is designed to generate a facet list from a given vertex list and a planar edge list in 3D space. It uses Delaunay triangulation and decomposes the contour into facets with the same normal vectors for improved results.

Input Parameters

Output

Algorithm Steps

  1. Extract the first vertex from the edge list and calculate the vector ex as the difference between the second and first vertex of the first edge.
  2. Set ez as the normal vector nv.
  3. Calculate ey as the cross product of ez and ex to ensure orthogonality.
  4. Construct a transformation matrix T using the normalized vectors ex, ey, and ez, and the translation vector t.
  5. Call VLELselect to filter the vertex and edge lists, obtaining VLN, SI, and ELN.
  6. Transform the vertex list VLN using the inverse of the transformation matrix T.
  7. Create a Delaunay triangulation TR2 using the transformed vertex list and edge list.
  8. Extract the interior facets from the triangulation using isInterior and store them in NFL.
  9. Map the indices from NFL back to the original vertex list using SI to form the final facet list FL.
  10. If the output is not requested, plot the vertices and facets using VLFLplot.
Algorithm explaination created using ChatGPT on 2025-08-19 01:16. (Please note: No guarantee for the correctness of this explanation)

Last html export of this page out of FM database by TL: 2025-09-21