PDA

Ver la Versión Completa : Como graficar funciones


Gloria Lora
23-04-2004, 22:52:36
necesito urgente componete para graficar una funcion cuadratica ejemplo 2x2 +3x + 2 y una funcion lineal, codigo fuente para graficar y aparte se imprime

roman
23-04-2004, 22:55:10
¿Es algo que ofreces?

Gloria Lora
23-04-2004, 23:04:19
¿Es algo que ofreces?no es algo que necesito:confused:

roman
23-04-2004, 23:19:22
no es algo que necesito:confused:

Lo suponía.

Mira Gloria, como eres nueva en los foros te voy a recomendar que leas la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) en donde se establecen las normas mínimas de etiqueta para tener una buena convivencia en el Club.

Tu mensaje es muy brusco y parece más una exigencia que una petición y el término de urgente es muy desafortunado. Quienes aquí participamos lo hacemos de forma voluntaria en el tiempo que nos permiten nuestras propias ocupaciones, muchas veces también urgentes.

Como verás el Club consta de varios foros dedicados cada uno a un área distinta de la programación en Delphi y tendrás más posibilidades de encontrar a alguien que pueda ayudarte en alguna duda si colocas tus mensajes en el foro adecuado. Este mensaje corresponde al foro "Gráficos" y no al de "Debates".

Te comento también que será difícil que alguien te proporcione toda una componente hecha. Si tienes dudas puntuales seguramente habrá alguien que te pueda auxiliar, pero nadia va a realizar tu trabajo. Si buscas una componente ya hecha hay lugares más adecuados como www.torry.net.

Si sigues los lineamientos de la guía de estilo te garantizo que tu experiencia en el Club será mucho más fructífera.

// Saludos

delphi.com.ar
23-04-2004, 23:20:33
Creo que no sería algo complicado de implementar, es mas, recuerdo habelo echo en el colegio. Tienes que tener en cuenta que en la pantalla los gráficos se dibujan por coordenadas, tendrías que mover en forma lógica los ejes que son el margen izquierdo e inferior de la pantalla, ejecutar en un ciclo una tabla de valores y ir haciendo un Canvas.LineTo de los resultados de la función para X e Y....

Saludos!

marcoszorrilla
23-04-2004, 23:32:02
Este hilo procede del Foro de debates y se ha movido por no corresponder al mismo.


Un Saludo.
|
|
\/

sanxpue
27-04-2004, 02:24:34
:confused: :confused:
no entiendo moderador marcos por que lo mandaste a debate??

me lo podrias explicar, bueno si quieres... :rolleyes:

jachguate
27-04-2004, 02:31:52
Este hilo procede del foro de debates...

Creo que quien debiera explicarte porque lo puso en debates es Gloria Lara. Marcos lo ha movido al foro de gráficos.

Hasta luego.

;)

sanxpue
27-04-2004, 02:34:29
es cierto.. perdon mi amigo marcos.. je perdon

fe de erratas.. no crees jeje je

gracias jachguate por ver mi error

marcoszorrilla
27-04-2004, 22:36:12
Ya veo que todo ha sido un error empezando por que el mensaje se puso en el foro que no correspondía y como "errare humanum est". Ego te absolvo.

Salutem.

sanxpue
27-04-2004, 22:58:43
Gracias por tu perdonnnn ¡¡¡ jejejeje, pero bueno creo que este hilo nada mas se uso para responder mi confusion no crees por que ni el interesado(a) ah dicho.."weno me van a ayudar o que"

DarkFilter
01-05-2004, 09:20:51
Un componente bastante bueno para graficar funciones es el RChart de <a href="http://www.lohninger.com/sdlindex.html">SDL Component Suite</a>, es muy fácil de usar. El problema, que si lo quieres completo lo debes comprar...sin embargo lo puedes descargar y te queda 100% operativo (obviamente no incluye el código fuente) con el "detalle" que cada vez que pasas el mouse por el componente aparece un hint que te dice que no está registrado.

dchaparro
19-05-2004, 03:17:48
Bueno, como no tenia nada que hacer, programe un pequeño procedimiento que grafica una funcion cuadratica.
Simplemente se crea un form, se ponen 5 edits, un TImage y un boton. Nombrar los Edits de la siguiente manera:
Edita,Editb,Editc,EditEscalax,EditEscalay y a la imagen le puse nombre: Hoja

En el OnClick del boton pegar el siguiente codigo:


procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,escx,escy,x,fx: Real;
origenx,origeny,i: integer;
begin
a:= StrToFloat(Edita.Text);//convierto los edits en numeros
b:= StrToFloat(Editb.Text);
c:= StrToFloat(Editc.Text);
escx:= StrToFloat(EditEscalax.Text);
escy:= StrToFloat(EditEscalay.Text);
with Hoja.Canvas do //Hoja es una TImage en este caso
begin
origenx:= Trunc(Hoja.Width/2); //establezco el origen (0,0) en la mitad de la hoja
origeny:= Trunc(Hoja.Height/2);
MoveTo(origenx,0); //dibujo los ejes
LineTo(origenx,Hoja.Height);
MoveTo(0,origeny);
LineTo(Hoja.Width,origeny);
for i:= 0 to Hoja.Width do //genero el grafico en todo el ancho de TImage
begin
x:= -escx + 2*escx*i/Hoja.Width; // simplemente observar los valores extremos de i
fx:= a*x*x + b*x + c; // fx es el valor de la ecuacion en el punto x, esta claro
if i = 0 then //La primera vez solo muevo
MoveTo(0,Trunc(origeny - fx*origeny/escy))
else
LineTo(i,Trunc(origeny - fx*origeny/escy));
end;
end;
end;


Esta funcion, grafica en la imagen una ecuacion cuadratica ax2+bx+c, donde a, b y c son los valores cargados en Edita,Editb y Editc.
En EditEscalax y EditEscalay pondremos los rangos que queremos visualizar, para los ejes x e y respectivamente.
Como se ve, no es muy dificil, ya que el programa ocupa tan solo una pantalla y claro que es mejorable a gusto del consumidor :p

Bueno, espero que sirva para algo.

PD: ingresando cero en "Edita", tendremos una ecuacion lineal ;)

PD2: podemos cambiar la linea: fx:= a*x*x + b*x + c;
por la funcion que deseemos, por ej fx:= sin(x); funciona a la perfección.

erickpch
04-06-2004, 00:07:51
Bueno si quieres un componente "simpatico" para tus necesidades vasta y sobra el XYGraph buscalo en Torry, es sencillo permite hacer zoom, introducir en el mismo gráfico rótulos, marcas, graficar n funciones a la vez y puedes exportar tu gráfico a dxf, es free mientras sea para uso académico. El codigo esta disponible y puedes modificarlo si necesitas, por ejemplo el original no tiene un método de impresión pero yo le agregue uno, en fin te lo recomiendo..