¿Algo de interpolación lineal como esto?
# -----------------------------------------------------------
# Pseudo code adopted from R
# -----------------------------------------------------------
# Linear interpolation of a 3D line segment in a fixed time interval
# startT Start in Time
# startX Start in X
# startY Start in Y
# startZ Start in Y
# endT End in Time
# endX End in X
# endY End in Y
# endZ End in Z
# steps if == 0 steps are calculater from by the time interval
# -----------------------------------------------------------
dataFrame function sampleLineTime4D(
int startT, int endT,
double startX, double endX,
double startY, double endY,
double startZ, double endZ,
int steps=0) {
# gradient
double dt = endT - startT;
double dx = endX - startX;
double dy = endY - startY;
double dz = endZ - startZ;
if (steps == 0) steps = dt;
# relative stepsize
double st = dt / steps;
double sx = dx / steps;
double sy = dy / steps;
double sz = dz / steps;
# definition of an empty vector set for T X Y and Z
Vector<double> vx = new Vector();
Vector<double> vx = new Vector();
Vector<double> vy = new Vector();
Vector<double> vz = new Vector();
# Iteration over te steps
for (int s=0; s<steps; s++) {
vt.add(startT+st*s);
vx.add(startX+sx*s);
vy.add(startY+sy*s);
vz.add(startZ+sz*s);
} # Ende der schleife
return (dataFrame(t=rt, x=rx, y=ry, z=rz));
}
0 votos
¿Podría explicar el sentido en el que un "polígono" 3D puede ser interpretado como un camino ? ¿Quiere decir que su límite está pensado como un camino, o quizás está preguntando sobre el muestreo de la trama en todo el polígono en sí (incluyendo su interior)? Y cuando se utiliza "polígono", ¿se presupone (como en el sentido matemático convencional) que es planar ?
1 votos
@whuber por supuesto que tienes razón, esto no tiene sentido. Olvídate del polígono, simplemente quiero hacer un muestreo a lo largo de un camino 3d.
0 votos
Es probable que tengas que hornear tu propio interpolación trilineal con arrays NumPy. Tengo una solución de interpolación bilineal para GDAL (2D) si necesitas inspiración.
0 votos
Ver también Funciones de interpolación multivariante de SciPy aunque he experimentado algunas rarezas. Pero vale la pena comprobarlo.
0 votos
Gracias @MikeToews, en realidad estoy bastante familiarizado con SciPy y la interpolación ;) Sin embargo, no quería tener que lidiar con los problemas de proyección, etc. y por lo tanto preferiría alguna solución basada en GIS donde no tenga que preocuparme de esas cosas.
0 votos
El problema de las "soluciones basadas en SIG" es que en realidad están ligadas a proyecciones 2D que utilizan una matriz de transformación afín 2D para pasar de la coordenada del píxel a la coordenada global (p. ej, GetGeoTransform ). En su lugar, tendría que aplicar una transformación afín 3D.
0 votos
He hecho esto en R si quieres empezar a buscar más allá de tu software declarado. El material que tengo es muy específico para un conjunto de datos 4D concreto, pero no sería muy difícil de adaptar. Añadir transformaciones para xy también es bastante sencillo. ¿Quieres ampliar lo que son los "problemas de proyección"?
0 votos
@mdsumner ¿Hay alguna posibilidad de que publiques tu solución en R? Estoy seguro de que encontrarías apoyo para la respuesta y entonces podríamos sacar esta pregunta de la "lista de sin respuesta". Gracias.