SORU
22 Temmuz 2009, ÇARŞAMBA


Nasıl eğer poligon noktaları listesi saat yönünde sırayla olup olmadığını belirlemek için?

Puan listesi olan ne varsa saat yönünde sırayla onlar bulabilirim?

Örneğin:

point[0] = (5,0)
point[1] = (6,4)
point[2] = (4,5)
point[3] = (1,5)
point[4] = (1,0)

ki anti-saat yönünde olduğunu söylüyorlar (saat yönünün tersine bazı insanlar için).

CEVAP
22 Temmuz 2009, ÇARŞAMBA


Önerilen yöntemlerden bazıları olmayan konveks çokgen, bir hilal gibi durumda başarısız olur. Burada olmayan dışbükey çokgenler (hatta kendisiyle kesişen bir şekil-sekiz, ister inan poligon gibi . bir işe yarayacak bu çok basit. ben^>çoğunluklasaat yönünde).

Kenarlar, (x2-x1) () y2 y1 üzerinde topla. Eğer sonuç eğri saat yönünde olumlu ise, eğer negatif çıkarsa eğriyi saat yönünün tersine. (Sonucu kapalı alan, / - Kongre ile iki katı.)

point[0] = (5,0)   edge[0]: (6-5)(4 0) =   4
point[1] = (6,4)   edge[1]: (4-6)(5 4) = -18
point[2] = (4,5)   edge[2]: (1-4)(5 5) = -30
point[3] = (1,5)   edge[3]: (1-1)(0 5) =   0
point[4] = (1,0)   edge[4]: (5-1)(0 0) =   0
                                         ---
                                         -44  counter-clockwise

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Learn Math Tutorials

    Learn Math T

    20 Kasım 2011
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006