Python函数求等边三角形的一点
Python function to find a point of an equilateral triangle
我正在尝试编写一个函数 equilateral(x, y):
需要两个 np.ndarrays of shape (N,)
,其中 x 和 y 是自然数和 returns 一个点 z an np.ndarray of shape (N,)
这样 ( x, y, z) 是等边三角形的顶点。
哪位请推荐一下。
为了获得第三个顶点,您可以将点 (x2, y2,...) 围绕点 (x1, y1,...) 旋转 60 度。另一个可接受的解决方案将通过旋转 -60 度获得,即在相反的方向上。
所以只需将 y 绕 x 旋转 60/-60 度,您就得到了第 3 个坐标。
您可以使用以下程序实现此目的。
如果点之间的距离相等,您还可以将代码扩展为 test。
import numpy as np
def equilateral(x, y):
v_x = (x[0]+y[0]+np.sqrt(3)*(x[1]-y[1]))/2 # This computes the `x coordinate` of the third vertex.
v_y = (x[1]+y[1]+np.sqrt(3)*(x[0]-y[0]))/2 #This computes the 'y coordinate' of the third vertex.
z = np.array([v_x, v_y]) #This is point z, the third vertex.
return z
我正在尝试编写一个函数 equilateral(x, y):
需要两个 np.ndarrays of shape (N,)
,其中 x 和 y 是自然数和 returns 一个点 z an np.ndarray of shape (N,)
这样 ( x, y, z) 是等边三角形的顶点。
哪位请推荐一下。
为了获得第三个顶点,您可以将点 (x2, y2,...) 围绕点 (x1, y1,...) 旋转 60 度。另一个可接受的解决方案将通过旋转 -60 度获得,即在相反的方向上。
所以只需将 y 绕 x 旋转 60/-60 度,您就得到了第 3 个坐标。
您可以使用以下程序实现此目的。 如果点之间的距离相等,您还可以将代码扩展为 test。
import numpy as np
def equilateral(x, y):
v_x = (x[0]+y[0]+np.sqrt(3)*(x[1]-y[1]))/2 # This computes the `x coordinate` of the third vertex.
v_y = (x[1]+y[1]+np.sqrt(3)*(x[0]-y[0]))/2 #This computes the 'y coordinate' of the third vertex.
z = np.array([v_x, v_y]) #This is point z, the third vertex.
return z