Class Hyperplane
java.lang.Object
org.episteme.core.mathematics.geometry.Hyperplane
- All Implemented Interfaces:
GeometricObject<PointND>
Represents an N-dimensional hyperplane.
A hyperplane is an (N-1)-dimensional affine subspace of an N-dimensional space. It divides the space into two half-spaces.
Defined by: {x | ⟨x - point, normal⟩ = 0} where point is any point on the hyperplane and normal is the normal vector.
Examples: - In 2D: a hyperplane is a line - In 3D: a hyperplane is a plane - In 4D: a hyperplane is a 3D space
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
ConstructorsConstructorDescriptionHyperplane(PointND point, Vector<Real> normal) Creates a hyperplane from a point and normal vector. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the dimension of the ambient space containing this object.booleanReturns a human-readable description of this geometric object.intReturns the intrinsic dimension of this geometric object.Computes the unsigned distance from a point to this hyperplane.booleangetPoint()inthashCode()intersection(LineND line) Finds the intersection with a line.booleanisParallelTo(Hyperplane other) Checks if this hyperplane is parallel to another.Projects a point onto this hyperplane.intChecks which side of the hyperplane a point is on.Computes the signed distance from a point to this hyperplane.static HyperplaneCreates a hyperplane from N points (for N-dimensional space).toString()
-
Constructor Details
-
Hyperplane
-
-
Method Details
-
through
Creates a hyperplane from N points (for N-dimensional space).The points must be affinely independent.
- Parameters:
points- the points defining the hyperplane
-
dimension
public int dimension()Description copied from interface:GeometricObjectReturns the intrinsic dimension of this geometric object.Examples:
- Point: 0
- Line/Segment: 1
- Plane/Surface: 2
- Volume: 3
- Specified by:
dimensionin interfaceGeometricObject<PointND>- Returns:
- the dimension
-
ambientDimension
public int ambientDimension()Description copied from interface:GeometricObjectReturns the dimension of the ambient space containing this object.For example, a 2D plane in 3D space has dimension=2 but ambientDimension=3.
- Specified by:
ambientDimensionin interfaceGeometricObject<PointND>- Returns:
- the ambient space dimension
-
getPoint
-
getNormal
-
containsPoint
-
signedDistance
-
distanceTo
-
project
-
side
Checks which side of the hyperplane a point is on.- Parameters:
p- the point- Returns:
- positive if on normal side, negative if opposite, 0 if on plane
-
isParallelTo
Checks if this hyperplane is parallel to another.- Parameters:
other- the other hyperplane- Returns:
- true if parallel
-
intersection
-
description
Description copied from interface:GeometricObjectReturns a human-readable description of this geometric object.- Specified by:
descriptionin interfaceGeometricObject<PointND>- Returns:
- description string
-
toString
-
equals
-
hashCode
-