//--------------------------------------------------
// 2D
//--------------------------------------------------
public static Vector2 GetPoint2D(Vector2 vOrg, Vector2 vMid, Vector2 vDst, float t)
{
float fX = (1-t) * (1-t) * vOrg.x + 2 * (1-t) * t * vMid.x + t * t * vDst.x;
float fY = (1-t) * (1-t) * vOrg.y + 2 * (1-t) * t * vMid.y + t * t * vDst.y;
return new Vector2(fX, fY);
}
//--------------------------------------------------
// 3D
//--------------------------------------------------
public static Vector3 GetPoint3D(Vector3 vOrg, Vector3 vMid, Vector3 vDst, float t)
{
float fX = (1-t) * (1-t) * vOrg.x + 2 * (1-t) * t * vMid.x + t * t * vDst.x;
float fY = (1-t) * (1-t) * vOrg.y + 2 * (1-t) * t * vMid.y + t * t * vDst.y;
float fZ = (1-t) * (1-t) * vOrg.z + 2 * (1-t) * t * vMid.z + t * t * vDst.z;
return new Vector3(fX, fY, fZ);
}
//--------------------------------------------------
Comments