Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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_Geometry - Fatal编程技术网

Java 如何求直线的反切线?

Java 如何求直线的反切线?,java,math,geometry,Java,Math,Geometry,我有一条线(x1,y1)和(x2,y2)。我想用tan倒数来求这条线的角度,在java中我该怎么做 我想看看这条线相对于x1,y1的角度是多少 数学toDegrees(数学atan((y2-y1)/(x2-x1))) 注意x1=x2时的异常情况。这篇文章有一个使用atan()的例子 使用该函数。它类似于arctan,但知道x和y坐标,因此它可以处理水平、垂直或指向其他方向的直线——arctan的-pi/2到pi/2范围不会为某些直线提供正确答案。该函数有助于解决此问题,同时避免边界条件,如被零除

我有一条线(x1,y1)和(x2,y2)。我想用tan倒数来求这条线的角度,在java中我该怎么做

我想看看这条线相对于x1,y1的角度是多少

数学toDegrees(数学atan((y2-y1)/(x2-x1)))

注意x1=x2时的异常情况。

这篇文章有一个使用atan()的例子

使用该函数。它类似于arctan,但知道x和y坐标,因此它可以处理水平、垂直或指向其他方向的直线——arctan的-pi/2到pi/2范围不会为某些直线提供正确答案。

该函数有助于解决此问题,同时避免边界条件,如被零除

Math.atan2(y2-y1, x2-x1)

一条线本身没有角度,除非它与某个东西有关。你的参考点是什么?0,0?编辑我的问题使其成为clearer@Meow,直线与直线上的点之间不存在角度;你指的是@stacker的回答中概述的内容吗?@Troubadour:因为不是每个人都像这里的人说的“你还没有定义这个问题”那样直言不讳。大多数人都读过关于(x1,y1)和(x2,y2)的部分,并假设提问者谈论的角度是直线和x轴之间的角度。这真的很明显。@JeremyP:我不同意。看看昨天才被问到的。当第一次问这个问题时,听起来好像他们想知道两个向量之间的角度,事实上,这是问题的原始标题,但文本中没有如此微妙的指针来反驳这一点。在人们“做出假设”的情况下给出了许多答案,这些假设被证明是不相关的。使用atan2可以避免这种情况。为什么会返回负角度?因为atan返回的值介于(-Pi/2,Pi/2)之间。使用Math.atan2()。似乎它可以处理Math.atan使用中的问题。若你们需要正值,若收到负值,只需加上2*Pi。链接现在断开了