Делает у любого есть алгоритм для привлечения стрелки посреди данной строки. Я искал Google, но не нашел хорошей реализации.
P.S. Я действительно не возражаю против языка, но было бы замечательно, если бы это был Java, так как это - язык, который я использую для этого.
Заранее спасибо.
Вот функция для рисования стрелки с острием в точке p. Вы должны установить это в середине вашей линии. dx и dy - направление линии, которое задается формулами (x1 - x0, y1 - y0). Это даст стрелку, масштабируемую по длине линии. Нормализуйте это направление, если хотите, чтобы стрелка всегда была одного размера.
private static void DrawArrow(Graphics g, Pen pen, Point p, float dx, float dy)
{
const double cos = 0.866;
const double sin = 0.500;
PointF end1 = new PointF(
(float)(p.X + (dx * cos + dy * -sin)),
(float)(p.Y + (dx * sin + dy * cos)));
PointF end2 = new PointF(
(float)(p.X + (dx * cos + dy * sin)),
(float)(p.Y + (dx * -sin + dy * cos)));
g.DrawLine(pen, p, end1);
g.DrawLine(pen, p, end2);
}