Qualcuno sa come creare un algoritmo in grado di creare la figura come nell'immagine, quando viene fornito un insieme di punti specifici (array 3D)
Venendo qui dopo la battaglia, ma poiché non ci sono ancora risposte accettate e visto che @Luke si rifiuta di ottenere il rappresentante che merita, ecco un rapido riassunto del link che ha fornito.
Quindi l'algoritmo completo è disponibile qui:
L'idea è quella di riavviare la mesh con un metodo semplice che ti dà una sfera con 20 facce e quindi perfezionarla finché non sei soddisfatto.
Inizi con un icosaedro . Come dice l'articolo di wikipedia, puoi ottenere i vertici disegnando tre rettangoli identici e ortogonali. Hai 3 rettangoli con 4 angoli ciascuno - > 12 vertici.
Illustrazione di Wikipedia:
Adesempio,ipuntidelpianoZsono(a,bsonolelunghezzedelrettangolo):
Oradeviancoratrovarele20facce.Questoèlasciatocomeunesercizioallettore:p
Orachehaiunasferadibase,potrestivoleraggiungerepoligoni.Lofaiconquestosemplicealgoritmo:
foreachiteration:#eachiterationmultipliesby4thenumberoffacesforeachedgeatthecurrentiteration:splittheedgeintworeplacethemiddlepointonthesphere
Pertrovareilpuntomedio,supponiamodivolercrearelasferaunitaria(centro(0,0,0),raggio1).
middlePoint(p1,p2):middle=Point((p1.X+p2.X/2),#samefory,z)radius=sqrt(middle.X^2,middle.Y^2,middle.Z^2)returnPoint(middle.X/radius,#samefory,z)
Adogniiterazione,potremmodoverricostruireivolti,maèabbastanzafacile.Ognifacciaèdivisainquattro:
Leggi altre domande sui tag algorithms