Get all triangles that are < N dist from you?
Posted
by
CyanPrime
on Game Development
See other posts from Game Development
or by CyanPrime
Published on 2012-06-28T04:18:48Z
Indexed on
2012/06/28
9:23 UTC
Read the original article
Hit count: 165
Does anyone know of a way I could add a radius to this code for p? Like basically saying "this is true if the triangle is < N dist from the point"
public boolean isPointInTriangle( Vector3f p, Vector3f a, Vector3f b, Vector3f c )
{
return ( pointsAreOnSameSide(p, a, b, c) && pointsAreOnSameSide(p, b, a, c) && pointsAreOnSameSide(p, c, a, b) );
}
public boolean pointsAreOnSameSide( Vector3f p1, Vector3f p2, Vector3f a, Vector3f b )
{
Vector3f diffba = new Vector3f(0,0,0);
Vector3f.sub( b, a, diffba );
Vector3f diffp1a = new Vector3f(0,0,0);
Vector3f.sub( p1, a, diffp1a );
Vector3f diffp2a = new Vector3f(0,0,0);
Vector3f.sub( p2, a, diffp2a );
Vector3f cross1 = Vector3f.cross(diffba, diffp1a);
Vector3f cross2 = Vector3f.cross(diffba, diffp2a);
return ( Vector3f.dot( cross1, cross2 ) >= 0 );
}
© Game Development or respective owner