Archivio

Archivio per 23 dicembre 2011

Gli estremi di Second Life

by Eva Auer

Aquila è un vecchio amico (virtuale) … in Second Life. Si parlava di Second Life (può apparire ovvio) e mi fa: “parlami dei suoi estremi…”. La sua richiesta non mi sembra poi così strana, infatti, ci penso un attimo e faccio, si, parliamone pure…  Per prima cosa vediamo un po’, cosa sono gli estremi di Second Life? Naturalmente, Aquila, la predo larga, com’è mio solito … Per iniziare, ti propongo una poesia di Sylvia Plaths. Non sono il mio forte ma, ogni tanto, una ci sta bene, quindi citiamo pure “To Eva Descending the Stair” (http://www.writework.com/essay/analysis-sylvia-plath-s-poem-eva-descending-upon-stair):

Clocks cry: stillness is a lie, my dear;

The wheels revolve, the universe keeps running.

(Proud you halt upon the spiral stair.)

Gridano gli orologi: quiete è menzogna, mia cara;

volgono le ruote, l’universo procede indisturbato.

(fiera ti arresti sulla scala a spirale.)

Ci fermiamo qui.  Tanto per iniziare, osservo questi versi trasgrediscono quella “regola” che serpeggia in Second Life e ovunque: una donna parla per le donne, e un uomo parla degli uomini. Siamo molto attenti alle questioni di “competenza” noi. Ci sembrano quindi un po’ sciocche, le persone, uomini o donne che siano, che pretendono di parlare dell’umanità. Infatti, la Eva della poesia, può rappresentare chiunque, insomma l’umanità, ma dal punto di vista odierno ciò si tratta di roba d’altri tempi. Inoltre, la Plath è considerata femminista. Ma se il femminismo è da un lato superato, forse il suo affermare che il mind-game di coppia è deleterio lo sarebbe un pò meno… ma noi abbiamo fretta, è superata e basta.

Propongo due domande. Una è se ciò cui siamo giunti rende felici, e, la seconda, se non siamo né felici, né migliori, la relativa insoddisfazione come la possiamo esprimere? Sinceramente, credo non possa verificarsi tramite forme d’arte come quella della Plath, visto che esistono, oggi, modalità espressive completamente nuove.   Resta però un fatto: esprimere, non è parlar chiaro. E’ dire “gridano gli orologi: quiete è menzogna, mia cara”. E questo è, per certi versi, Second Life estrema.   Ma cos’è Second Life?

Saltiamo le spiegazioni di carattere tecnico… Second Life intanto non è tramite di un messaggio personalizzato, cioè non si rivolge a un pubblico come ci si può rivolgere con un annuncio del tipo, “36 enne, single, cerca amici per organizzare viaggio in camper attraverso il Vietnam”, magari corredato da foto. Questo tipo di approccio è ancora fattibile in Facebook, strumento considerato il più dignitoso in assoluto (anche perché nato in una delle università più prestigiose del pianeta). Ma tutto questo non è possibile in Second Life, che è pura finzione. Pertanto, Second Life è arte.  Ma nei Virtual Worlds accade un qualcosa di tipico, che si verifica quando i propri fini sono più tra le righe, che espressi palesemente. Ciò implica tutta una serie di dialoghi “sull’identità” che trovano un ottimo e, per certi versi, illuminante, esempio nei dialoghi del film “Inglorious Bastards” di Tarantino.  Dove esiste una permeazione di tradizione, si temono fini occulti che, spesso e volentieri, ruotano attorno a motivi di libido. La libido è oltre la soglia di quel castello che chiamiamo “romance” e che, virtualmente, esiste perché la nostra fantasia spesso è erotica. Il fatto di restare interdetti lungo il discendere, o salire, un ideale scala a chiocciola, ha una sua carica erotica.  Ecco, la Second Life estrema è una creazione artistica, forse differente da quella che dichiaratamente lo è. E’ fatta di situazioni che i giocatori accettano per convenzione e che affrontano situazioni da scala a chiocciola, con il suo eros, la sua suspence.  Per fare questo, le personalità in gioco devono rimanere virtuali, perché solo in tale caso si può dare il massimo: la percezione di se stessi, contestualizzata, è condizionante. Nel senso che è un ostacolo, all’espressione.  Il tutto ha un interessante parallelismo con il finale di Eyes Wide Shut: “… ringraziando di averci fatto uscire… senza condanna… da tutte le nostre… avventure… sia da quelle vere… che da quelle solo sognate.”  http://www.youtube.com/watch?v=OxznxyufohI  Insomma, l’estremo è nel classico.

Categories: Social applications Etichette: , ,

A lezione di trigonometria su SecondLife (o OpenSim)

23 dicembre 2011 5 commenti

Fra le caratteristiche peculiari di SecondLife c’è l’importante fatto che può essere utilizzata come una palestra di apprendimento, sperimentazione e verifica delle proprietà geometriche dello spazio tridimensionale in cui viviamo. L’opportunità è ghiotta perchè consente di vedere immediatamente l’effetto di equazioni, in un modo rapido ed efficace come nessun programma tradizionale potrebbe consentire.

Anche al di là dell’educational, è utile per tutti coloro che vogliono creare ed animare cose in SL o in programmi di animazione, conoscere le basi della trigonometria, che consentono di capire e riprodurre come avvengono gli spostamenti lungo traiettorie curve. Vi sembrerà strano ma molti scripter entrano in crisi quando gli si chiede di far compiere ad un oggetto una traiettoria circolare, soprattutto se si vuole che questa traiettoria possa essere calcolata indipendentemente dalla rotazione iniziale del pezzo.

Negli anni passati questo problema mi era stato chiesto cercando di simulare in SL lo spostamento dei sedili di una ruota panoramica. Gli script disponibili in quel momento consentivano di far “ruotare” la ruota, ma soltanto se la ruota era allineata lungo una certa direzione (es. NS), se la ruota veniva rezzata e “girata” per farla stare in una sim diversa, la rotazione era quella “standard” e quindi con i sedili che si muovevano lungo un cerchio diverso rispetto ai sostegni. Vi lascio solo immaginare inoltre l’inutile complessità degli script generati che cercavano di “cucinare” seni e coseni cercando di ottenere il risultato sperato.

La soluzione matematicamente esatta

Ora la soluzione al problema di tracciare un cerchio nello spazio 3D con il cosiddetto metodo “parametrico” (vale a dire facendo variare un parametro t in un certo intervallo e calcolando le componenti x,y,z per ogni valore), è persino molto elegante ed è riassumibile dalla seguente equazione:

Dove R è il raggio del cerchio, c rappresenta le coordinate del centro del cerchio, u è un vettore unitario che punta arbitrariamente dal centro verso un punto della circonferenza e n è il vettore unitario normale al cerchio.

Oppure nella versione più semplice (se si hanno già due vettori perpendicolari come vedremo è questo il caso in SL):

Che l’equazione sia elegante, non c’è dubbio (ci sono infatti un sacco di segni strani), per capirla dobbiamo fare un piccolo excursus sulla famigerata “trigonometria”. Quindi cerchiamo di fare un piccolo riepilogo dalle basi per cercare di capirla. (NB: notate che per ottenere questa formula ho dovuto ricercare molto intensamente tutto il materiale infinito presente in rete, perchè non è di quelle equazioni che si trovano facilmente su wikipedia). Io l’ho rintracciata in questo forum di fisica: http://www.physicsforums.com/showthread.php?t=123168.

Definizione di base della trigonometria.

Se guardiamo il famoso “cerchio trigonometrico”, che definisce le funzioni seno e coseno in funzione di una circonferenza di raggio unitario:

Capite la profonda elementare relazione che lega seni/coseni con il cerchio appunto. La componente X delle coordinate di un cerchio è appunto Rcos A, mentre la componente Y di coordinate vale Rsin A dove A è l’angolo.

Da questo schema si capisce che per poter descrivere una circonferenza è sufficiente prendere un angolo A e farlo scorrere fra 0 e 360 gradi: plottando le coordinate X e Y definite come RcosA e RsinA viene descritta appunto l’intera circonferenza.

Ma come applicare questo in 3D?

Per poter disegnare questa circonferenza in uno spazio tridimensionale, occorre definire in qualche modo le coordinate X’ e Y’ che descrivono il piano complanare a dove vogliamo disegnare il cerchio nello spazio 3D.

Se abbiamo quindi due vettori unitari U e V che “fungano” da assi cartesiani (siano quindi perpendicolari fra di loro), allora l’equazione del cerchio sarà qualcosa tipo RcosA*U+RsinA*V.

L’applicazione in SL

Supponiamo di avere un oggetto che abbia i propri assi locali X (asse rosso), Y (asse verde), Z (asse blu) e di volere disegnare un cerchio. Abbiamo già i vettori perpendicolari che ci interessano. Per la cronaca usando il linguaggio di scripting per ottenere i vettori normalizzati lungo l’asse X e Y basta fare:

vector v=llVecNorm(llRot2Left(llGetRot())); // torna il vettore unitario dell’oggetto lungo l’asse Y che in SL è il vettore “a sinistra”
vector u=llVecNorm(llRot2Fwd(llGetRot())); // torna il vettore unitario dell’oggetto lungo l’asse X che in SL è il “forward” cioè il fronte dell’oggetto

e per plottare la circonferenza basta fare ad esempio il seguente ciclo:

for(angle=0;angle<360;angle+=10)
{
float rad=DEG_TO_RAD*angle;
vector pos=R*llCos(rad)*u+R*llSin(rad)*(v)+center;
plot(pos);
}

che “plotta” un punto incrementando ogni volta di 10 gradi. Notate che l’angolo “volgare” 0-360 viene moltiplicato per la costante  DEG_TO_RAD per ottenere il corrispondente valore in radianti, che è l’unità di misura “giusta” per operare con le funzioni seno e coseno.

A proposito del plot

Cosa significhi “plottare” in 3D in SecondLife? Ci sono diverse tecniche. Quella che ho seguito io consiste nel “rezzare” una palla alle coordinate indicate. La palla è meglio che sia “temporanea” in modo da scomparire autonomamente dopo circa 1-2 minuti.

Lo script di plot risulta pertanto niente di più che il seguente:

plot(vector x)
{
llRezObject(“Sphere”,x,ZERO_VECTOR,ZERO_ROTATION,0);

}

Per avere una copia di questo rezzer basta che mi mandiate un IM in SL oppure una email a Salahzar@gmail.com

NB: Ci sono molte applicazioni che si possono fare a partire da questo semplice rezzer: non ultimi i rezzer di collane o di strutture di edifici. Inoltre queste equazioni possono come detto essere base per la realizzazione di sentieri curvi su cui far muovere treni ascensori etc…

Salahzar

Iscriviti

Get every new post delivered to your Inbox.

Join 75 other followers