Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何在给定中点和另一个端点的情况下获取一行的端点_Java_Math - Fatal编程技术网

在Java中,如何在给定中点和另一个端点的情况下获取一行的端点

在Java中,如何在给定中点和另一个端点的情况下获取一行的端点,java,math,Java,Math,我知道如何做纸上的数学,但我正在努力找出如何考虑潜在的负值 给定2个位置:端点(x1,y1)和中点(x2,y2) 找到另一个端点位置你可以使用这两点来找到直线方程(y=mx+b),通过找到你知道的直线部分的长度(Sqrt(x^2+y^2)),然后在正x方向上为你找到的长度画一条直线。我会评论,但我的代表太低了。如果没有代码,就很难判断。你需要做的是区分两者之间的绝对距离,根据两者之间的距离是负数还是正数来确定方向,然后进行数学运算 Example: x1 = 2, x2 = 0, y1 = 0,

我知道如何做纸上的数学,但我正在努力找出如何考虑潜在的负值

给定2个位置:端点(x1,y1)和中点(x2,y2)
找到另一个端点位置

你可以使用这两点来找到直线方程(y=mx+b),通过找到你知道的直线部分的长度(Sqrt(x^2+y^2)),然后在正x方向上为你找到的长度画一条直线。

我会评论,但我的代表太低了。如果没有代码,就很难判断。你需要做的是区分两者之间的绝对距离,根据两者之间的距离是负数还是正数来确定方向,然后进行数学运算

Example: x1 = 2, x2 = 0, y1 = 0, y2 = 0
   distance = -2x, 0y
   x2 - 2 = -2 = x3
   y3 = 0
如果你给我们看一些代码,会更容易,但换句话说,只要找到x1和x2之间的距离,就可以得到x2和x3之间的距离。对y做同样的事

Point2D endpoint; //defined elsewhere
Point2D midpoint; //defined elsewhere

Point2D otherend = new Point2D(endpoint.getX() + 2 * (midpoint.getX() - endpoint.getX()),
                               endpoint.getY() + 2 * (midpoint.getY() - endpoint.getY()));

(对不起,我第一次犯了个愚蠢的错误。)

作业。。。?这样标记。@RickMangi作业标签是。@MrSnare你能举例说明你在纸上的方法吗?它如何影响你最近的负数计算?为什么你认为负数是个问题?这不是家庭作业。这是一个采矿工程。我有两个实体位置(让我们称它们为“MrSnare”和“player”)。如果MrSnare的位置和玩家的位置在一条线上,玩家的位置是中点。这条线的另一个端点是什么?这不是一个简单的数学问题吗?它与Java有什么关系?不需要平方根。但是如果x2=3 x2-x1是3-2=1 x3应该是4而不是1,那么它将是3+1,即=4。它不是x2-x1,它是x2+(x2-x1)哦,好的。这就是我失败的地方。谢谢你的帮助,就这样。非常感谢你。每当我处理图形或图形问题时,我都不能把我的头脑集中在它上面,因为我手头有图形纸。这个问题实际上只是直线如何工作的一个基本应用——距离公式是不必要的,因为我们只关心x和y方向的差异,因为我们有一个中点,所以我们想把这些距离加倍。事实证明,对负面影响的担忧不是问题,这同样是因为斜坡是如何工作的。不管怎样,很高兴我能帮上忙。(在匆忙中,我自己犯了几个非常简单的错误。)