/// <summary> /// Renders the graph. /// </summary> public void Render(bool drawIsolines) { DrawSurface(TargetPictureBox.Image, pad, drawIsolines); DrawAxis(TargetPictureBox.Image, pad, 5); // redraw graph TargetPictureBox.Invalidate(); }
private void TimerTick(object sender, EventArgs e) { for (int i = 0; i < Balls.Length; i++) { Ball ball = Balls[i]; ball.Move(Timer.Interval / 1000.0); // Чи дотикається кулька до вернього краю. if (ball.Center.Y <= ball.Radius) { BallTouchedSide(ball, new BallTouchedSideArgs(Sides.Top, ball.Center.Y, Vector.AngleBetweenVectors(ball.Speed, new Vector(1, 0)))); } // Чи дотикається кулька до нижнього краю. if (ball.Center.Y >= (Size.Height - ball.Radius)) { BallTouchedSide(ball, new BallTouchedSideArgs(Sides.Bottom, Size.Height - ball.Center.Y, Vector.AngleBetweenVectors(ball.Speed, new Vector(1, 0)))); } // Чи дотикається кулька до лівого краю. if (ball.Center.X <= ball.Radius) { BallTouchedSide(ball, new BallTouchedSideArgs(Sides.Left, ball.Center.X, Vector.AngleBetweenVectors(ball.Speed, new Vector(0, 1)))); } // Чи дотикається кулька до правого краю. if (ball.Center.X >= (Size.Width - ball.Radius)) { BallTouchedSide(ball, new BallTouchedSideArgs(Sides.Right, Size.Width - ball.Center.X, Vector.AngleBetweenVectors(ball.Speed, new Vector(0, 1)))); } for (int k = 0; k < Balls.Length; k++) { if (k == i) { continue; } // Чи дотикається кулька до інших куль. if (ball.IsIntersected(Balls[k])) { BallTouchedToBall(ball, new BallTouchedToBallArgs(ball, Balls[k])); } } } // Перемалювання компоненти. TargetPictureBox.Invalidate(); }
private void TargetChanged() { StatsTextBox.Text = p.Stats(); TargetPictureBox.Load(p.TargetPhoto.FilePath); }