VLtransN
by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - Spatial Relations
Introduced first in SolidGeometry 2.4, Creation date: 2015-08-19, Last change: 2025-09-14
returns a relative to normal vectors transformed vertex list
See Also: VLtransT
, VLtransP
, VLtrans1
, VLtrans0
, VLtransR
, VLtransT
, VLtrans
Example Illustration
Syntax
[VL,EL,EOL,FL,VNL]=VLtransN(VLO,FLO,[s,d])
Input Parameter
VLO: | | Vertex list of a planar surface |
FLO: | | Facet list of a planar surface |
s: | | shrink factor |
d: | | distance factor |
Output Parameter
VL: | | Vertex list [nx3] |
EL: | | Edge list [nx2] |
EOL: | | Edge orthogonal list [nx3] |
FL: | | Facet list [nx3] |
VNL: | | Vertex normal list [nx3] |
Copyright 2015-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, VLtransN, transforms a vertex list of a planar surface by applying a relative transformation to normal vectors. It is part of the SG-Library and was developed by Tim Lueth.
Input Parameters
- VLO: Vertex list of a planar surface.
- FLO: Facet list of a planar surface.
- s: Shrink factor (optional, default is 0).
- d: Distance factor (optional, default is 0).
- T: Transformation matrix (optional, default is the identity matrix).
Output Results
- VL: Transformed vertex list [nx3].
- EL: Edge list [nx2].
- EOL: Edge orthogonal list [nx3].
- FL: Facet list [nx3].
- VNL: Vertex normal list [nx3].
Algorithm Steps
- Initialize
s and d to 0 if not provided.
- Initialize
T to the identity matrix if not provided.
- Use
VLFLselect to select vertices and facets from VLO and FLO.
- Create a triangulation object
TRA using FL and VL.
- Compute vertex normals
VNL using vertexNormal function.
- Determine the free boundary edges
EL using freeBoundary.
- Calculate edge normals
EOL and indices c using edgeNormal.
- Move border vertices outwards by
s * EOL.
- Move vertices towards the normal vector by
d * VNL.
- If
T is not the identity matrix, apply transformation VLtransT to VL.
- If no output is requested, plot the original and transformed surfaces using
SGfigure and VLFLplot.
Algorithm explaination created using ChatGPT on 2025-08-19 07:53. (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