All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.ru.casperix.math.geometry.LineExtension.kt Maven / Gradle / Ivy

package ru.casperix.math.geometry

import ru.casperix.math.straight_line.float32.LineSegment2f
import ru.casperix.math.vector.VectorArithmetic
import ru.casperix.math.vector.api.AbstractVectorN

fun , Item : Number> Line.length(): Item {
    return v1.distTo(v0)
}

fun , Item : Number> Line.delta(): CustomPoint {
    return v1 - v0
}

fun , Item : Number> Line.tangent(): CustomPoint {
    return delta().normalize()
}



fun , Item : Number> Line.scale(scale:Item): Line {
    val center = (v0 + v1).half()
    return Line(center + (v0 - center) * scale, center + (v1 - center) * scale)
}





fun Line2f.toSegment():LineSegment2f {
    return LineSegment2f(v0, v1)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy