Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Zdravím všechny, dělám aplikaci na vykreslování několika funkcí (Sinusovka, parabola,...). Mám problém s funkcí x3. Souřadnice se spočítají dobře, ale mě z neznámého důvodu se to vykresluje špatně. V programu se zadává rozsah X, tedy dolní mez a horní mez grafu (např. -100 ; 100). Z příkladu by se graf měl "plazit těsně u osy X a poté v záporné a kladné ose Y "vyletět" prudce nahoru.
Znázorním to velmi zjednodušeným kódem. V aplikaci používám delegáty.

// Výpočet funkce
y=(x*x*x);

// Vypočtné souřadnice dává do listu, tedy
pozice.Add(new PointF(x,y);

// nakonec vykreslení
Graphics g = this.CreateGraphics();
Pen pen_graf = new Pen(Color.Red);

for (int i = 0; i < pozice.Count - 1; i++)
{
  g.DrawLine(pen_graf, pozice[i].X+400, pozice[i].Y+300,  pozice[i + 1].X+400, pozice[i + 1].Y+300);
}

K souřadnicím přičítám střed obrazovky - form má výšku 600 a šířku 800.
Všechny vypočtené souřadnice si ještě vypisuju do konzole a jsou vypočtené správně. Pokud zadám rozsah 5;5 nebo 100;100 graf vypadá stejně až na dýlku "ramen" v ose Y. Tedy po ose X se "plazí" úplně stejně. Cca 5 bodů a poté začne stoupat/klesat.

Díky moc za nějakou radu

Odpovědět 22.12.2012 14:03
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Ach já blbec :` Únava dělá divy :D. To co jsem napsal je strašná blbost. Mám to samozřejmě dobře. "Plazení" po ose X určuje exponent. No, klidně to hned smažte. Omlouvám se

Nahoru Odpovědět 22.12.2012 14:07
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Mediel
Redaktor
Avatar
Mediel:

Na grafy je asi lepsi pouzit nejakou knihovnu, ne? :-)

Editováno 24.12.2012 13:48
Nahoru Odpovědět 24.12.2012 13:47
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.