SORU
12 Ocak 2010, Salı


Nasıl bir Üçgen içinde bir nokta belirlemek için?

Kolay bir yolu varsa bir Üçgen içinde nokta olup olmadığını belirlemek için var mı? 3D değil 2D.

CEVAP
12 Ocak 2010, Salı


Genel olarak, en basit (ve çok) optimal algoritma noktası olan kontrol ediyor.

Burada topic on GameDev, Bu performans sorunları da dahil olmak üzere bazı yüksek kaliteli bilgi.

Ve işte başlangıç için bazı kod:

float sign (fPoint p1, fPoint p2, fPoint p3)
{
    return (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);
}

bool PointInTriangle (fPoint pt, fPoint v1, fPoint v2, fPoint v3)
{
    bool b1, b2, b3;

    b1 = sign(pt, v1, v2) < 0.0f;
    b2 = sign(pt, v2, v3) < 0.0f;
    b3 = sign(pt, v3, v1) < 0.0f;

    return ((b1 == b2) && (b2 == b3));
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009