TATILogo
A 3D Logo variant for Second Life

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:
- NOROBJECTs are the basic SL primitive (Primitive)
building
blocks. They
are unaffected by gravity and have only such attributes as color, size,
texture, and position.
- GEOOBJECTs
correspond to Papert's GEOMETRY TURTLEs (1980,
p. 122), having
two geometric components only: position and heading.
- VELOBJECTs correspond to Papert's VELOCITY TURTLEs (1980,
p. 128). Its
position changes as a consequence of its velocity; there is no command
to directly change its position but only to set or change its
velocity.
- ACCOBJECTs implement Papert's
ACCELERATION TURTLEs. It is
another intermediate between the geometry Turtle and a Newtonian
particles (1980,
p. 128). If VELOBJECTs could not take instructions to directly change
its position, ACCOBJECTs only
understand commands to set or change its acceleration.
- NEWOBJECTs implement Papert's NEWTONIAN TURTLEs, those that
can accept only orders for changing their momentum (1980,
p. 128).
- PHYOBJECTs are the basic SL
physical objects (Physical)
controlled by the physics simulation engine
Havokâ„¢. They are subject to
SL dynamics,
including gravity, forces, collisions, friction, and buoyancy, among
other effects.
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
In this video, I show how TATILogo includes commands to explore SL 3D
rotation features. In the final part of the video, a sequence of
commands allows for a simulation of a plane takeoff.
Examples
of virtual immersive 3D collision simulation with TATILogo
In these videos, I show how TATI can be used to setup a simple virtual
immersive 3D collision simulation in Second Life.
Examples
of circular trajectories with various TATI object types
In these videos, inspired by the classic Logo example (Papert, 1980,
p.58) of drawing a circumference, I show the realization of
trajectories in the form of a circle with various TATI object types.
Examples
of TATI operation with TATILogo
In these videos I show how can easily create physics microworlds with
TATI inhabited by objects that follow different physical laws.
The
history of TATI and TATILogo
Here I tell how I came to the idea of building TATI - The
Amiable
Textual Interface for Second Life - and its programming language
TATILogo.
See
also:
Second
Life Physics Lab
The Physics implemented in Second Life is hyper-real! I created a
microworld, a laboratory to investigate it and use it in Physics
Teaching.
References
- Abelson, Harold; diSessa, Andrea A.
(1981).
Turtle Geometry: Computations as a Medium for Exploring Mathematics.
Cambridge, MA: MIT
Press.
- dos
Santos, Renato P. (2012). TATI - A Logo-like interface for microworlds
and simulations for physics teaching in Second Life.
Submitted to British Journal of Educational Technology.
- Hoyles,
C., Noss, R., & Adamson, R. (2002). Rethinking the Microworld Idea.
Journal of Educational Computing Research, 27(1-2), 29–53.
- LSL Portal.
- Non-Physical.
- Papert,
Seymour A. (1980).
Mindstorms - Children, Computers and Powerful Ideas.
New York: Basic Books.
- Physical.
- Primitive.
- Sanchez, Joe (2009). Barriers to Student Learning in Second Life.
Library Technology Reports, v. 45, n. 2, p. 29-34.
Voltar a Conheça meu lado virtual!.
Citar esta página:
dos SANTOS, Renato P. . In Física Interessante. 17 Jul. 2021. Disponível em: <>. Acesso em: .
Voltar ao começo
desta página
Voltar à página principal de Física Interessante