7.1.8.1        Funzioni Decimali



Le seguenti funzioni richiedono uno o più parametri decimali e danno come risultato valori decimali. Ipotizziamo che A e B rappresentino ogni espressione valida che dia come risultato un valore decimale. Vedi "Funzioni Vettoriali" e "Funzioni Stringa" per altre funzioni che danno come risultato valori decimali ma il cui input è costituito da vettori e da stringhe.

abs(A): Valore assoluto di A. Se A è negativo, riporta -A in caso contrario riporta A.

acos(A): Arco-coseno di A. Dà come risultato l'angolo, misurato in radianti il cui coseno è A.

asin(A): Arco-seno di A. Dà come risultato l'angolo, misurato in radianti, il cui seno è A.
atan2 (A,B): Arco-tangente di (A/B). Dà come risultato l'angolo, misurato in radianti, la cui tangente è (A/B).
Ritorna un valore appropriato anche se B è uguale a zero. Usa atan2 (A,1) per calcolare la normale funzione atan(A).

ceil(A): Limite massimo di A. Dà come risultato il più piccolo numero intero maggiore di A. Viene arrotondato al numero intero successivo più alto.

cos(A): Coseno di A. Dà come risultato il coseno dell'angolo A, dove A è misurato in radianti.

degrees(A): Converte i radianti in gradi. Dà come risultato l'angolo misurato in gradi il cui valore in radianti è A. La formula è: gradi=A/pi*180.0.

div(A,B): Divisione intera. La parte intera di (A/B).

exp(A): Esponenziale di A. Dà come risultato il valore di e elevato alla potenza di A, dove e rappresenta il numero irrazionale approssimativamente uguale a 2.71828182846 che è la base dei logaritmi naturali.

floor(A): Limite inferiore di A. Dà come risultato il più alto numero intero minore di A. Arrotonda inferiormente al successivo numero intero più basso.

int(A): La parte intera di A. Dà come risultato la parte intera di A. Arrotonda verso lo zero.

log(A): Logaritmo naturale di A. Dà come risultato il logaritmo naturale di base e del valore A dove e rappresenta il numero irrazionale approssimativamente uguale a 2.71828182846 che è la base dei logaritmi naturali

max(A,B): Il valore massimo tra A e B. Dà come risultato A se A è maggiore di B. In caso contrario dà B.

min(A,B): Il valore minimo tra A e B. Dà come risultato A se A è più piccolo di B. In caso contrario dà B.

mod(A,B): Valore di A modulo B. Dà come risultato il resto dopo la divisione di A/B. La formula è mod=((A/B)-int(A/B))*B.

pow(A,B): Potenza. Dà come risultato il valore di A elevato alla B-esima potenza.

radians(A): Converte i gradi in radianti. Dà come risultato l'angolo misurato in radianti il cui valore in gradi è rappresentato da A. La formula è: radianti= A*pi/180.0.

rand(A): Dà come risultato il successivo numero pseudo-casuale dal flusso specificato con il numero intero positivo A. Devi richiamare seed() per inizializzare il flusso casuale prima di richiamare rand(). I numeri sono distribuiti uniformemente, e hanno valori compresi tra 0.0 e 1.0, (inclusi entrambi). I numeri generati da flussi separati sono variabili indipendenti casuali.

seed(A): Inizializza un nuovo flusso pseudo-casuale col valore iniziale A come origine. E' riportato il numero corrispondente a questo flusso casuale. Qualsiasi numero di flussi pseudo-casuali può essere usato come viene mostrato nell'esempio di seguito:

#declare R1 = seed(0)
#declare R2 = seed(12345)
#sphere { <rand(R1), rand(R1), rand(R1)>, rand(R2) }

L'uso di più generatori casuali è molto comodo in situazioni dove venga usato rand(...) per posizionare un gruppo di oggetti e poi si decida di usarlo di nuovo in una posizione, magari precedente, per definire colori o altri gruppi di oggetti. Senza flussi separati di rand(...), tutti gli oggetti cambierebbero la loro posizione ogni volta che la funzione viene richiamata. Questo sarebbe molto seccante.

sin(A): Seno di A. Dà come risultato il seno dell'angolo A, dove A è misurato in radianti.

sqrt(A): Radice quadrata di A. Dà come risultato il valore il cui quadrato è A.

tan(A): Tangente di A. Dà come risultato la tangente dell'angolo A, dove A è misurato in radianti.