From 197e6e8178f3a3ab3218b9d31c4a4d2248c3e97a Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 7 Jul 2024 14:52:30 -0500 Subject: [PATCH] add vec3f distance methods --- .../distanthorizons/core/util/math/Vec3f.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/util/math/Vec3f.java b/core/src/main/java/com/seibel/distanthorizons/core/util/math/Vec3f.java index dbc502f52..11f4b8f46 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/util/math/Vec3f.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/util/math/Vec3f.java @@ -20,6 +20,7 @@ package com.seibel.distanthorizons.core.util.math; import com.seibel.distanthorizons.api.objects.math.DhApiVec3f; +import com.seibel.distanthorizons.core.pos.DhBlockPos2D; import com.seibel.distanthorizons.coreapi.util.MathUtil; /** @@ -51,6 +52,14 @@ public class Vec3f extends DhApiVec3f this.z = pos.z; } + public Vec3f(Vec3d pos) + { + this.x = (float) pos.x; + this.y = (float) pos.y; + this.z = (float) pos.z; + } + + //==============// @@ -132,6 +141,20 @@ public class Vec3f extends DhApiVec3f this.z = f * f4 - f1 * f3; } + public static float getManhattanDistance(DhApiVec3f a, DhApiVec3f b) + { + return Math.abs(a.x - b.x) + + Math.abs(a.y - b.y) + + Math.abs(a.z - b.z); + } + + public static double getDistance(DhApiVec3f a, DhApiVec3f b) + { + return Math.sqrt(Math.pow(a.x - b.x, 2) + + Math.pow(a.y - b.y, 2) + + Math.pow(a.z - b.z, 2)); + } + //==============//