2017-05-11 58 views
5

Rastgele bir şekilde JavaScript kanvasında bazı noktalar ürettim Noktaları düzgün bir şekilde birleştiren üçgenler çizmek için en etkili yöntemin ne olacağını merak ediyorum. Amaç, üçgenlerin örtüşmeden tüm tuvali doldurmasıdır. Görsel gösterimi için Rastgele bir dizi noktadan üçgen oluşturuluyor


, burada rastgele bir tuval üzerinde oluşturulmuş olan noktaları bir görüntüdür. Gördüğünüz gibi, noktaları tuval üzerine rastgele yerleştirdiğim şekilde değiştirmek zorunda kalabilirim.

points

Ve bu üçgenleri çizmek isteyen nasıl.

enter image description here

+0

düşünün [Delaunay Nirengi] (https://en.wikipedia.org/: Burada

Ben noktaları olarak güncellemeler düzlemde hareket tuval üzerine çizilmiş ne bir sonucudur wiki/Delaunay_triangulation) – Phrogz

+0

Bunun için bir JavaScript kütüphanesi var (her zaman haha ​​gibi): https://github.com/ironwallaby/delaunay –

+0

Teşekkürler @Phrogz, bu beni doğru yönde ilerletmek için yeterli olmalıdır. – getmicah

cevap

1

sayesinde doğru yönde beni işaret için & @GabeRogan @Phorgz için. Delaunay Triangulation kesinlikle gitmek için bir yoldu ve tuvali bir animasyon olarak güncellerken bile çok hızlı bir şekilde sona erdi.

Sonunda rastgele oluşturulmuş noktaları üçgenlemek için bölme ve fethetme algoritmasını kullanan faster-delaunay npm paketini kullanarak bitirdim.

delaunay