I todimensionel computergrafik betyder ikke-nul-indeksreglen en måde at bestemme, om et punkt ligger inde i en lukket kurve. I modsætning til den lignende ulige-lige-regel er denne algoritme afhængig af at kende kørselsretningen for hver del af kurven.
For en given kurve C og et givet punkt P konstruerer vi en stråle (lige linie) rettet fra punktet P i en hvilken som helst retning til det uendelige. Find alle skæringspunkter for C med denne stråle. Vi beregner indekset for punktet som følger: for ethvert skæringspunkt i urets retning (kurven passerer gennem strålen fra venstre mod højre, set fra punkt P) træk 1 fra, for ethvert skæringspunkt mod uret (kurven går fra højre mod venstre , set fra punkt P) add 1. Hvis punktets fulde indeks er nul, er P uden for C, ellers er punktet inde.
Punktindekset beregner effektivt, hvor mange fulde drejninger mod uret, kurven laver omkring punktet P. (Hvis P var et søm, og C var et stykke tråd med løkker, ville trække noget af tråden væk fra sømmet enten trække hele tråden, eller tråden vil sno sig flere gange rundt om sømmet.) Nogle implementeringer tæller antallet af gennemløb med uret, så pass med uret tilføjer 1 og mod uret trækker 1 fra. Resultatet er det samme.
Den formelle definition af indekset for et punkt P i forhold til kurven C (hvor P ikke ligger på kurven) er som følger:
Antag, at punktet Q passerer langs kurven C. Enden af vektoren fra P til Q, efter normalisering, bevæger sig langs enhedscirklen centreret ved P. Punktets indeks er antallet af omdrejninger af enden af vektoren. [en]
SVG computervektorgrafik har funktioner, der giver dig mulighed for at bruge ikke-nul-indeksreglen, når du tegner polygoner. [2]