planes in three-dimensional space, stored by unit normals and signed offsets

Syntax

plane = plane3d(N, d)

Planes satisfying dot(N, v) = d.

plane = plane3d(N, v0)

Planes with normal N through v0.

plane = plane3d.byPoints(v)

Least-squares plane through a point cloud.

Description

Normals are normalised internally. A numeric offset is divided by the original normal length, so rescaling both N and d describes the same plane. With unit N, d is the signed distance from the origin, in the units of the positions. Arrays of normals and offsets represent arrays of planes. The normals carry the coordinate frame.

Input

N vector3d plane normals, coordinate arrays, or a plane3d to copy
d numeric offsets, or vector3d positions through which the planes pass; default 0

Output

plane plane3d

Properties

N unit normals as vector3d
d signed distances from the origin
frame coordinate frame of the normals
shape shape of the plane array

See also

plane3d.byPoints, plane3d.dist, plane3d.project, plane3d.intersect

Members

byPoints the plane through points: the least squares fit through their centroid, the normal the smallest principal axis of the cloud
cat cat(a, b, …) is type(a).cat(a, b, …): the list of the operands, MATLAB’s [a, b], the carried attributes joined
clip the polygon the plane cuts out of the box from lo to hi, its corners in order around the normal
dist the signed distance of points to the plane, or the distance of two parallel planes, NaN where the planes meet
fit the plane through points: the least squares fit through their centroid, the normal the smallest principal axis of the cloud
frame the frame of the planes, that of their normals
intersect where the segments from v1 to v2 cross the plane, NaN where they do not
plane3d planes in three-dimensional space, stored by unit normals and signed offsets
plot planes in space drawn as polygons, each clipped by the bounds of the 3D axes
project orthogonally project points onto the planes
rotate a rotation turns the normal, the distance stays
shape the shape of the list of planes
size the number of planes
subsref  

Used on

EBSD3Analysis, EBSD3Plotting, Grains3D, RotationImproper

MATLAB’s plane3d_index

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/plane3d_index_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.