Grafico 2D

Delphi

03/03/2004

Olá a todos.

Preciso de uma grande ajuda. Tenho que fazer um trabalho para a faculdade que consiste em um programa estilo matlab, onde o usuário digita umadeterminada função e em seguida, geramos o gráfico.
Tudo bem,..... fiz o esquema de entrada da função utilizando um parser e os cálculos estão sendo feitos corretamente.....
No entanto estou sentindo uma grande dificuldade em gerar o gráfico....
Para isso estou usando o camponente PaintBox para desenha pixels.... Já perguntei ao meu professor e demonstrei a lógica,..... ele disse que está correta mas não consegue entender pq não está funcionando no delphi.
quando testo com uma equação do promeiro grau por exemplo X +1 ele deveria gerar uma reta.... mas ele não a completa por total.... já até passei todos os valores gerado para um memo para verificar se estavam sendo gerados corretamentes e estão.. mas o desenho não sai:

abaixo segue o código que usei para gerar o grafico:
Olá a todos.

Preciso de uma grande ajuda. Tenho que fazer um trabalho para a faculdade que consiste em um programa estilo matlab, onde o usuário digita umadeterminada função e em seguida, geramos o gráfico.
Tudo bem,..... fiz o esquema de entrada da função utilizando um parser e os cálculos estão sendo feitos corretamente.....
No entanto estou sentindo uma grande dificuldade em gerar o gráfico....
Para isso estou usando o camponente PaintBox para desenha pixels.... Já perguntei ao meu professor e demonstrei a lógica,..... ele disse que está correta mas não consegue entender pq não está funcionando no delphi.
quando testo com uma equação do promeiro grau por exemplo X +1 ele deveria gerar uma reta.... mas ele não a completa por total.... já até passei todos os valores gerado para um memo para verificar se estavam sendo gerados corretamentes e estão.. mas o desenho não sai:

abaixo segue o código que usei para gerar o grafico:

var
I : Integer;
Y, j : Double;
begin
MyParser.Optimize := True; //parametros do parser
I := MyParser.AddExpression(Str); //passando a funçao para o parser
j := -100; //intervalo inicial
while j < 101 do //100 é o intervalo final
begin
X := j; //X é uma vaiável reconhecida pelo parser
//calcula o valor de y
Y := MyParser.AsFloat[I]; //calculando valor de Y
//desenha pontos na tela
pbPlot.Canvas.Pixels[(pbPlot.ClientWidth div 2) + round(X),(pbPlot.ClientHeight div 2) - round(Y)]:= cor;
j := j + 1;
end;
end;

Por favor,,,, se puderem me ajudar,,, indiquem alguma referência etc....

Obrigado
  
 var 
   I  : Integer; 
   Y, j : Double; 
 begin 
  MyParser.Optimize := True; //parametros do parser 
   I := MyParser.AddExpression(Str); //passando a funçao para o parser 
   j := -100; //intervalo inicial 
   while j < 101 do //100 é o intervalo final 
     begin 
     X := j; //X é uma vaiável reconhecida pelo parser 
     //calcula o valor de y 
     Y := MyParser.AsFloat[I]; //calculando valor de Y 
     //desenha pontos na tela 
     pbPlot.Canvas.Pixels[(pbPlot.ClientWidth div 2) + round(X),(pbPlot.ClientHeight div 2) - round(Y)]:= cor; 
     j := j + 1; 
     end; 
 end; 
  

Por favor,,,, se puderem me ajudar,,, indiquem alguma referência etc....

Obrigado
[code:1:8ccc3798c1][/code:1:8ccc3798c1]

[b:8ccc3798c1][color=red:8ccc3798c1]Título editado pelo Moderador (AZ) - Removido: ´(Osso) por favor´[/color:8ccc3798c1][/b:8ccc3798c1]


Galouco

Galouco

Curtidas 0
POSTAR