En un proyecto arduino en el que estoy trabajando (ATMega328 en este momento) tengo un montón de datos de distancia vectorial que necesito usar para varios píxeles en una matriz.
Es un cálculo relativamente simple:
d = math.sqrt(math.pow(x2 - x1, 4) + math.pow(y2 - y1, 2)) //Not the arduino code
Fórmula de distancia de coordenadas muy ligeramente modificada (con valores x exagerados)
Sé que una computadora moderna puede hacer eso fácilmente, pero ¿va a ser más lento o más rápido que tener los valores para una matriz de 22x12 almacenados como una matriz de uchar PROGMEM 2-D? (x1 y y1 se fijan en el punto central ... así que solo una cuadrícula).
Estos valores son básicamente fijos, solo necesito conocerlos. Sé que acceder a los valores en flash es mucho más lento que en SRAM pero no estoy realmente seguro de cuántos ciclos de reloj tomará en comparación con la ecuación anterior. Un AVR no está exactamente optimizado para tales cálculos.
Actualización: Además, no es como si solo tuviera que buscar algunos de los valores de distancia vectorial en cada pase. En cada bucle necesito TODOS esos valores.