mirror of https://github.com/CGAL/cgal
User manual
This commit is contained in:
parent
e86003c5c6
commit
b26aa59049
|
|
@ -832,6 +832,8 @@ of nearest neighbors or a fixed spherical neighborhood radius.
|
||||||
|
|
||||||
\section Point_set_processing_3NormalOrientation Normal Orientation
|
\section Point_set_processing_3NormalOrientation Normal Orientation
|
||||||
|
|
||||||
|
\subsection Point_set_processing_3Mst_orient_normals Minimum Spanning Tree
|
||||||
|
|
||||||
Function `mst_orient_normals()` orients the normals of a set of
|
Function `mst_orient_normals()` orients the normals of a set of
|
||||||
points with unoriented normals using the method described by Hoppe et
|
points with unoriented normals using the method described by Hoppe et
|
||||||
al. in <I>Surface reconstruction from unorganized points</I> \cgalCite{cgal:hddms-srup-92}.
|
al. in <I>Surface reconstruction from unorganized points</I> \cgalCite{cgal:hddms-srup-92}.
|
||||||
|
|
@ -846,7 +848,7 @@ the normals which cannot be successfully oriented.
|
||||||
Normal orientation of a sampled cube surface. Left: unoriented normals. Right: orientation of right face normals is propagated to bottom face.
|
Normal orientation of a sampled cube surface. Left: unoriented normals. Right: orientation of right face normals is propagated to bottom face.
|
||||||
\cgalFigureEnd
|
\cgalFigureEnd
|
||||||
|
|
||||||
\subsection Point_set_processing_3Example_normals Example
|
\subsubsection Point_set_processing_3Example_normals Example
|
||||||
|
|
||||||
The following example reads a point set from a file, estimates the
|
The following example reads a point set from a file, estimates the
|
||||||
normals through PCA (either over the 18 nearest neighbors or using a
|
normals through PCA (either over the 18 nearest neighbors or using a
|
||||||
|
|
@ -854,8 +856,31 @@ spherical neighborhood radius of twice the average spacing) and
|
||||||
orients the normals:
|
orients the normals:
|
||||||
\cgalExample{Point_set_processing_3/normals_example.cpp}
|
\cgalExample{Point_set_processing_3/normals_example.cpp}
|
||||||
|
|
||||||
|
\subsection Point_set_processing_3Scanline_orient_normals Scanline
|
||||||
|
|
||||||
|
The minimum spanning tree results can give suboptimal results on point
|
||||||
|
clouds with many sharp features and occlusions, which typically
|
||||||
|
happens on airborne acquired urban datasets.
|
||||||
|
|
||||||
|
`scanline_orient_normals()` is an alternative method specialized for
|
||||||
|
point sets which are ordered in scanline aligned on the XY-plane. It
|
||||||
|
can take advantage of LAS properties provided by some LIDAR scanner
|
||||||
|
and is the best choice of normal orientation when dealing with 2.5D
|
||||||
|
urban scenes.
|
||||||
|
|
||||||
|
\cgalFigureBegin{Point_set_processing_3figmst_scanline_orient_normals,scanline_orient_normals.png}
|
||||||
|
Normal orientation of a LIDAR scanline. The point cloud is a typical
|
||||||
|
airborne LIDAR input, sampling a building without normal information
|
||||||
|
and with many occlusions (especially on vertical walls).
|
||||||
|
\cgalFigureEnd
|
||||||
|
|
||||||
|
\subsubsection Point_set_processing_3Example_scanline_normals Example
|
||||||
|
|
||||||
|
The following example reads a point set from a LAS file, estimates the
|
||||||
|
normals through Jet Fitting and outputs in PLY format the orientation
|
||||||
|
results of all the variants of `scanline_orient_normals()`:
|
||||||
|
|
||||||
|
\cgalExample{Point_set_processing_3/orient_scanlines_example.cpp}
|
||||||
|
|
||||||
\section Point_set_processing_3Upsampling Upsampling
|
\section Point_set_processing_3Upsampling Upsampling
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
\example Point_set_processing_3/hierarchy_simplification_example.cpp
|
\example Point_set_processing_3/hierarchy_simplification_example.cpp
|
||||||
\example Point_set_processing_3/jet_smoothing_example.cpp
|
\example Point_set_processing_3/jet_smoothing_example.cpp
|
||||||
\example Point_set_processing_3/normals_example.cpp
|
\example Point_set_processing_3/normals_example.cpp
|
||||||
|
\example Point_set_processing_3/orient_scanlines_example.cpp
|
||||||
\example Point_set_processing_3/wlop_simplify_and_regularize_point_set_example.cpp
|
\example Point_set_processing_3/wlop_simplify_and_regularize_point_set_example.cpp
|
||||||
\example Point_set_processing_3/bilateral_smooth_point_set_example.cpp
|
\example Point_set_processing_3/bilateral_smooth_point_set_example.cpp
|
||||||
\example Point_set_processing_3/edge_aware_upsample_point_set_example.cpp
|
\example Point_set_processing_3/edge_aware_upsample_point_set_example.cpp
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in New Issue