Qualcuno sa di un algoritmo che consente una figura come questa?

9

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)

    
posta user88794 21.04.2013 - 00:43
fonte

1 risposta

5

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:

link

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.

Bootstrapping the shape

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):

  • (+a,+b,0)
  • (-a,+b,0)
  • (+a,-b,0)
  • (-a,-b,0)

Oradeviancoratrovarele20facce.Questoèlasciatocomeunesercizioallettore:p

Perfezionamentodellaforma

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:

    
risposta data 21.04.2013 - 11:09
fonte

Leggi altre domande sui tag