From 7653e5caccfc70c46e3c754f9c3acf0732cafc9c Mon Sep 17 00:00:00 2001 From: Jakub Marcowski <37378746+Chubercik@users.noreply.github.com> Date: Thu, 18 Apr 2024 16:11:14 +0200 Subject: [PATCH] Implement Delaunay3D math benchmarks (#39) --- benchmarks/math/delaunay_3d.gd | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 benchmarks/math/delaunay_3d.gd diff --git a/benchmarks/math/delaunay_3d.gd b/benchmarks/math/delaunay_3d.gd new file mode 100644 index 0000000..eb49c2c --- /dev/null +++ b/benchmarks/math/delaunay_3d.gd @@ -0,0 +1,27 @@ +extends Benchmark + +const NUM_POINTS := 1_000 +const UPPER_LEFT_DOWN := Vector3(0.0, 0.0, 0.0) +const BOTTOM_RIGHT_UP := Vector3(10.0, 10.0, 10.0) + +var rng := RandomNumberGenerator.new() + +func scatter_points_3D(num_points: int, + upper_left_down: Vector3, + bottom_right_up: Vector3) -> PackedVector3Array: + rng.seed = hash("Delaunay3D") + var points := PackedVector3Array() + + for i in range(num_points): + points.append(Vector3( + rng.randf_range(upper_left_down.x, bottom_right_up.x), + rng.randf_range(upper_left_down.y, bottom_right_up.y), + rng.randf_range(upper_left_down.z, bottom_right_up.z) + )) + + return points + +var scattered_points := scatter_points_3D(NUM_POINTS, UPPER_LEFT_DOWN, BOTTOM_RIGHT_UP) + +func benchmark_delaunay3D() -> void: + Geometry3D.tetrahedralize_delaunay(scattered_points)