GeometrySpace

interface GeometrySpace<V : Vector> : Group<V> , ScaleOperations<V>

Functions

add
Link copied to clipboard
abstract fun add(left: V, right: V): V
binaryOperation
Link copied to clipboard
open fun binaryOperation(operation: String, left: V, right: V): V
binaryOperationFunction
Link copied to clipboard
open override fun binaryOperationFunction(operation: String): (V, V) -> V
bindSymbol
Link copied to clipboard
open fun bindSymbol(value: String): V
bindSymbolOrNull
Link copied to clipboard
open fun bindSymbolOrNull(value: String): V?
distanceTo
Link copied to clipboard
abstract fun V.distanceTo(other: V): Double
L2 distance
div
Link copied to clipboard
open operator fun V.div(k: Number): V
dot
Link copied to clipboard
abstract infix fun V.dot(other: V): Double
Scalar product
minus
Link copied to clipboard
open operator fun V.minus(other: V): V
plus
Link copied to clipboard
open operator fun V.plus(other: V): V
scale
Link copied to clipboard
abstract fun scale(a: V, value: Double): V
times
Link copied to clipboard
open operator fun V.times(k: Number): V
open operator fun Number.times(other: V): V
unaryMinus
Link copied to clipboard
abstract operator fun V.unaryMinus(): V
unaryOperation
Link copied to clipboard
open fun unaryOperation(operation: String, arg: V): V
unaryOperationFunction
Link copied to clipboard
open override fun unaryOperationFunction(operation: String): (V) -> V
unaryPlus
Link copied to clipboard
open operator fun V.unaryPlus(): V

Properties

zero
Link copied to clipboard
abstract val zero: V

Inheritors

Euclidean2DSpace
Link copied to clipboard
Euclidean3DSpace
Link copied to clipboard

Extensions

projectAlong
Link copied to clipboard
fun <V : Vector> GeometrySpace<V>.projectAlong(vector: V, normal: V, base: V): V
Project vector onto a hyperplane, which is defined by a normal and base.
projectToLine
Link copied to clipboard
fun <V : Vector> GeometrySpace<V>.projectToLine(vector: V, line: Line<V>): V
Project vector onto a line.

Sources

common source
Link copied to clipboard