Difference between revisions of "SL Cert - Basic LSL Rotations"
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
== Basic Requirements == | == Basic Requirements == | ||
=== Basic definition of position === | === Basic definition of position === | ||
* Absolute position | * Absolute position | ||
Line 14: | Line 15: | ||
=== Changing position and rotation via the edit window === | === 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 == | == Intermediate Requirements == | ||
Line 44: | Line 53: | ||
** Multiplication and division of rotations | ** Multiplication and division of rotations | ||
** Difference between left and right multiplication | ** 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 == | == Advanced Requirements == | ||
Line 53: | Line 67: | ||
** Relative coordinates (in a link set) | ** Relative coordinates (in a link set) | ||
=== Smooth movements | === Smooth movements === | ||
==== Absolute coordinates ==== | |||
* Rotate and movement around the edge of a prim | * Rotate and movement around the edge of a prim | ||
* Rotate and move around a fixed point | * Rotate and move around a fixed point | ||
* Rotate and move around a predefined axis | * Rotate and move around a predefined axis | ||
=== | ==== Local coordinates (within a linkset) ==== | ||
* Rotate and movement around the edge of a prim | * Rotate and movement around the edge of a prim | ||
* Rotate and move around a fixed point | * Rotate and move around a fixed point | ||
Line 64: | Line 80: | ||
=== Transitions === | === Transitions === | ||
* Smooth movements | * 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. |
Revision as of 03:59, 22 February 2009
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.