Com extreure els plans del frustum d’una matriu modelview-projection

Extraient els plans del frustum de visió de la matriu modelview-projection

En aquesta publicació explicaré com extreure els paràmetres de cada pla del frustum de visió en l’espai local d’un objecte amb una certa matriu modelview-projection. Coxèixer els plans del frustum de visió pot ser útil en alguns casos. El primer en que penso és el d’efectuar la tècnica de frustum culling, a la que aviat dedicaré una publicació.

Continuar llegint

Logaritmes en base arbitrària

La llibreria de matemàtiques en molts llenguatges de programació (com C++) només ens proporciona funcions per calcular logaritmes naturals (en base e) o logaritmes en base 10.

Quan programem, de vegades podem necessitar calcular logaritmes en una base arbitrària. Per exemple, quan treballem amb arbres binaris podem necessitar calcular logaritmes en base 2, o logaritmes en base 8 si treballem amb octrees.

El logaritme d’una base arbitrària b, logb(x), es pot calcular a partir dels logaritmes de x i b respecte a una altra base arbitrària k amb la següent fòrmula:

log_b(x)=log_k(x)/log_k(b)

on k pot ser ‘e’ o ’10′, la qual cosa ens permet calcular logaritmes en una base arbitraria utilitzant les funcions estàndar de la llibreria de matemàtiques del llenguatge.