Hallo
ich arbeite mit der Software Microsoft Visual C# 2010 Express. Ich wollte einen Funktionsplotter erstellen. Dabei ist folgendes Problem aufgetreten: Meine Programm sagt mir, dass ich die Funktion "g.DrawLine(Rot,(rechne+Width/2),(rechne2+Height/2),(rechne+Height/2),(rechne2+Width/2));" überladen habe. Deshalb wollte ich fragen, was ich falsch gemacht habe und/ oder ob es eine andere Möglichkeit gibt den Funktioinsgraphen zeichen zulassen.
ich arbeite mit der Software Microsoft Visual C# 2010 Express. Ich wollte einen Funktionsplotter erstellen. Dabei ist folgendes Problem aufgetreten: Meine Programm sagt mir, dass ich die Funktion "g.DrawLine(Rot,(rechne+Width/2),(rechne2+Height/2),(rechne+Height/2),(rechne2+Width/2));" überladen habe. Deshalb wollte ich fragen, was ich falsch gemacht habe und/ oder ob es eine andere Möglichkeit gibt den Funktioinsgraphen zeichen zulassen.
Code:
namespace Funktionsplotter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double a, b, c, d, x, rechne, rechne2;
Graphics g;
Pen Schwarz = new Pen(Color.Black, 1);
Pen Rot = new Pen(Color.Red, 1); // für die Funktion
Pen Grau = new Pen(Color.Gray, 1);// für das Gitter
private void panel1_Paint(object sender, PaintEventArgs e)
{
g = panel1.CreateGraphics();
}
private void btnZeichnen_Click(object sender, EventArgs e)
{
g.DrawLine(Schwarz, 0, (panel1.Height / 2), panel1.Width, (panel1.Height / 2));
g.DrawLine(Schwarz, (panel1.Width / 2), 0, (panel1.Width / 2), panel1.Height);
for (int i = 0; i <= panel1.Height; i = i + 10)
{
g.DrawLine(Schwarz, ((panel1.Width / 2) - 5), i, ((panel1.Width / 2) + 5), i); //zeichnet linien in der senrechten in 10 Pixel abstand
}
for (int i = 0; i <= panel1.Width; i = i + 10)
{
g.DrawLine(Schwarz, i, ((panel1.Height / 2) - 5), i, ((panel1.Height / 2) + 5));
}
//f(x)=y=a*x^3+ b*x^2+c*x+d
a = Convert.ToDouble(txtA.Text);
b = Convert.ToDouble(txtB.Text);
c = Convert.ToDouble(txtC.Text);
d = Convert.ToDouble(txtD.Text);
// Für die Berechnung der X Koordnaten
rechne = (a*a*a)+(b*b)+(c*1)+d;
// Für die Berechnung der Y Koordnaten
rechne2= ((a*a*a)*(-1))+((b*b)*(-1))+((c*1)*(-1))+d*(-1);
g.DrawLine(Rot,(rechne+Width/2),(rechne2+Height/2),(rechne+Height/2),(rechne2+Width/2));
}