WE      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'A2D affine transformation. No shearing allowed, only translation, < rotation, and scaling. Transformations can be chained with  , and ! is the identity transformation. "2D vector: a pair of coordinates. )An angle is a number between -pi and pi. &Unit vector with the given direction. Multiplication with a scalar. Multiplication with a scalar. Division by a scalar.  Dot product.  Dot product. %Perp-dot product (2D cross product). 3D cross product. %Vector rotated 90 degrees leftwards. &Vector rotated 90 degrees rightwards. #Relative direction of two vectors:  turn v1 v2 equals GT if  v2# takes a left turn with respect to v1, LT if it is a right  turn, and EQ if they are parallel.  !turnL v1 v2 == (turn v1 v2 == GT) turnNL v1 v2 == (turn v1 v2 /= GT) !turnR v1 v2 == (turn v1 v2 == LT) turnNR v1 v2 == (turn v1 v2 /= LT)  parv v1 v2 == (turn v1 v2 == EQ)Vector length squared. 3d Vector length squared. Vector length. 3d Vector length. Set Vector length. 2The angle of a vector with respect to the X axis. Vector normalisation. Inverse transformation $Transformation applied to a vector. +Transformation representing a translation. !(Transformation representing a rotation. "'Transformation representing a scaling. #,The translation factor of a transformation. $)The rotation factor of a transformation. %(The scaling factor of a transformation. &6Replacing the translation factor of a transformation. '3Replacing the rotation factor of a transformation. (2Replacing the scaling factor of a transformation. )  !"#$%&'()   !"#$%&'(%  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ]^_`abcdefghijklmnopqrstuvwxyz{|}Splines ~ TriStrips TriFans  Triangles APolyList: Contains polygon primitives that cannot contain holes. >Polygon: Contains polygon primitives which may contain holes.  LineStrips Lines      !"#$%&'()*+,-./0123456789:;<=)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӫ|~}wxyz{qrstuvklmnopacbdefg,+V\[ZYXWQUTSRJPONMLKji23)*h?IHGFEDCBA@4>=<;:98765-./01]`_^)**+,-./01./012334 >=<;:9876556789:;<=>? IHGFEDCBA@@ABCDEFGHIJPONMLKKLMNOPQUTSRRSTUV\[ZYXWWXYZ[\]`_^^_`acbdefgbcdefghijklmnoplmnopqrstuvrstuvwxyz{xyz{|~}}~  An animated cube Example scene with a cube %Every scene needs a camera and light Example animation of the cube A blue/textured cube Animation of several cubes /generate an animation that points to the cubes a helper function for xyz_grid dGenerate a 3 dimensional grid where an object (stored in a SceneNode) is repeated in along the grid 8>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[Wextrude a 2d polygon to 3d, the same points are added again with extrusion direction v Creturn a list containing lists of every element with its neighbour  i.e. [e1,e2,e3] -> [ [e1,e2], [e2,e3] , [e3, e1] ] \]      !"#$%&'()*+,-./001234,56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcbdefghijkklmnoppqrstuuvwxyz{|}~U#W      !"#$%%&'()**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOcollada-types-0.3#Graphics.Formats.Collada.Vector2D3D%Graphics.Formats.Collada.ColladaTypes(Graphics.Formats.Collada.GenerateObjects(Graphics.Formats.Collada.TransformationsT2V4V3V2VAngleunit*.muldividedotdot3crosscross3perpLperpRturnturnLturnNLturnRturnNRparvsquaremagv_lenset_lendirnorminverse<> translaterotatescale translationOf rotationOfscaleOfwithTranslation withRotation withScaleColorRGBSIDIDTextureimageSIDpathtexObjCFx_common_texture_typeTIndex_of_refraction TTransparency TTransparent TReflectivity TReflective TShininess TSpecularTDiffuseTAmbient TEmissionFx_common_color_typeCIndex_of_refraction CTransparency CTransparent CReflectivity CReflective CShininess CSpecularCDiffuseCAmbient CEmissionTechniqueCommonBlinnPhongTexPhongCol LambertTex LambertColConstantNewParamNoParamModifierSemanticAnnotatProfileGLSLGLES2GLESCOMMONCGBRIDGE InterpolationBezierLinearStep AnimChannel EmptyAniminputoutputinterptargets AnimationEffectMaterialPolygonpoylgonPpoylgonN polygonPh polygonMs LinePrimitivelinePlineNlineTmsVerticesnamevertsnormalsMeshSTrsTrfTrPLPLSLPGeometrymeshIDmeshvertices ControllercontrIdskinmorph AttenuationattenuationConstantattenuationLinearattenuationQuadraticLightSpotspotID spotColorspotAttenuationspotFallOffAnglespotFallOffExponentPointpointID pointColorpointAttenuation Directional directionalIDdirectionalColorAmbient ambientID ambientColorZzNearzFarViewSize ViewSizeXY ViewSizeY ViewSizeXCamera OrthographicorthographicIDorthographicViewSize orthographicZ Perspective perspectiveIDperspectiveFov perspectiveZ Transform TranslateSkew skewAngle skewRotationskewTranslationScaleRotateMatrixLookAt lookAtEyelookAtInterestlookAtUpNodeTypeNOTYPENODEJOINT SceneNode EmptyRootnodeIdnodeType nodeLayersnodeTransformations nodeCamerasnodeControllernodeGeometries nodeLightsScene animatedCubeaScenelightedGeometrylightedSceneNode lightedSceneaCubeobj animationcubepolyslinestrifans tristripsgescene2 animation2emptyAnimation emptyAnim new_channelstran test_objsxyz_gridenrename streamScenestreamAnimationextrude extr_outlinecycleNeighbourscycleNatopchangeDiffuseColorchangeAmbientColorbase Data.MonoidmappendmemptyTsquare3 TechniqueExtraString TechniqueCGPass IsAnnotateIsAssetIncludeCodeAsset AccessorType AccessorNameAccessorTargetIDWEIGHTVERTEXUV TEXTANGENTTEXCOORD TEXBINORMALTANGENTPOSITION OUT_TANGENTOUTPUTNORMAL MORPH_WEIGHT MORPH_TARGET LINEAR_STEPSISJOINTINV_BIND_MATRIX INTERPOLATION IN_TANGENTINPUTIMAGE CONTINUITYCOLORBINORMALInputoffsetsemantic inputSourcesetRevolute PrismaticJointjointID prismaticrevolute MorphMethodRelative NormalizedMorphgeometrySourcemethod morphSource morphTargetsSkinbindShapeMatrixsourcejoint vertexWeightsMat44n makeScenecameraAndLightrottranrotaCamera pointLight ambientLight anim_channelflbluediffuse replaceDiffambient replaceAmbgetDiffuseColorgetAmbientColorlogotex animatedCubesanimatedCubes2obj_nameenum_objx_line positions base_objectsgetNameget_nameanimatedStream tr_channel normalsFrom