Name: Domino Fall
Description: Touch the gray mat and 9 dominos appear. Push over the small domino and it will fall, knocking over a larger domino, which knocks over a larger domino.
Each domino is 1.5 times higher, wider, and thicker than the previous domino. The center of mass of each domino is 1.5 times higher as well. So the potential enegy of each domino is 1.5^4 = 5 times larger than the previous domino. The largest domino releases 5^8 times more energy when it falls than the first one.
Creator: Patio Plasma
http://slurl.com/secondlife/midnightcity/128/128/26/ ( to get here first teleport to http://slurl.com/secondlife/midnightcity/128/128/26/ then walk or teleport to the exhibit)
Here is the texture for a domino.
Lessons: This exhibit runs using the built-in physics engine of SL, Havok 4.
Each domino has a script in it which sets a timer for 60 seconds. After 60 seconds the domino will die.
The major script details illuminated by this exhibit are rezing physical prims and handling lists.
The dominos to be rezed by the base must be placed into the contents of the base.
The name of each domino is placed in a list, the name must exactly match the name of the domino in the contents of the prim, including capitalization.
This command rezes the dominos llRezObject(name, llGetPos()+<offset,0,height>, ZERO_VECTOR, llGetRot(), 0);
llGetPos() gets the vector position of the center of mass of the base prim, a vector offset is added to this to place the center of mass of each domino.
The ZERO_VECTOR is a velocity vector of zero, the dominos start at rest.
// Script to rez dominos placed in the contents of this object from a list of their names and offset positions.
//script by Patio Plasma permission is granted under the creative commons for others to copy modify use and distribute this script as long as the creators name is included in the script.
//create a list of names for objects in the main prim contents, put these objects into the prim contents.
list dominoNames = ["dominoT12test","dominoT11test", “dominoT10test”, “dominoT9test”, “dominoT8test”, “dominoT7test”, “dominoT6test”, “dominoT5test”, “dominoT4test”, “dominoT3test”, “dominoT2test”, “dominoT1test”];
//this is the offset for the location of each rezed object
list dominoOffsets =[-4.5,-2.0,-0.2,1.25,2.0, 2.7,3.3,3.6,3.8,4.0,4.1,4.2];
list dominoHeights =[2.57,2.0,1.5,1.0,0.75,0.5,0.375 ,0.25, 0.19, 0.13, 0.095, 0.065];
llSay(0, "Let there be dominos!");
// touch the rezer to rez the objects
integer i = 0;
integer end = llGetListLength(dominoNames);
for (; i<end; ++i)
name = llList2String(dominoNames,i);
offset = llList2Float(dominoOffsets,i);
height = llList2Float(dominoHeights,i);
llRezObject(name, llGetPos()+<offset,0,height>, ZERO_VECTOR, llGetRot(), 0);
go to default
Comments: The exhibit was built using the Havok 1 physics engine, when Havok 4 was introduced it no longer worked, The dominos would not knock down the next larger domino. I had to reduce the thickness of each domino to make it less stable so that the previous domino would knock it over.
This exhibit came from real life. Here is an image of the real life exhibit at the Exploratorium. The largest domino is as big as a headstone for a grave.
There is a webpage about the real life exhibit.
Updated 28 May 2007