public override void DrawRegionRepresentation(System.Drawing.Graphics gc, Render.RenderParameter r, Render.IDrawVisitor drawMethods, PointD mousePosition)
        {
            RectangleF bounds = m_Param.Path.GetBounds();
            for (double i = bounds.Width / (Render.DrawHelper.X_ARROWS + 1); i < bounds.Width; i += bounds.Width / (Render.DrawHelper.X_ARROWS + 1))
            {
                for (double j = bounds.Height / (Render.DrawHelper.Y_ARROWS + 1); j < bounds.Height; j += bounds.Height / (Render.DrawHelper.Y_ARROWS + 1))
                {
                    Point thePoint = new Point((int) (bounds.Left + i), (int) (bounds.Top + j));
                    if (m_Param.Path.IsVisible(thePoint))
                    {
                        Position.VirtualMousePosition mouse = new Position.VirtualMousePosition((Point)thePoint);
                        PointD vector = GetVelocity(mouse) * Render.DrawHelper.SPEED_AMPLIFIER * (m_Param.C + 0.1);
                        drawMethods.DrawArrow(gc, r, (PointD)thePoint, vector);
                    }
                }

            }
        }
 private void InternalRenderForces(System.Drawing.Graphics gc, FeedbackParameter r,  Render.IDrawVisitor drawMethods)
 {
     if (m_forces != null)
     {
         for (int i = 0; i < m_forces.Length; i++)
         {
             for (int j = 0; j < m_forces[i].Length; j++)
             {
                 drawMethods.DrawArrow(gc, r, new PointD(i * FORCE_GRID, j * FORCE_GRID), m_forces[i][j]);
             }
         }
     }
 }