Advertisement
salahzar

base

Jan 27th, 2022
2,391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3.  
  4. // FORMULA MATEMATICA TRIGONOMETRICA APPLICATA A SL;   P=Rcos(t)ù+Rsin(t)ù+
  5.  
  6.  
  7. //                       * :  *
  8. //                    *    :     *
  9. //                  *      Y_______*A(XY)                 O = CENTRO BASE
  10. //                *        |       | *                    O-Y = RAGGIO
  11. //               *         |       |  *                   O-X = COSENO          
  12. //                         |      sinA                    X-A = SENO
  13. //              *..........O__cosA_|X..*                  A = ANGOLO
  14. //              *          :           *
  15. //                         :
  16. //               *         :          *
  17. //                *        :         *
  18. //                 *       :       *
  19. //                   *     :     *
  20. //                       *    *
  21.  
  22. //La componente X delle coordinate di un cerchio è  Rcos A, mentre la componente Y di coordinate vale Rsin A dove A è l’angolo.
  23. //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.
  24. ////////////////////////////////////////////////////////////////////////
  25.  
  26. vector posizione;
  27. /// TUTTE LE MISURE SEGUENTI SONO DA CERCARE in base alla posizione dell'oggetto madre SLINKATO
  28. float angle = 135; // GRADI di rotazione sulla circonferenza virtuale dal centro BASE  quindi il punto dove si trova l'oggetto slinkato (posizionamento)
  29. float altezza = 0.3; //incremento altezza dell'oggetto slinkato rispetto all'oggetto BASE
  30. float raggio = 39.35;  //distanza oggetto slincato dal centro BASE
  31.  
  32.  
  33.  
  34. default
  35. {
  36.     state_entry()
  37.     {
  38.        llSetTimerEvent(0.1); // controlla ogni secondo se la BASE madre viene spostato e comunica la nuova posizione all'oggetto slinkato
  39.     }
  40.  
  41.         timer()
  42.     {
  43.         vector v=llVecNorm(llRot2Left(llGetRot())); // torna il vettore unitario dell’oggetto lungo l’asse Y che in SL è il vettore “a sinistra”
  44.         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
  45.         vector center = llGetPos();
  46.  
  47.         float rad=DEG_TO_RAD*angle;
  48.         vector pos=raggio*llCos(rad)*u-raggio*llSin(rad)*(v)+center;
  49.  
  50.          pos.z = pos.z + altezza;
  51.  
  52.  
  53.            llRegionSay(-476587, (string) pos);
  54.     }
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement