python - 在 python 中使用 Sin-1 或反 sin

标签 python math python-3.x trigonometry

这是我的代码:

# point of intersection between opposite and hypotenuse

x,y  =    pygame.mouse.get_pos()


# using formula for length of line

lenline1 = (x-x)**2 + (300-y)**2
lenline2 = (x-700)**2 + (y-300)**2

opposite = math.sqrt(lenline1)

adjacent = math.sqrt(lenline2)

# Converting length of lines to angle

PQ = opposite/adjacent
k = math.sin(PQ)
j = math.asin(k)

print(j)  

我没有得到我预期的结果,尽管经过一番尝试后我已经接近了,但它不太正确。有人可以告诉我我做错了什么吗?我有两行: 相对且相邻 我希望使用 sin 的倒数得到角度。我究竟做错了什么。我只是一个初学者,所以不要提供太详细的信息。我无法想象这很难做到。

谢谢。

最佳答案

要查找两条线之间的角度,请使用以下关系:

cos(angle) = (l1 dot l2) / (|l1| |l2|)

也就是说,

dotproduct = l1x * l2x + l1y * l2y
lenproduct = |l1| * |l2|
angle = acos(dotproduct / lenproduct)

其中 l1x、l1y 是线 l1 的 x、y 分量。

关于python - 在 python 中使用 Sin-1 或反 sin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435856/

相关文章:

algorithm - O(n^2) 与 O(n(logn)^2)

python - 如何精确求解具有大整数系数(超过整数)的二次方程?

python - 如何在 python 中编写数学公式

python - 如何在 PyQT5 中为 QPlainTextEdit(或任何其他组件)实现关键监听器

python - 如何在Python中实现描述符

python-3.x - 如果所有值都等于 1,则在 pandas 中删除一列?

python - 如何使用python发送rest API(Google Vision的API)请求?

python - 仅在构造函数中声明成员

python - kivy:为什么我不能改变矩形的颜色?

python - Flask 应用程序结构中的模块错误