Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: engel lex en 25 Marzo 2014, 20:31 pm



Título: graficacion de formulas
Publicado por: engel lex en 25 Marzo 2014, 20:31 pm
Hola! :P

hoy quiero consultar sobre este tema, es un codigo tal vez reto para programadores y matematicos... la cosa esta en... el lenguaje no es importante, quisiera saber más o menos el algoritmo a seguir...

hay un programa de graficar formulas matematicas que se llama grafEQ (http://www.peda.com/grafeq/) el asunto es que grafica cosas tan absurdas como se puedan con una facilidad tremenda...

mis preguntas van...
-que metodos se pueden usar para graficar tan rapido asi?
-viendo como grafíca (los que decidan descargarselo) como creen que lo hace?
-cuales son los metodos mas eficientes?

a mi solo me viene a la mente derivando, sacando inflexion, maximos, minimos, luego calculando puntos intermedios y realizando una curva (tal vez bezier por facilidad) entre los puntos para armar el grafico... que más metodos se pueden usar? (tal vez haga un soft en c++ al final usando el metodo :P) y esto viene porque soy sincero y no he conseguido otros programas graficadores que lo hagan tan rapido y con formulas tan complejas

si... suena a publicidad y spam, pero no lo es...  :-X


Título: Re: graficacion de formulas
Publicado por: eferion en 26 Marzo 2014, 15:06 pm
La eficiencia muchas veces se consigue disponiendo de algoritmos óptimos. No se hasta que punto el andar calculando máximos, mínimos, raices y demás puede suponerte una ventaja en cuanto a rapidez de cálculo ( otra cosa es cuando la tienes que pintar a mano ), pero me da que sólo sería una ventaja en casos más o menos concretos.

Normalmente lo más lógico para graficar una función ( sobretodo si es en el eje xy) es recorrerla a intervalos discretos para un valor X y calcular Y o viceversa.

El problema normalmente está en que realizar esos cálculos, en algunos casos, puede llevar su tiempo, por lo que el graficado se puede demorar.

El proceso se puede simplificar eligiendo, por ejemplo, intervalos acordes al tamaño de la gráfica ( puede no tener sentido calcular con precisión de centésimas cuando en la gráfica un pixel representa 2 unidades enteras ).

Además también se pueden incorporar "atajos" que permitan reducir el tiempo necesario para calcular los resultados:

* precompilando la ecuación
* utilizando optimizaciones específicas para casos concretos

Por ejemplo, para calcular el cuadrado de un número puedes hacer una operación de multiplicación ( lenta ) o un desplazamiento de bits ( rápido )


Título: Re: graficacion de formulas
Publicado por: engel lex en 26 Marzo 2014, 16:01 pm
recomiendo que mires el programa y veas como lo hace el, que uses otro y beas la diferencia de.precisión y tiempo de calculo... creo que básicamente (no se.casi de ing inversa) sería inutil descompilarlo, porque los metodos np se verian con claridad (o si?)