A New Fully Projective O(lg N) Line Convex Polygon Intersection Algorithm
Date issued
2025
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Intersecting algorithms, especially line clipping in E2 and E3 in computer graphics, have been studied for a long time. Many different algorithms have been developed. The simplest case is a line clipping by a convex polygon in E2 with O(N) computational complexity and with known polygon edges orientation. This contribution presents a new algorithm for a line clipping by a convex polygon in E2 with O(lg N) complexity, which is based on the point-in-half plane test. The proposed algorithm does not require prior knowledge of the polygon edge orientation. The vertices of the convex polygon and the clipped line can be given in projective space using homogeneous coordinates. The algorithm uses vector–vector operations for efficient implementation with SSE or AVX vector–vector instructions or on GPUs.
Protínající se algoritmy, zejména ořezávání čar v E2 a E3 v počítačové grafice, jsou studovány již dlouhou dobu.Bylo vyvinuto mnoho různých algoritmů. Nejjednodušším případem je ořezávání čar konvexním polygonem v E2 s výpočetní složitostí O(N) a se známou orientací hran polygonu. Tento příspěvek představuje nový algoritmus pro ořezávání čar konvexním polygonem v E2 se složitostí O(lg N), který je založen na testu roviny bodu v polovině. Navrhovaný algoritmus nevyžaduje předchozí znalost orientace hran polygonu. Vrcholy konvexního polygonu a ořezaná čára mohou být zadány v projektivním prostoru pomocí homogenních souřadnic. Algoritmus využívá vektor-vektorové operace pro efektivní implementaci s vektor-vektorovými instrukcemi SSE nebo AVX nebo na GPU.
Protínající se algoritmy, zejména ořezávání čar v E2 a E3 v počítačové grafice, jsou studovány již dlouhou dobu.Bylo vyvinuto mnoho různých algoritmů. Nejjednodušším případem je ořezávání čar konvexním polygonem v E2 s výpočetní složitostí O(N) a se známou orientací hran polygonu. Tento příspěvek představuje nový algoritmus pro ořezávání čar konvexním polygonem v E2 se složitostí O(lg N), který je založen na testu roviny bodu v polovině. Navrhovaný algoritmus nevyžaduje předchozí znalost orientace hran polygonu. Vrcholy konvexního polygonu a ořezaná čára mohou být zadány v projektivním prostoru pomocí homogenních souřadnic. Algoritmus využívá vektor-vektorové operace pro efektivní implementaci s vektor-vektorovými instrukcemi SSE nebo AVX nebo na GPU.
Description
Subject(s)
intersection computation, projective space, convex polygon, computational complexity, line clipping, duality, výpočet průniku, projektivní prostor, konvexní polygon, výpočetní složitost, ořezávání čar, dualita