Korsningsproblem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 11 maj 2021; verifiering kräver 1 redigering .

Problemet med skärningspunkten mellan segment är att avgöra om några två segment från en given lista skär varandra i planet .

Enkla algoritmer kontrollerar varje par av segment. Men om ett stort antal linjesegment ska kontrolleras för skärning, blir uppgiften progressivt ineffektiv, eftersom de flesta par av linjesegment inte ligger nära varandra vid normal inmatning. Det vanligaste och mer effektiva sättet att lösa detta problem för ett stort antal segment är att använda sveplinjealgoritmen , där vi föreställer oss en linje som passerar genom segmenten och spårar segmentens skärningspunkter med hjälp av en datastruktur baserad på binär sökning träd . Shamos-Howey-algoritmen [1] tillämpar denna princip för att lösa problemet med att hitta skärningspunkten för linjesegment, som beskrivits ovan. Bentley-Ottmann-algoritmen fungerar på samma princip och hittar en lista över alla korsningar i logaritmisk tid per korsning.

Se även

Anteckningar

  1. Shamos och Hoey 1976 , sid. 208.

Litteratur

Länkar