Domanda

Voglio creare un confine generato dinamicamente tra le aree avversarie sul terreno pianeggiante con alcuni punti ("basi") (ad esempio basi aliene e umane) nel gioco di strategia 3D.Ogni base ha la sua "terra di influenza", quindi il confine dovrebbe andare alla distanza appropriata tra le basi in conflitto.Se hai giocato a Settlers I, II ecc., Dovresti capire cosa intendo veramente.

Quindi ho una serie di coordinate di base e desidero ottenere una serie di polilinee che descrivano questi bordi.

Per favore, puoi suggerirmi qualche soluzione (potrebbero essere alcuni algoritmi o anche pacchetti pronti).

Esempio di bordo desiderato:

inserisci qui la descrizione dell'immagine

È stato utile?

Soluzione

Sembra che tu voglia un diagramma di Voronoi .Di seguito è riportato un diagramma 2D, ma lo stesso algoritmo funziona anche in 3D.

inserisci qui la descrizione dell'immagine

Altri suggerimenti

Penso che potresti voler esaminare un ponderato diagramma di Voronoi . Nei VD standard, solo la distanza dal punto di controllo più vicino è importante per determinare le celle, ma dal tuo esempio sembra che tu voglia che i punti di controllo abbiano un'influenza anche quando non sono il punto più vicino.

Ad esempio, c'è una regione a sinistra del punto blu più alto che si trova nell'area rossa nonostante il punto di controllo più vicino sia blu:

inserisci qui la descrizione dell'immagine

Presumo che ciò sia dovuto al fatto che il punto rosso più a NO esercita un'influenza, come mostrato dalla freccia.

La "recensione" collegata da quella pagina di wikipedia e Google i risultati della ricerca di immagini per il diagramma di Voronoi ponderato suggeriscono che questo tipo di influenza, che si traduce in confini più arrotondati, è realizzabile, anche se ovviamente ti attendono ulteriori ricerche.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top