From ec4b84b36fb8b495a694cc03af85414ddda9af39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Wed, 19 May 2021 22:57:45 +0300 Subject: [PATCH] more notes --- notes.txt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/notes.txt b/notes.txt index d17f3e7..b94a775 100644 --- a/notes.txt +++ b/notes.txt @@ -18,19 +18,22 @@ after a few bends have been skipped. E.g. ends of A<->B cross the line, but / | | |___,---,___/A | / | \_________________| \ | - \ | - / / - ----/ / - / ,____/ -/ B| + \ | \ | + / / B\ | _ __ + ----/ / | | / \ / \ + / ,____/ | |___/ \___/A | +/ B| \_________________| | + + If a bend with 180+ deg inflection is found, its line between inflection angles (AB in our examples) must be crossed with all the other bends to detect a possible line-crossing. This is O(N*M), where N is the total number of line segments, and M is the number of qualifying bends. In other words, can be very computationally expensive. -This may be slightly computationally simplified: if other bend's -endpoints (A' and B') are in different sub-planes as divided by AB, then the -crossing exists, and more expensive st_split can be used. +This may be simplified: if other bend's endpoints (A' and B') are in the same +sub-plane as divided by AB, then the bend can be skipped from checking if it +intersects with AB. Some intersections may be missed (see the example), but +they will be eliminated by just joining A and B.