FrameIT
Math3d Class Reference

Static Public Member Functions

static void Init ()
 
static Vector2 GetPointOnSpline (float percentage, Vector2[] cPoints)
 
static float[] GetLineSplineIntersections (Vector2[] linePoints, Vector2[] cPoints)
 
static Vector3 AddVectorLength (Vector3 vector, float size)
 
static Vector3 SetVectorLength (Vector3 vector, float size)
 
static Quaternion SubtractRotation (Quaternion B, Quaternion A)
 
static Quaternion AddRotation (Quaternion A, Quaternion B)
 
static Vector3 TransformDirectionMath (Quaternion rotation, Vector3 vector)
 
static Vector3 InverseTransformDirectionMath (Quaternion rotation, Vector3 vector)
 
static Vector3 RotateVectorFromTo (Quaternion from, Quaternion to, Vector3 vector)
 
static bool PlanePlaneIntersection (out Vector3 linePoint, out Vector3 lineVec, Vector3 plane1Normal, Vector3 plane1Position, Vector3 plane2Normal, Vector3 plane2Position)
 
static bool LinePlaneIntersection (out Vector3 intersection, Vector3 linePoint, Vector3 lineVec, Vector3 planeNormal, Vector3 planePoint)
 
static bool LineLineIntersection (out Vector3 intersection, Vector3 linePoint1, Vector3 lineVec1, Vector3 linePoint2, Vector3 lineVec2)
 
static bool ClosestPointsOnTwoLines (out Vector3 closestPointLine1, out Vector3 closestPointLine2, Vector3 linePoint1, Vector3 lineVec1, Vector3 linePoint2, Vector3 lineVec2)
 
static Vector3 ProjectPointOnLine (Vector3 linePoint, Vector3 lineVec, Vector3 point)
 
static bool IsPointOnLine (Vector3 linePoint, Vector3 lineVec, Vector3 point)
 
static bool IsPointApproximatelyOnLine (Vector3 linePoint, Vector3 lineVec, Vector3 point, double precission=Math3d.vectorPrecission)
 
static bool IsApproximatelyParallel (Vector3 vectorA, Vector3 vectorB, double precission=Math3d.vectorPrecission)
 
static bool IsApproximatelyEqual (Vector3 vectorA, Vector3 vectorB, double precission=Math3d.vectorPrecission)
 
static Vector3 ProjectPointOnLineSegment (Vector3 linePoint1, Vector3 linePoint2, Vector3 point)
 
static Vector3 ProjectPointOnPlane (Vector3 planeNormal, Vector3 planePoint, Vector3 point)
 
static Vector3 ProjectVectorOnPlane (Vector3 planeNormal, Vector3 vector)
 
static float SignedDistancePlanePoint (Vector3 planeNormal, Vector3 planePoint, Vector3 point)
 
static float SignedDotProduct (Vector3 vectorA, Vector3 vectorB, Vector3 normal)
 
static float SignedVectorAngle (Vector3 referenceVector, Vector3 otherVector, Vector3 normal)
 
static float AngleVectorPlane (Vector3 vector, Vector3 normal)
 
static float DotProductAngle (Vector3 vec1, Vector3 vec2)
 
static void PlaneFrom3Points (out Vector3 planeNormal, out Vector3 planePoint, Vector3 pointA, Vector3 pointB, Vector3 pointC)
 
static Vector3 GetForwardVector (Quaternion q)
 
static Vector3 GetUpVector (Quaternion q)
 
static Vector3 GetRightVector (Quaternion q)
 
static Quaternion QuaternionFromMatrix (Matrix4x4 m)
 
static Vector3 PositionFromMatrix (Matrix4x4 m)
 
static void LookRotationExtended (ref GameObject gameObjectInOut, Vector3 alignWithVector, Vector3 alignWithNormal, Vector3 customForward, Vector3 customUp)
 
static void TransformWithParent (out Quaternion childRotation, out Vector3 childPosition, Quaternion parentRotation, Vector3 parentPosition, Quaternion startParentRotation, Vector3 startParentPosition, Quaternion startChildRotation, Vector3 startChildPosition)
 
static void PreciseAlign (ref GameObject gameObjectInOut, Vector3 alignWithVector, Vector3 alignWithNormal, Vector3 alignWithPosition, Vector3 triangleForward, Vector3 triangleNormal, Vector3 trianglePosition)
 
static void VectorsToTransform (ref GameObject gameObjectInOut, Vector3 positionVector, Vector3 directionVector, Vector3 normalVector)
 
static int PointOnWhichSideOfLineSegment (Vector3 linePoint1, Vector3 linePoint2, Vector3 point)
 
static float MouseDistanceToLine (Vector3 linePoint1, Vector3 linePoint2)
 
static float MouseDistanceToCircle (Vector3 point, float radius)
 
static bool IsLineInRectangle (Vector3 linePoint1, Vector3 linePoint2, Vector3 rectA, Vector3 rectB, Vector3 rectC, Vector3 rectD)
 
static bool IsPointInRectangle (Vector3 point, Vector3 rectA, Vector3 rectC, Vector3 rectB, Vector3 rectD)
 
static bool AreLineSegmentsCrossing (Vector3 pointA1, Vector3 pointA2, Vector3 pointB1, Vector3 pointB2)
 
static bool LinearAcceleration (out Vector3 vector, Vector3 position, int samples)
 
static bool AngularAcceleration (out Vector3 vector, Quaternion rotation, int samples)
 
static float LinearFunction2DBasic (float x, float Qx, float Qy)
 
static float LinearFunction2DFull (float x, float Px, float Py, float Qx, float Qy)
 

Static Public Attributes

const double vectorPrecission = 1e-5d
 

Static Private Member Functions

static void SolveCubic (out int nRoots, out float x1, out float x2, out float x3, float a, float b, float c, float d)
 
static float CubeRoot (float d)
 
static Vector3 RotDiffToSpeedVec (Quaternion rotation, float deltaTime)
 

Static Private Attributes

static Transform tempChild = null
 
static Transform tempParent = null
 
static Vector3[] positionRegister
 
static float[] posTimeRegister
 
static int positionSamplesTaken = 0
 
static Quaternion[] rotationRegister
 
static float[] rotTimeRegister
 
static int rotationSamplesTaken = 0
 

Member Function Documentation

◆ AddRotation()

static Quaternion Math3d.AddRotation ( Quaternion  A,
Quaternion  B 
)
static

◆ AddVectorLength()

static Vector3 Math3d.AddVectorLength ( Vector3  vector,
float  size 
)
static

◆ AngleVectorPlane()

static float Math3d.AngleVectorPlane ( Vector3  vector,
Vector3  normal 
)
static

◆ AngularAcceleration()

static bool Math3d.AngularAcceleration ( out Vector3  vector,
Quaternion  rotation,
int  samples 
)
static

◆ AreLineSegmentsCrossing()

static bool Math3d.AreLineSegmentsCrossing ( Vector3  pointA1,
Vector3  pointA2,
Vector3  pointB1,
Vector3  pointB2 
)
static

◆ ClosestPointsOnTwoLines()

static bool Math3d.ClosestPointsOnTwoLines ( out Vector3  closestPointLine1,
out Vector3  closestPointLine2,
Vector3  linePoint1,
Vector3  lineVec1,
Vector3  linePoint2,
Vector3  lineVec2 
)
static

◆ CubeRoot()

static float Math3d.CubeRoot ( float  d)
staticprivate

◆ DotProductAngle()

static float Math3d.DotProductAngle ( Vector3  vec1,
Vector3  vec2 
)
static

◆ GetForwardVector()

static Vector3 Math3d.GetForwardVector ( Quaternion  q)
static

◆ GetLineSplineIntersections()

static float[] Math3d.GetLineSplineIntersections ( Vector2[]  linePoints,
Vector2[]  cPoints 
)
static

◆ GetPointOnSpline()

static Vector2 Math3d.GetPointOnSpline ( float  percentage,
Vector2[]  cPoints 
)
static

◆ GetRightVector()

static Vector3 Math3d.GetRightVector ( Quaternion  q)
static

◆ GetUpVector()

static Vector3 Math3d.GetUpVector ( Quaternion  q)
static

◆ Init()

static void Math3d.Init ( )
static

◆ InverseTransformDirectionMath()

static Vector3 Math3d.InverseTransformDirectionMath ( Quaternion  rotation,
Vector3  vector 
)
static

◆ IsApproximatelyEqual()

static bool Math3d.IsApproximatelyEqual ( Vector3  vectorA,
Vector3  vectorB,
double  precission = Math3d.vectorPrecission 
)
static

◆ IsApproximatelyParallel()

static bool Math3d.IsApproximatelyParallel ( Vector3  vectorA,
Vector3  vectorB,
double  precission = Math3d.vectorPrecission 
)
static

◆ IsLineInRectangle()

static bool Math3d.IsLineInRectangle ( Vector3  linePoint1,
Vector3  linePoint2,
Vector3  rectA,
Vector3  rectB,
Vector3  rectC,
Vector3  rectD 
)
static

◆ IsPointApproximatelyOnLine()

static bool Math3d.IsPointApproximatelyOnLine ( Vector3  linePoint,
Vector3  lineVec,
Vector3  point,
double  precission = Math3d.vectorPrecission 
)
static

◆ IsPointInRectangle()

static bool Math3d.IsPointInRectangle ( Vector3  point,
Vector3  rectA,
Vector3  rectC,
Vector3  rectB,
Vector3  rectD 
)
static

◆ IsPointOnLine()

static bool Math3d.IsPointOnLine ( Vector3  linePoint,
Vector3  lineVec,
Vector3  point 
)
static

◆ LinearAcceleration()

static bool Math3d.LinearAcceleration ( out Vector3  vector,
Vector3  position,
int  samples 
)
static

◆ LinearFunction2DBasic()

static float Math3d.LinearFunction2DBasic ( float  x,
float  Qx,
float  Qy 
)
static

◆ LinearFunction2DFull()

static float Math3d.LinearFunction2DFull ( float  x,
float  Px,
float  Py,
float  Qx,
float  Qy 
)
static

◆ LineLineIntersection()

static bool Math3d.LineLineIntersection ( out Vector3  intersection,
Vector3  linePoint1,
Vector3  lineVec1,
Vector3  linePoint2,
Vector3  lineVec2 
)
static

◆ LinePlaneIntersection()

static bool Math3d.LinePlaneIntersection ( out Vector3  intersection,
Vector3  linePoint,
Vector3  lineVec,
Vector3  planeNormal,
Vector3  planePoint 
)
static

◆ LookRotationExtended()

static void Math3d.LookRotationExtended ( ref GameObject  gameObjectInOut,
Vector3  alignWithVector,
Vector3  alignWithNormal,
Vector3  customForward,
Vector3  customUp 
)
static

◆ MouseDistanceToCircle()

static float Math3d.MouseDistanceToCircle ( Vector3  point,
float  radius 
)
static

◆ MouseDistanceToLine()

static float Math3d.MouseDistanceToLine ( Vector3  linePoint1,
Vector3  linePoint2 
)
static

◆ PlaneFrom3Points()

static void Math3d.PlaneFrom3Points ( out Vector3  planeNormal,
out Vector3  planePoint,
Vector3  pointA,
Vector3  pointB,
Vector3  pointC 
)
static

◆ PlanePlaneIntersection()

static bool Math3d.PlanePlaneIntersection ( out Vector3  linePoint,
out Vector3  lineVec,
Vector3  plane1Normal,
Vector3  plane1Position,
Vector3  plane2Normal,
Vector3  plane2Position 
)
static

◆ PointOnWhichSideOfLineSegment()

static int Math3d.PointOnWhichSideOfLineSegment ( Vector3  linePoint1,
Vector3  linePoint2,
Vector3  point 
)
static

◆ PositionFromMatrix()

static Vector3 Math3d.PositionFromMatrix ( Matrix4x4  m)
static

◆ PreciseAlign()

static void Math3d.PreciseAlign ( ref GameObject  gameObjectInOut,
Vector3  alignWithVector,
Vector3  alignWithNormal,
Vector3  alignWithPosition,
Vector3  triangleForward,
Vector3  triangleNormal,
Vector3  trianglePosition 
)
static

◆ ProjectPointOnLine()

static Vector3 Math3d.ProjectPointOnLine ( Vector3  linePoint,
Vector3  lineVec,
Vector3  point 
)
static

◆ ProjectPointOnLineSegment()

static Vector3 Math3d.ProjectPointOnLineSegment ( Vector3  linePoint1,
Vector3  linePoint2,
Vector3  point 
)
static

◆ ProjectPointOnPlane()

static Vector3 Math3d.ProjectPointOnPlane ( Vector3  planeNormal,
Vector3  planePoint,
Vector3  point 
)
static

◆ ProjectVectorOnPlane()

static Vector3 Math3d.ProjectVectorOnPlane ( Vector3  planeNormal,
Vector3  vector 
)
static

◆ QuaternionFromMatrix()

static Quaternion Math3d.QuaternionFromMatrix ( Matrix4x4  m)
static

◆ RotateVectorFromTo()

static Vector3 Math3d.RotateVectorFromTo ( Quaternion  from,
Quaternion  to,
Vector3  vector 
)
static

◆ RotDiffToSpeedVec()

static Vector3 Math3d.RotDiffToSpeedVec ( Quaternion  rotation,
float  deltaTime 
)
staticprivate

◆ SetVectorLength()

static Vector3 Math3d.SetVectorLength ( Vector3  vector,
float  size 
)
static

◆ SignedDistancePlanePoint()

static float Math3d.SignedDistancePlanePoint ( Vector3  planeNormal,
Vector3  planePoint,
Vector3  point 
)
static

◆ SignedDotProduct()

static float Math3d.SignedDotProduct ( Vector3  vectorA,
Vector3  vectorB,
Vector3  normal 
)
static

◆ SignedVectorAngle()

static float Math3d.SignedVectorAngle ( Vector3  referenceVector,
Vector3  otherVector,
Vector3  normal 
)
static

◆ SolveCubic()

static void Math3d.SolveCubic ( out int  nRoots,
out float  x1,
out float  x2,
out float  x3,
float  a,
float  b,
float  c,
float  d 
)
staticprivate

◆ SubtractRotation()

static Quaternion Math3d.SubtractRotation ( Quaternion  B,
Quaternion  A 
)
static

◆ TransformDirectionMath()

static Vector3 Math3d.TransformDirectionMath ( Quaternion  rotation,
Vector3  vector 
)
static

◆ TransformWithParent()

static void Math3d.TransformWithParent ( out Quaternion  childRotation,
out Vector3  childPosition,
Quaternion  parentRotation,
Vector3  parentPosition,
Quaternion  startParentRotation,
Vector3  startParentPosition,
Quaternion  startChildRotation,
Vector3  startChildPosition 
)
static

◆ VectorsToTransform()

static void Math3d.VectorsToTransform ( ref GameObject  gameObjectInOut,
Vector3  positionVector,
Vector3  directionVector,
Vector3  normalVector 
)
static

Member Data Documentation

◆ positionRegister

Vector3 [] Math3d.positionRegister
staticprivate

◆ positionSamplesTaken

int Math3d.positionSamplesTaken = 0
staticprivate

◆ posTimeRegister

float [] Math3d.posTimeRegister
staticprivate

◆ rotationRegister

Quaternion [] Math3d.rotationRegister
staticprivate

◆ rotationSamplesTaken

int Math3d.rotationSamplesTaken = 0
staticprivate

◆ rotTimeRegister

float [] Math3d.rotTimeRegister
staticprivate

◆ tempChild

Transform Math3d.tempChild = null
staticprivate

◆ tempParent

Transform Math3d.tempParent = null
staticprivate

◆ vectorPrecission

const double Math3d.vectorPrecission = 1e-5d
static

The documentation for this class was generated from the following file: