Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
BF extended 2022
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:22.12.2012 14:03

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
Tvůrce
Avatar
Petr Nymsa:22.12.2012 14:07

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
Tvůrce
Avatar
Mediel:24.12.2012 13:47

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.