From 0f288b65d9f55931f6c58567a206cd6bb6090637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Tue, 1 Feb 2022 20:23:38 +0100 Subject: [PATCH] Remove number of pathfinidng nodes to improve performance --- rust/src/pathfinder.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rust/src/pathfinder.rs b/rust/src/pathfinder.rs index 54ad360..22277b4 100644 --- a/rust/src/pathfinder.rs +++ b/rust/src/pathfinder.rs @@ -176,12 +176,20 @@ impl Pathfinder { if angle1 == angle2 { continue; } - let angle_between = (angle2 - angle1) / 2.0 + angle1; + let angle_diff = angle2 - angle1; + if angle_diff < PI { + continue; + } + let angle_between = angle_diff / 2.0 + angle1; nodes.push(calc_pathfinding_node(point, angle_between)); } let angle1 = angles.last().unwrap(); let angle2 = angles.first().unwrap() + 2.0 * PI; - let angle_between = (angle2 - angle1) / 2.0 + angle1; + let angle_diff = angle2 - angle1; + if angle_diff < PI { + continue; + } + let angle_between = angle_diff / 2.0 + angle1; let angle_between = angle_between.rem_euclid(2.0 * PI); nodes.push(calc_pathfinding_node(point, angle_between)); }