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