SL Cert - Basic LSL Rotations

From Second Life Wiki
Revision as of 03:59, 22 February 2009 by Grandma Bates (talk | contribs)
Jump to navigation Jump to search

This is an initial take on a set of guidelines for scripting position and rotations. It still needs a lot of work and a good deal of thought.


Basic Requirements

Basic definition of position

  • Absolute position
  • Relative position

Basic definition of a rotation

  • Euler
  • Axis and angle
  • Quarternions

Changing position and rotation via the edit window

=== Vectors and Operations

  • Definition of vector in LSL
  • Working with components
  • Linear combinations of vectors
  • Dot product
  • Cross product
  • Unit vectors

Intermediate Requirements

Reference Frames

  • Global
  • Local

Basic commands to get position information

  • llGetPos
  • llGetLocalPos
  • llGetRootPosition

Basic commands to get rotation information

  • llGetRot
  • llGetLocalRot
  • llGetRootRotation

Basic commands for changing position

  • llSetPos
  • llSetPrimitiveParams
  • llSetPos within different reference frames.

Basic commands for changing rotation

  • llSetRot
  • llSetLocalRot
  • llSetPrimitiveParams
  • How the commands work in different reference frames.
  • Rotations
    • Multiplication and division of rotations
    • Difference between left and right multiplication

Working with vectors

  • Finding a vector component in a given direction
  • Finding a vector perpendicular to two vectors.
  • Finding a vector perpindicular to a plane.

Advanced Requirements

Rotations and position

  • using llSetPrimitiveParams to move and rotate at the same time
  • Rotating and moving a prim to a specified orientation
    • Absolute coordinates
    • Relative coordinates (in a link set)

Smooth movements

Absolute coordinates

  • Rotate and movement around the edge of a prim
  • Rotate and move around a fixed point
  • Rotate and move around a predefined axis

Local coordinates (within a linkset)

  • Rotate and movement around the edge of a prim
  • Rotate and move around a fixed point
  • Rotate and move around a predefined axis

Transitions

  • Smooth movements from one orientation (position and rotation) to another.

Determining specific orientations

Absolute coordinates

  • Given a point rotate an object to face the point.
  • Given two points rotate an object to face perpindicular to the two points.

Local coordinates to local

  • Given a point rotate an object to face a local point.
  • Given two local points rotate an object to face perpindicular to the two points.

Local coordinates to absolute

  • Given a point rotate an object to face a point in absolute coordinates.
  • Given two absolute points rotate a local object to face perpindicular to the two points.