top | item 45416164

(no title)

johncalvinyoung | 5 months ago

> I could write a lot about why you don’t want to use Catmull-Rom splines for roads.

I would read this essay, and share it with my friends.

discuss

order

rurban|5 months ago

That's basic knowledge in civil engineering. You can look up every text book.

* Lack of curvature control

Catmull-Rom splines pass through all control points, which sounds great, but the curvature between points is determined automatically. For roads, you need precise control over minimum curve radii for safety and vehicle dynamics - tight curves require reduced speed limits and proper banking.

* No arc length parameterization

Catmull-Rom splines are parametric (0 to 1 between points), not arc-length parameterized. This means equal parameter steps don't give equal distances along the curve, making it tricky to place lane markings, guardrails, or calculate exact distances.

* Curvature discontinuities

While the curve itself is smooth (C1 continuous), the curvature can have abrupt changes at control points. Roads need smooth curvature transitions for driver comfort and safety - sudden changes in steering wheel position feel jarring and can be dangerous at speed.

Better are:

* Clothoid/Euler spirals - Linear curvature change, standard in highway design for smooth transitions between straights and curves. I prefer clothoids

* Cubic Bézier curves - Better curvature control with tangent handles

* B-splines - Smoother curvature, don't pass through all points but more predictable

* Circular arcs with transition curves - Traditional civil engineering approach. Nice, but not for fast speeds. And I struggled with it constantly algebraicly.