Algoritmus nahodilé osy se v aplikaci AutoCAD používá interně k implementaci nahodilého, ale konzistentního vytváření souřadnicových systémů objektů pro všechny entity, které používají souřadnice objektů.
Po zadání vektoru jednotkové délky, který bude použit jako osa Z souřadnicového systému, vytvoří algoritmus nahodilé osy odpovídající osu X pro souřadnicový systém. Následuje osa Y, pro kterou se použije pravidlo pravé ruky.
Tato metoda slouží k prozkoumání dané osy Z (nazývané také normálový vektor). Pokud je blízko ke kladné nebo záporné globální ose Z, protne se globální osa Y s danou osou Z a dosáhne se nahodilé osy X. Pokud není, protne se globální osa Z s danou osou Z a dosáhne se nahodilé osy X. Hranice, na které se přijímá rozhodnutí, byla zvolena tak, aby byla nenáročná na výpočet a zcela přenositelná mezi počítači. Toho je dosaženo pomocí jistého typu „čtvercového“ polárního zakončení, jehož meze jsou 1/64, což lze přesně specifikovat šesti desítkovými zlomkovými číslicemi a šesti binárními zlomkovými bity.
Algoritmus provádí následující výpočty (u všech vektorů se předpokládá, že jsou ve 3D prostoru a zadány v globálním souřadnicovém systému):
Let the given normal vector be called N. Let the world Y axis be called Wy, which is always (0,1,0). Let the world Z axis be called Wz, which is always (0,0,1).
Zde hledáme nahodilé osy X a Y pro normálu N. Tyto osy se budou nazývat Ax a Ay. Normála N by se mohla také nazývat Az (nahodilá osa Z) a používá se následovně:
If (abs (Nx) < 1/64) and (abs (Ny) < 1/64) then
Ax = Wy X N (where “X” is the cross-product operator).
Otherwise,
Ax = Wz X N.
Scale Ax to unit length.
Metoda pro získání vektoru Ay je následující:
Ay = N X Ax. Scale Ay to unit length.