Java:
import java.awt.*;
import javax.swing.*;
public class Example1 extends JFrame
{
private int a,b,c;
public Example1(int a1,int b1,int c1)
{
a = a1;
b = b1;
c = c1;
setLocation(300, 300);
setSize(500, 500);
setTitle("Parabel");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g)
{
double xold=0, yold=0;
g.setColor(Color.black);
g.drawLine(0,250,500,250);//x - Achse
g.drawLine(250,0,250,500);//y - Achse
//Beginn PunkteGrid
for (int i= 50;i<250;i+=50){
for (int j = 50;j<250;j+=50){
g.drawOval(i,j,1,1);
}
}
for (int i= 300;i<500;i+=50){
for (int j = 50;j<250;j+=50){
g.drawOval(i,j,1,1);
}
}
for (int i= 50;i<250;i+=50){
for (int j = 300;j<500;j+=50){
g.drawOval(i,j,1,1);
}
}
for (int i= 300;i<500;i+=50){
for (int j = 300;j<500;j+=50){
g.drawOval(i,j,1,1);
}
}
//Beginn Linien
for (int i= 50;i<250;i+=50){
g.drawLine(245,i,255,i);
}
for (int i= 300;i<500;i+=50){
g.drawLine(245,i,255,i);
}
for (int i= 50;i<250;i+=50){
g.drawLine(i,245,i,255);
}
for (int i= 300;i<500;i+=50){
g.drawLine(i,245,i,255);
}
g.translate(250,250);//verschieben des Nullpunktes auf Bildmitte
double y=0;
final int pixel=50;
g.setColor(Color.red);
for(double x=-50;x<=50;x+=.1)
{
y=Math.pow(a,x)+b*x+c; //!!!!!!!!!!!
//y=a*x*x+b*x+c;
y*=-1;
if(x==-50)
{
xold=x;
yold=y;
}
g.drawLine((int)(xold*pixel),(int)(yold*pixel),(int)(x*pixel),(int)(y*pixel));
xold=x;
yold=y;
}
}
public static void main(String[] args)
{
Example1 p1 = new Example1(4,-6,2);
}
}
habe jetzt math.pow verwendet aber es kommt gegenüber der Form x*x zu Verschiebungen!!!
Code befindet sich an der Stelle mit den vielen !!!! im unteren Bereich der paint Methode und ist als Kommentar gesperrt.
Einfach wechseln, wer es testen will.
bin über den Unterschied überrascht.
???:L