De bol is de eenvoudigste vorm in het modelleren met gesigneerde afstandsvelden. De SDF-formule is slechts één aftrekking:
Neem de afstand van het querypunt tot het middelpunt en trek de straal eraf. Die eenvoud is precies waarom de bol overal opduikt in ray marching en procedureel modelleren. De meeste SDF’s zijn benaderend, duur, of allebei. De bol is een van de zeldzame vormen waarbij de gesigneerde afstand exact is voor elk punt in de ruimte, berekend met één lengte-operatie en een aftrekking. Wanneer een ray marcher door een bollenveld stapt, overschiet of onderschiet hij nooit, omdat de afstandsgrens perfect is.
De formule valt uiteen in twee delen:
- : de Euclidische afstand van het boloppervlak tot het querypunt
- Aftrekken van : verschuift de nuldoorgang naar het boloppervlak
Met deze ene regel kun je een bol ray marchen, gebruiken als bouwsteen in constructieve solide geometrie, mengen met andere vormen of vervormen tot nieuwe gedaantes. Veel van de indrukwekkendste SDF-scènes die je hebt gezien, beginnen met samengestelde bollen.
Tekenconventie
Net als alle gesigneerde afstandsvelden volgt de bol-SDF dezelfde tekenconventie:
- Negatief wanneer binnen de bol ligt
- Nul wanneer op het oppervlak ligt
- Positief wanneer buiten de bol ligt
Omdat de afstand tot het middelpunt minus de straal altijd de echte Euclidische afstand tot het oppervlak is, is nooit een benadering. Die exactheid maakt de bol favoriet voor testen, debuggen en als fundament voor complexere vormen.
Uitgewerkt Voorbeeld
Neem een bol met middelpunt en straal .
Voor een punt recht boven het middelpunt:
Het resultaat is positief 1, dus het punt ligt 1 eenheid buiten het boloppervlak.
Voor een punt tussen het middelpunt en het oppervlak:
Het resultaat is negatief 3, dus het punt ligt 3 eenheden binnen de bol, gemeten radiaal naar het oppervlak toe.
Waarom de Bol-SDF Een Bouwsteen voor Alles Is
De bol is wat SDF-modellering het dichtst bij een primitief heeft. In ray marching zet de renderer een straal stap voor stap met de gesigneerde afstand op het huidige punt. Een bol-SDF garandeert dat er geen oppervlak dichterbij ligt dan die afstand, dus de stap is altijd veilig. Die garantie maakt bol-traceren snel en robuust voor bollen en voor landschappen die eruit zijn opgebouwd.
De echte kracht komt wanneer je bollen combineert. Verenig je twee bollen, dan krijg je een pilvorm. Snijd ze en je krijgt een lens. Trek de ene van de andere af en je krijgt een uitgesneden deuk. Elke CSG-operatie behoudt de gesigneerde-afstandseigenschap, dus complexe modellen die uit bollen zijn opgebouwd, erven hetzelfde exacte afstandsgedrag.
De meeste vormen in de SDF-gereedschapskist zijn compromissen. Een box-SDF heeft randafrondingsartefacten. Een torus-SDF heeft een tweestapsafstandsberekening nodig. Een op ruis gebaseerd terrein heeft helemaal geen gesloten SDF. De bol is de enige vorm waarbij het afstandsveld overal perfect is. Daarom komt hij als eerste aan bod in elke introductie van het onderwerp, en daarom blijft hij relevant, lang nadat je bent overgestapt op complexere vormen.