KorMA
Korma is a mathematic library for multiplatform Kotlin 1.3 mostly focused on geometry.
https://github.com/korlibs/korma
Table of contents:
Pages
- Geometry - Angle, Point, Matrix, Ray, Vector3D, Matrix3D, AABB3D, Ray3D, EulerRotation, Quaternion, PointArrayList, Rectangle, Size, Anchor, Orientation, ScaleMode, BoundsBuilder, BVH, BVH2D, BVH3D...
- Vector - VectorPath, VectorBuilder, Shape2d, Shape2d union, difference, Triangulation, Vector Collision, Bezier...
- Math Utils - Clamping, interpolation and easing
- Path Finding - A*, TriA* path finding algorithms
- BinPacking - Bin Packing, MaxRects...
Using with gradle
Requires Gradle 7.1.1
(JVM 11~17
) for building and Kotlin >=1.7.21
for running:
build.gradle.kts
val kormaVersion = "4.0.2"
// For multiplatform projects
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("com.soywiz.korlibs.korma:korma:$kormaVersion")
}
}
}
}
dependencies {
// For JVM only
implementation("com.soywiz.korlibs.korma:korma-jvm:$kormaVersion")
// For Android only
implementation("com.soywiz.korlibs.korma:korma-android:$kormaVersion")
// For JS only
implementation("com.soywiz.korlibs.korma:korma-js:$kormaVersion")
}
Clipper & poly2tri
// Additional funcionality using Clipper and poly2try code (with separate licenses):
// - https://github.com/korlibs/korma/blob/master/korma-shape/LICENSE
dependencies {
implementation "com.soywiz.korlibs.korma:korma-shape:$kormaVersion"
}