EstimatedPointNormals

EstimatedPointNormals[{p1,p2,}]

estimates normal vectors for the points p1,p2,.

EstimatedPointNormals[mreg]

estimates normals vectors for the vertices of the mesh region mreg.

Details and Options

  • EstimatedPointNormals is typically used to find hypersurface orientations from a set of points.
  • EstimatedPointNormals[{p1,p2,}] gives a list {n1,n2,} where ni is the unit normal vector of pi.
  • The pi in EstimatedPointNormals[{p1,p2,}] can be lists of coordinates or explicit Point objects.
  • A Method option can also be given. Possible Method settings include:
  • "PlaneFitting"plane fitting using nearest neighbors
    "FaceWeighted"face-weighted normals

Examples

open allclose all

Basic Examples  (3)

Estimated normals of circle points:

Estimated normals of sphere points:

Generate a point cloud by randomly sampling a surface:

Visualize the estimated normals with lighting:

Scope  (2)

Basic Uses  (1)

Estimated normals of points in 1D:

In 2D:

In 3D:

In D:

Specifications  (1)

EstimatedPointNormals takes a set of points:

Use a Point list:

Applications  (3)

Basic Applications  (1)

Given a sufficiently dense sampling of a smooth surface, one can assume that samples near each other in space also lie near each other on the surface:

The local surface around each point is therefore sampled by the nearest neighborhood of the point:

This local surface can be approximated by a plane fitted to its sample points:

The normals of these fitted planes can be used as an estimate of the normals of their corresponding points:

Point Cloud Rendering  (1)

Render a point cloud using the estimated normals for lighting calculations:

Compare the rendered point cloud to the ground truth model:

Surface Reconstruction  (1)

Estimate normals to be used during surface reconstruction:

Properties & Relations  (2)

EstimatedPointNormals can generate normals for use in surface reconstruction:

Normal vectors can be calculated directly using partial derivatives if the underlying function is known:

Interactive Examples  (1)

Create an interactive example with draggable points to view the normals update in real time:

Neat Examples  (1)

Assign colors to a point cloud based on the estimated normal directions:

Wolfram Research (2022), EstimatedPointNormals, Wolfram Language function, https://reference.wolfram.com/language/ref/EstimatedPointNormals.html.

Text

Wolfram Research (2022), EstimatedPointNormals, Wolfram Language function, https://reference.wolfram.com/language/ref/EstimatedPointNormals.html.

CMS

Wolfram Language. 2022. "EstimatedPointNormals." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/EstimatedPointNormals.html.

APA

Wolfram Language. (2022). EstimatedPointNormals. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/EstimatedPointNormals.html

BibTeX

@misc{reference.wolfram_2023_estimatedpointnormals, author="Wolfram Research", title="{EstimatedPointNormals}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/EstimatedPointNormals.html}", note=[Accessed: 18-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_estimatedpointnormals, organization={Wolfram Research}, title={EstimatedPointNormals}, year={2022}, url={https://reference.wolfram.com/language/ref/EstimatedPointNormals.html}, note=[Accessed: 18-April-2024 ]}