- Home /
Preventing lines from overlapping
Imagine a GPS navigation system with lines connecting different locations. These lines are on roads (always straight, never curved) passing through multiple points.
Now it is possible that lines overlap. Lines that overlap must be placed in complete adjacent to the existing lines. How can I achieve this effect?
How can I build a system lines stay adjacent to overlapping lines and never cross over each other?
Intended-
Not intended-
The general approach I would use would be to take each line segment of the path, move it to the "right" ("right" is rotated -90 degrees from the vector direction of the segment you are processing) for a distance of half the line width. This is where you draw the red line. Repeat going to the left, and that's where you draw the blue line. You will have to do a little bit of extra math to extend the line segment that's on the "outside" of a turn, but this should be enough to get you started.
Answer by aliakbo · Jun 20, 2014 at 07:57 AM
The way I perfected the system was with combining two methods
Moving non angled lines to the right by adding the perpendicular bisector of each line to itself for the length of half of the line width.
This created some problems at the angles. I was able to find the correct line joining point by calculating the bisector of the two angled lines and moving it out by the length of half the line width.
Your answer
Follow this Question
Related Questions
Trail renderer algorithm? 0 Answers
Unity 3.5: What is the definition of PLE algorithm? 1 Answer
A* optimization and path help 0 Answers
Patfinding on lines 0 Answers
Smooth out a line renderer 1 Answer