gpt4 book ai didi

algorithm - 在线算法上绘制箭头

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:54 25 4
gpt4 key购买 nike

有没有人有在给定线的中间绘制箭头的算法。我搜索了谷歌,但没有找到任何好的实现。

附言我真的不介意语言,但如果是 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);
}

关于algorithm - 在线算法上绘制箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3010803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com