Already
in 1980 Papert proposed a 'physics
microworld' (Papert,
1980) where, before being receptive to Newton's laws of
motion, they should know some other laws of motion, not so complex,
subtle, and
counterintuitive, invent their own alternative laws, progressing,
pehaps, from Aristotle even to Einstein. For that, he
proposed a sequency of four types of objects:
geometric, velocity, acceleration, and newtonian turtles.
On the other hand, while
being resource-rich one cannot say that Second
Life is an easy-to-use platform. One of the main difficulties
is the learning the Linden Scripting Language (LSL) (LSL Portal), with a structure
based on Java and C, and providing nearly
four hundred functions, without which one cannot make objects
interactive, resulting in little more that a overdimensioned Lego.
There is a high learning curve for new users
(Sanchez, 2009), which means that
any proposal of using SL for teaching
should set aside several hours, just to have the students become
familiar with basic tasks, e.g. walking, pass through doorways, go up
stairs, manipulate objects, and so forth. These two factors surely
discourage most Physics teachers which probably will not be willing to
invest so much time learning LSL only to build simple
educational simulations.Aware of these shortcomings, I decided to build TATI The Amiable Textual Interface for Second Life which would translate commands in a simple form resembling Logo into LSL commands that would generate objects following alternative physical laws, similar to Papert's turtles (1980) or, even better, to diSessa's Dynaturtles (Abelson; diSessa, 1981).

As
Hoyles, Noss, & Adamson (2002) say, "programming
is
the
prototypical tool for the constructionist vision, and a
microworld without programming runs the risk of avoiding just the thing
that gives a microworld its power." Therefore, TATI has its
own high-level
programming language, TATILogo, a Logo
variant, extended to include new commands to create and act on each one
of the various object types above. For compatibility with Papert (1980, p. 128) proposal, TATI should also be able to generate the two basic types of primitives in Second Life: physical and non-physical objects (Non-Physical, Physical). Therefore, TATI offers the following six types of object to its user:
Each object is created with a user-defined identifier starting with a letter through the OBJECT_ID parameter; the script sets it as the name of the created SL primitive object and displays it hovering over the object, making it easier to be referenced in the future. Lowercase and uppercase indistinguishable.
The user can choose the object shape through the OBJECT_SHAPE parameter from cube, sphere, cylinder, cone, apple, OR airplane. Default shape is cube.
The user can change object color through the COLOUR parameter, or with the command SETCOL after creation, from a predefined set of eight colors: black, blue, green, orange, pink, red, yellow, and white. Default color is white.
Position, velocity, rotation, angular_velocity, force, impulse, impulse, torque, and rotational_impulse are VECTORS on the form (float float float). Distance and angle are FLOAT. Float are floating point number. ABOVEME is a position a little above you and REZPOS is the position where the object was rezzed (created).
The ONGO option, when appended to a state-changing command, places its execution in a wait state, until the command GO is issued at the appropriate time.
Part of TATILogo syntax is presented below (? denotes optional parameters and | separates alternative parameters):
| CREATE object_id object_type? object_shape? colour? |
| DELETE object_id |
| SETCOL object_id colour |
| FORWARD object_id distance ONGO? |
| RIGHT object_id angle ONGO? |
| UP object_id angle ONGO? |
| CLOCK object_id angle ONGO? |
| SETPOS object_id position ONGO? |
| SETVEL object_id velocity ONGO? |
| SPEEDUP object_id speed ONGO? |
| SETANGVEL object_id angular_velocity ONGO? |
| SPINUP object_id angular_speed ONGO? |
| SPINDOWN object_id angular_speed ONGO? |
| SETACCEL object_id aceleration ONGO? |
| ACCELERATE object_id speedup ONGO? |
| SETANGACCEL object_id angular_aceleration ONGO? |
| APPFORCE object_id force ONGO? |
| APPIMPULSE object_id impulse ONGO? |
| GETCOL object_id |
| GETTYPE object_id |
| GETPOS object_id |
| GO |
| REPEAT integer ( list_of_statements ) |
| HELP |
See (dos SANTOS, 2012) for an in-depth description.
TATI and TATILogo are in alpha test and final developments now, but will go to beta test soon by being released to a limited and selected group of volunteer users to perform usability and acceptance tests.
Examples
of TATILogo exploring SL 3D rotation features
Examples
of virtual immersive 3D collision simulation with TATILogo
Examples
of circular trajectories with various TATI object types
Examples
of TATI operation with TATILogo
The
history of TATI and TATILogoSee also:
Second
Life Physics LabVoltar a Conheça meu lado virtual!.
Voltar ao começo desta página
Voltar à página principal de Física Interessante