Tengo una matriz bidimensional similar a un mapa de bits, digamos 500 * 500 valores. Estoy intentando crear un gradiente lineal en la matriz, por lo que el mapa de bits resultante sería algo como esto (en escala de grises): Example gradient http://showandtell-graphics.com/images/gradient/gradient_12.jpgCrear un degradado lineal en matriz 2D
La entrada sería la matriz de llenar, dos puntos (como el inicio y fin punto para la herramienta Degradado en Photoshop/GIMP) y el rango de valores que se usarían.
Mi mejor resultado actual es la siguiente:
alt text http://img222.imageshack.us/img222/1733/gradientfe3.png
... lo cual está muy lejos de lo que me gustaría lograr. Se parece más a un gradiente radial.
¿Cuál es la forma más sencilla de crear dicho degradado? Voy a implementarlo en C++, pero me gustaría algún algoritmo general.
Estaba pensando en algo parecido, pero esperaba encontrar alguna solución más simple. Me llevó una hora y media derivar la fórmula correcta para calcular el punto correcto en la línea A-> B :) –
Lo bueno, si tienes la oportunidad, publícalo en tu pregunta. Estoy seguro de que alguien lo encontrará útil. –