Tengo problemas para entender cuándo extrapolar y cuándo interpolar. En el juego de los juegos, dijo que interpolaría, pero luego, en otro artículo, recomendó extrapolar al jugador. Entonces, mi pregunta es cuándo es mejor extrapolar y cuándo es mejor interpolar.
interpolation
extrapolation
J leong
fuente
fuente
Respuestas:
Interpola cuando conoce los valores 'antes' y 'después'.
Se extrapola cuando adivina cuál será el valor futuro, en función de lo que ya sabe.
La extrapolación se usa principalmente para la predicción de movimiento. El servidor del juego no lo necesita , pero los clientes del juego lo necesitan para mostrar una visión algo realista y actual del estado del juego a fin de brindar una experiencia visual fluida a los jugadores.
fuente
La interpolación se realiza cuando tiene un valor inicial y un valor final, y desea estimar lo que sucede entre este valor inicial y final. Un ejemplo sería mover a un jugador de la posición A a la posición B en un movimiento fluido.
La extrapolación se realiza cuando tiene un valor inicial, pero aún no tiene datos para el final. Luego puede extrapolar en función de los datos que tenga. Por ejemplo, en función de los movimientos anteriores de un jugador, puedes determinar dónde probablemente estará en el siguiente cuadro.
fuente
Siempre interpola cuando puedas.
Cuando no tienes suficiente información para interpolar, entonces necesitas extrapolar.
Realmente es así de simple, no lo pienses demasiado :)
Para explicar un poco más:
En general, la interpolación es mejor porque la interpolación siempre es correcta. Para extrapolar hay que adivinar. Luego tiene que lidiar con lo que sucede cuando adivina mal, lo que lleva a bandas de goma o estallidos y todo tipo de sistemas para lidiar con el manejo de todo eso y disfrazarlo.
¿Qué sucede si extrapola una posición de bate y la muestra yendo al lugar correcto y haciendo rebotar la pelota, y luego se da cuenta de que se equivocó y que no hizo rebotar la pelota? No hay una buena manera de manejar ese escenario.
fuente
Interpola para encontrar estados entre valores conocidos y extrapola para encontrar estados futuros.
Piense en el problema en términos de variables de estado, como posiciones y velocidades. En el mejor de los escenarios, cada computadora que necesita trabajar con el estado tiene acceso a los datos del estado durante el tiempo en que desean trabajar. Por ejemplo, un algoritmo de colisión para ver si el rifle láser disparó X interesets la cabeza del jugador A, el mejor de todos los casos es cuando el algoritmo conoce la posición exacta de cada objeto en el momento en que se disparó el láser.
En el mundo real, no siempre somos tan afortunados. A veces la información de verdad que recibimos es más escasa. Por ejemplo, si el jugador A es un jugador remoto en otra computadora, es posible que no sepa exactamente a dónde van cuando dispara el láser y necesita calcular el disparo. En este caso, debe crear un estimador para la posición de A, generalmente con interpolación o extrapolación.
La diferencia entre los dos es si tiene datos que están limitados en ambos lados, o solo en un lado. Digamos que el jugador A ya ha anunciado su posición de verdad para t = 0 yt = 1. El jugador B dispara un láser a t = 0.5. En muchas situaciones, el anuncio del jugador A de su posición en t = 1 puede ocurrir antes de que el jugador B apriete el gatillo. ¿Por qué? En muchos juegos, la capacidad de respuesta de los controles es menos que perfectamente instantánea. En una simulación de carrera, gran parte de la posición del jugador está limitada por la física de un vehículo en movimiento. Puede elegir anunciar una "posición futura" porque sabe que realmente no puede dirigir tanto en un corto período de tiempo. Si tiene información en el futuro, puede interpolar entre los dos valores.
¿Qué pasa si no tienes la suerte de tener un valor = 1? ¿Qué pasaría si el jugador A no estuviera en condiciones de anunciar su ubicación futura, y no puede decidir si acertó o falló con solo la información de t = 0? En este caso tienes que extrapolar. En la extrapolación, usa lo que sabe sobre el movimiento para extender más allá de cualquier dato que tenga. Es posible que sepa que el jugador A tiene una cierta velocidad, así que suponga que si multiplica eso por tiempo, puede obtener una posición en cada momento.
La diferencia está en los comportamientos. La interpolación requiere que tengas un límite superior e inferior, que no siempre tienes. Sin embargo, en casi todas las situaciones tiene resultados mucho mejores que la extrapolación. La extrapolación puede conducir fácilmente a movimientos poco realistas. Considere el caso de un jugador que está esquivando hacia la izquierda y hacia la derecha para evitar que le disparen mientras avanza. En cualquier punto dado, su velocidad es a lo largo de una diagonal, por lo que si extrapola, el jugador puede parecer correr hacia un lado cuando, de hecho, nunca lo hacen. Si solo realiza la interpolación, los valores tienden a no desviarse de los valores realistas.
La interpolación y la extrapolación son dos extremos en el mundo del filtrado. Existen muchos, muchos, muchos filtros para manejar datos como este que mezclan y combinan propiedades entre interpolación y extrapolación. En consecuencia, no se sorprenda si ve algoritmos que no son claramente interpolación o claramente extrapolación. Esos dos son solo la punta del iceberg.
fuente
La interpolación está utilizando datos conocidos para calcular un dato dentro de los límites del conjunto de datos (entre ellos el prefijo 'interno'). La extrapolación es calcular un dato fuera de los límites de los datos existentes (extra es el prefijo 'exterior'). Ambos se utilizan para sintetizar datos adicionales, con el método exacto de cálculo que define la confiabilidad esperada de los datos generados.
O para ponerlo en un diagrama muy simple:
Teniendo en cuenta los puntos de datos
A
yC
puede interpolarB
y extrapolarD
.La precisión de una interpolación o una extrapolación depende por completo de qué tan bien puede contabilizar cada variable en el cálculo. Si conoce todas las variables y tiene una ecuación que las explica todas, puede interpolar o extrapolar con la misma facilidad.
Para la mecánica del juego, los factores limitantes serán los puntos en los que las variables están influenciadas de manera impredecible, ya sea por el jugador o algún elemento aleatorio o pseudoaleatorio.
Por ejemplo, el movimiento de una pelota en Breakout (en su forma más simple) puede extrapolarse hasta el punto en el que podría interactuar potencialmente con la pala del jugador. Todas las variables pueden explicarse hasta ese punto y, por lo tanto, puede modelar con precisión las acciones de la pelota. Cuando llega al punto en que es posible la interacción del jugador, entonces hay una serie de resultados posibles y no hay forma de modelar con precisión cuál de ellos será el caso hasta que realmente suceda. Este es el límite predictivo del modelo de física del juego.
La interpolación es más simple en los juegos porque estás trabajando con puntos conocidos y no tienes que preguntarte si las condiciones cambiarán. Además, tiene control total sobre las variables involucradas y puede usar cualquier regla que defina para determinar la ruta de un objeto. Cuanto más complejas sean las reglas, más difícil será interpolar.
Para el movimiento de objetos con colisiones simples en un espacio de juego libre de gravedad (como Breakout o Pong), el mecanismo de interpolación a lo largo de una línea en el camino es una simple interpolación lineal de los puntos, y el mismo cálculo puede usarse para extrapolar la línea a prueba para futuras colisiones. Una vez que se detecta una colisión, puede extrapolar el efecto de esa colisión en los objetos involucrados.
fuente
La respuesta corta: interpola cuando tiene que estimar un valor entre dos valores conocidos (es decir: en una hora el valor es 1, en 3 horas son tres, para interpolar el valor en 2 en el valor más probable 2, con el valor dado valores). Extrapolar es cuando lo desconocido está fuera de lo que sabes, por lo que cuando se conocen 1 y 2 puedes hacer una suposición educada sobre 3.
Interpolar: en medio Extrapolar: afuera
Es probable que las respuestas largas aquí sean mucho más precisas y científicamente correctas, pero espero que mi explicación simple pueda tener sentido para algunos
fuente