![]() |
![]() |
![]() |
Vector2.BaryCentric Method |
Language: |
Returns a point in barycentric coordinates, using specified 2-D vectors.
Visual Basic .NET Public Shared Function BaryCentric( _
ByVal v1 As Vector2, _
ByVal v2 As Vector2, _
ByVal v3 As Vector2, _
ByVal f As Single, _
ByVal g As Single _
) As Vector2C# public static Vector2 BaryCentric(
Vector2 v1,
Vector2 v2,
Vector2 v3,
float f,
float g
);Managed C++ public: static Vector2 BaryCentric(
Vector2 v1,
Vector2 v2,
Vector2 v3,
float f,
float g
);JScript .NET public static function BaryCentric(
v1 : Vector2,
v2 : Vector2,
v3 : Vector2,
f : float,
g : float
) : Vector2;
v1 Microsoft.DirectX.Vector2. Source Vector2 structure. v2 Microsoft.DirectX.Vector2. Source Vector2 structure. v3 Microsoft.DirectX.Vector2. Source Vector2 structure. f System.Single. Weighting factor. See Remarks. g System.Single. Weighting factor. See Remarks.
Microsoft.DirectX.Vector2 . A Vector2 structure in barycentric coordinates.
The BaryCentric method provides a way to understand points in and around a triangle, regardless of its actual location. This method returns the resulting point by using the following equation.
v1 + f(v2 - v1) + g(v3 - v1)
Any point in the plane v1v2v3 can be represented by the barycentric coordinates (f, g). The f parameter controls the extent to which v2 gets weighted into the result, and the f parameter controls the extent to which v3 gets weighted into the result. Lastly, (1 - f - g) controls the extent to which v1 gets weighted into the result.
Note the following relations.
- If (f >= 0 && g >=0 && 1 - f - g >= 0), the point is inside the triangle v1v2v3.
- If (f == 0 && g >= 0 && 1 - f - g >= 0), the point is on the line v1v3.
- If (f >= 0 && g == 0 && 1 - f - g >= 0), the point is on the line v1v2.
- If (f >= 0 && g >= 0 && 1 - f - g == 0), the point is on the line v2v3.
Barycentric coordinates are a form of general coordinates. In this context, using them represents a change in coordinate systems. What holds true for Cartesian coordinates also holds true for barycentric coordinates.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center