Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // FORMULA MATEMATICA TRIGONOMETRICA APPLICATA A SL; P=Rcos(t)ù+Rsin(t)ù+
- // * : *
- // * : *
- // * Y_______*A(XY) O = CENTRO BASE
- // * | | * O-Y = RAGGIO
- // * | | * O-X = COSENO
- // | sinA X-A = SENO
- // *..........O__cosA_|X..* A = ANGOLO
- // * : *
- // :
- // * : *
- // * : *
- // * : *
- // * : *
- // * *
- //La componente X delle coordinate di un cerchio è 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: pilotando le coordinate X e Y definite come RcosA e RsinA viene descritta appunto l’intera circonferenza.
- ////////////////////////////////////////////////////////////////////////
- vector posizione;
- /// TUTTE LE MISURE SEGUENTI SONO DA CERCARE in base alla posizione dell'oggetto madre SLINKATO
- float angle = 135; // GRADI di rotazione sulla circonferenza virtuale dal centro BASE quindi il punto dove si trova l'oggetto slinkato (posizionamento)
- float altezza = 0.3; //incremento altezza dell'oggetto slinkato rispetto all'oggetto BASE
- float raggio = 39.35; //distanza oggetto slincato dal centro BASE
- default
- {
- state_entry()
- {
- llSetTimerEvent(0.1); // controlla ogni secondo se la BASE madre viene spostato e comunica la nuova posizione all'oggetto slinkato
- }
- timer()
- {
- 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
- vector center = llGetPos();
- float rad=DEG_TO_RAD*angle;
- vector pos=raggio*llCos(rad)*u-raggio*llSin(rad)*(v)+center;
- pos.z = pos.z + altezza;
- llRegionSay(-476587, (string) pos);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement