相关疑难解决方法(0)

计算两点之间的角度(顺时针)

我一直没有使用数学,这应该是一个简单的问题需要解决.

假设我有两个点A:(1,0)和B:(1,-1).

我想使用程序(Python或任何编程语言)来计算A,原点(0,0)和B之间的顺时针角度.它将是这样的:

angle_clockwise(point1, point2)
Run Code Online (Sandbox Code Playgroud)

请注意,参数的顺序很重要.由于角度计算将是顺时针的:

  • 如果我调用angle_clockwise(A,B),则返回45.
  • 如果我调用angle_clockwise(B,A),则返回315.

换句话说,算法是这样的:

  1. 在第一个点参数和(0,0)之间画一条线(第1行).
  2. 在第二个点参数和(0,0)之间画一条线(第2行).
  3. 顺时针旋转第1行(0,0),直到它与第2行重叠.
  4. 行进的角距离线1将是返回的角度.

有没有办法编码这个问题?

python math angle

16
推荐指数
4
解决办法
4万
查看次数

Matplotlib图像作为一个numpy数组

我正在尝试从Matplotlib图中获取一个numpy数组图像,我现在正在通过保存到文件,然后重新读取文件来实现它,但我觉得必须有更好的方法.这就是我现在正在做的事情:

from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure

fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.gca()

ax.text(0.0,0.0,"Test", fontsize=45)
ax.axis('off')

canvas.print_figure("output.png")
image = plt.imread("output.png")
Run Code Online (Sandbox Code Playgroud)

我试过这个:

image = np.fromstring( canvas.tostring_rgb(), dtype='uint8' )
Run Code Online (Sandbox Code Playgroud)

从我发现的一个例子,但它给我一个错误,说'FigureCanvasAgg'对象没有属性'渲染器'.

python numpy matplotlib

15
推荐指数
5
解决办法
2万
查看次数

最小的圆环

我有一个未加权的无向连通图.通常,它是一种具有大量循环的化合物.这个问题在这个领域很常见,就像标题所说的那样.好的算法是Horton的算法.但是,我似乎没有逐步找到有关该算法的任何确切信息.

显然我的问题是这个,用于在图中查找最小周期的算法,但不幸的是,禁用了该站点的链接.我只发现了Figueras算法的python代码,但Figuearas在每种情况下都不起作用.有时它找不到所有戒指.问题与此类似,在无向图中查找所有无弦循环,我尝试过但不适用于像我这样的更复杂的图形.我找到了4-5个所需信息的来源,但该算法根本没有完全解释.

我似乎没有找到任何SSSR算法,虽然它似乎是一个常见的问题,主要是在化学领域.

algorithm graph chemistry

7
推荐指数
1
解决办法
612
查看次数

标签 统计

python ×2

algorithm ×1

angle ×1

chemistry ×1

graph ×1

math ×1

matplotlib ×1

numpy ×1