diff --git a/editor/src/render/intersection.rs b/editor/src/render/intersection.rs index b4bb02728f..9e5097e87c 100644 --- a/editor/src/render/intersection.rs +++ b/editor/src/render/intersection.rs @@ -20,8 +20,13 @@ pub struct DrawIntersection { impl DrawIntersection { pub fn new(inter: &Intersection, map: &Map) -> DrawIntersection { + // Don't skew the center towards the repeated point + let mut pts = inter.polygon.clone(); + pts.pop(); + let center = Pt2D::center(&pts); + DrawIntersection { - center: Pt2D::center(&inter.polygon), + center, id: inter.id, polygon: Polygon::new(&inter.polygon), crosswalks: calculate_crosswalks(inter, map), diff --git a/map_model/src/make/intersections.rs b/map_model/src/make/intersections.rs index f8d69cc87d..209da621a8 100644 --- a/map_model/src/make/intersections.rs +++ b/map_model/src/make/intersections.rs @@ -54,7 +54,8 @@ pub fn intersection_polygon( let angle_diff = (pl1.last_line().angle().opposite().normalized_degrees() - pl2.last_line().angle().normalized_degrees()).abs(); - if angle_diff > 5.0 { + // TODO A tuning challenge. :) + if angle_diff > 15.0 { // The easy case! if let Some(hit) = pl1.intersection(&pl2) { endpoints.push(hit);