A* algorithm

Graph

. .

Generating surfing edges

Internal bitangents

External bitangents

Line of sight

0 1 u={{Math.round(100*(C.x-A.x)/(B.x-A.x))/100}} d r

Generating hugging edges

Enhancements

Surfing edge line of sight

Hugging edge line of sight

Delayed edge generation

Cull cusped hugging edges