Necklace Generator

De DigiWiki.

// Necklace Generator v1.0
 
float a = 0.6;              // elipse parameter between 0 (line) and 1 (perfect circle)
float b = 0.3;              // bending parameter 0 = flat
string bead = "test bead";  // object to use
integer numbeads = 30;      // how many beads should the necklace have
vector offsetrot = <0,0,0>; // rotation of test bead
 
make()
{
    integer n;
    float t;      // parameter
    float d;      // derivitive angle
    vector p;     // position
    vector re;    // rotation in euler
    rotation rot; // re in rot format
 
    for(n = 1;n <= numbeads;n++)
    {
        t = TWO_PI * ((float)n/(float)numbeads);
        llOwnerSay((string)n);
        p.x = llCos(t);
        p.y = a * llSin(t);
        p.z = b * llCos(t)*llCos(t) + 1;
        p = p + llGetPos();
        re.x = -1 * llSin(t) + DEG_TO_RAD * offsetrot.x;
        re.y = llCos(t) + DEG_TO_RAD * offsetrot.y;
        re.z = t + DEG_TO_RAD * offsetrot.z;
        rot = llEuler2Rot(re);
        llRezObject(bead, p, ZERO_VECTOR, rot, 0);
    }
}
 
default
{
    state_entry() {llSay(0, "Initialisation ...");}
    touch_start(integer total_number) {make();}
}
Outils personnels
  • Cette page a été consultée 496 fois.
donate
Google Ads