Domanda

Sto lavorando a un progetto in cui ho una serie di misurazioni note (x, y, z, a) e un input (z, a). Devo essere in grado di interpolare le (x, y, z) in modo da poter ottenere un elenco di possibili coordinate (x, y) da una determinata z.

Stavo guardando l'interpolazione bicubica, ma posso solo trovare esempi relativi alle griglie regolari e le mie coppie (x, y) non sono certamente regolari.

Fondamentalmente sto cercando una guida su algoritmi/modelli per raggiungere questo obiettivo. Sto prendendo in considerazione una rete irregolare triangolata, che è attraente perché si rompe in aerei che sono facili da determinare (x, y) da una determinata Z. Ma vorrei un po 'più finezza.

So che sembra i compiti, non è.

L'efficienza non è un problema.

Grazie!

È stato utile?

Soluzione

In realtà ho finito per usare la triangolazione Delauney per abbattere i campi in superfici tridimensionali X, Y, Z con un identificatore. Quindi dato un insieme di coppie (identità, z) I forma una linea di campo da ciascuna superficie e da queste linee calcola il poligono formato dai bordi più corti tra le linee. Questo mi dà un'area di potenziali coordinate X, Y.

Altri suggerimenti

Date un'occhiata al KD-Tree. Questi prima prendono una serie di punti sparsi in 2D o 3D o 10D, quindi rispondono a domande come "trova i 3 punti più vicini P".

Sono le tue domande z a coppie? Ad esempio, dato un mucchio di perni colorati su una mappa, una tabella di x y size color, si potrebbe mettere tutto il [x y] In un albero KD, quindi chiedi pin vicino a un dato x0 y0.
Oppure, si potrebbe mettere tutto il [size color[ In un albero, quindi chiedi pin con dimensioni e colori simili. (Si noti che la maggior parte delle implementazioni KD -tree utilizza la metrica euclidea, quindi sqrt ((size - size2)^2 + (color - color2)^2) dovrebbe avere senso.)

In Python, lo consiglio vivamente Scipy.spatial.ckdtree.

Vedi anche così Domande/Tagged/Kdtree .

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