Avatar
Echo
Člen
Avatar
Echo:

Ahoj, potřeboval bych pomoct s vykreslováním čar do časových průběhů. Čáry se mi generují náhodně, který jsou spojený, ale potřeboval bych je usměrnit do časových průběhů klopného obvodu...Nějak takhle:
__|°°°°|____|­°°°°°°°°|___ Tady je kód čáry:

public class line
        {
            public Line grafika3;
            public line(Grid rodic, int textCaraX1, int textCaraY1, int textCaraX2, int textCaraY2)
            {
                grafika3 = new Line();
                rodic.Children.Add(grafika3);

                grafika3.X1 = textCaraX1;
                grafika3.X2 = textCaraX2;
                grafika3.Y1 = textCaraY1;
                grafika3.Y2 = textCaraY2;
                //Hodnoty u bodů jsou brány z pozice myši na textCaraX1 atd...

                SolidColorBrush barva = new SolidColorBrush();
                barva.Color = Colors.Red;

                grafika3.StrokeThickness = 4;
                grafika3.Stroke = barva;

                grafika3.HorizontalAlignment = HorizontalAlignment.Left;
                grafika3.VerticalAlignment = VerticalAlignment.Top;
            }
        }
Tady je kód, který generuje t náhodné čáry, který bych potřeboval usměrnit do těch časových průběhů ;) :

List<line> lines;
Random random;

private void generovaniPrubehu_Click(object sender, RoutedEventArgs e)
        {
        lines = new List<line>();
             double[] values = new double[30]; // [X]


            for (int i = 0; i < values.Length; i++) // vygeneruje X náhodných čísel

                values[i] = random.NextDouble() * 2 - 1; //Generování náhodných hodnot; (0.0 - 1.0) * 2  - 1 ;

            const double height = 40;
             double stepWidth = Plocha.ActualWidth / (double)(values.Length - 1);

            double currX = 10;
            double centerY = 130;

           for (int i = 0; i < values.Length - 1; i++, currX += stepWidth)    //nakreslí X čar
             {

                lines.Add(new line(Plocha, (int)currX, (int)(centerY + (height * values[i])), (int)(currX + stepWidth),                         (int)(centerY + (height * values[i + 1]))));

             }
}

Děkuji předem za rady, který sem napíšete :)

 
Odpovědět 24. ledna 20:05
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 1 zpráv z 1.