gpt4 book ai didi

java在两条线的交点上画线

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:00 25 4
gpt4 key购买 nike

我有一个程序,我可以绘制两条线,当我选择这些线的起点和终点时,它会计算它们的相交点。我想从交点开始画一条线,正好在这两条线的中间。

example

我计算两条线之间的角度,如下所示:

double angle(Line pL1, Line pL2){
double angle = Math.toDegrees(Math.atan2(pL2.p1.y - pL1.p1.y, pL2.p1.x - pL1.p1.x));
if(angle < 0){
angle += 360;
}
return angle;
}

然后生成新行,如下所示:

    double newAngle = Math.toRadians(drawAngle);
System.out.println(newAngle);
double x = pI.x + 80 * Math.sin(newAngle);
double y = pI.y + 80 * Math.cos(newAngle);
Point2D.Double endPoint = new Point2D.Double(x,y);
Line l3 = new Line(pI,endPoint);

其中pI是交点。但是,该线最终总是面向错误的角度,我如何重写此代码,以便该线完全绘制在其他两条线之间,如上面的示例图片?

编辑:

输出:example2

最佳答案

我不知道你在用这个角度做什么,但我认为你想要的第二点是:

double y = 0.5*(pL2.p1.y + pL1.p1.y);
double x = 0.5*(pL2.p1.x + pL1.p1.x);

您计算的角度是通过每条线的第一个点绘制的线所形成的角度。这似乎不相关。

关于java在两条线的交点上画线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46564024/

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