给定在[0,1]×[0,1]中随机分布的n个点,我尝试将每个点分配给最接近该点的点的区域.
更正式如下:
给定[0,1]×[0,1]中的n个点(x 1,x 2,... x n),为每个x j分配一个等于点集{z |的度量值的值.对于(1,2,... n)中的所有i,d(z,x j)≤d(z,x i)}.
我无法提出任何有效的方法.有帮助吗?
我一直试图找到一种算法来计算两个三角形的相交面积,但我没有找到。任何人都可以提供如何编写这个算法的线索吗?
我想要类似的东西:
double getAreaOfIntersection(Vector2 p1,Vector2 p2, Vector2 p3,Vector2 p4,Vector2 p5,Vector2 p6 )
Run Code Online (Sandbox Code Playgroud)
其中 pX 代表 2 个三角形。
可能有人知道用于画布绘制的良好JavaScript库或框架。
我有以下问题:
1)徒手画一些线(如Paint/Photoshop铅笔)
2)需要将线转换为“矩形蛇”(使用固定宽度的矩形构建线)
对于这个问题,使用什么样的库会更好?可能某种库已经具有此功能?
我的意思是需要以下功能:
线近似
样条分离
将线转换为多边形/形状/对象
如果有人能帮助我,那就太好了。谢谢!
假设我有用于与提取的行的坐标的列表cv2.HoughLinesP从边缘掩模从获得的cv2.Canny边缘检测器。
lines = [[x1,y1,x2,y2] , ... ]
Run Code Online (Sandbox Code Playgroud)
如果一条线的斜率在±60?以内,则将其分类为水平线。水平方向的 所有其他斜坡均被丢弃。
如果一条线的斜率在±5?以内,则将其分类为垂直线。垂直方向。所有其他斜坡均被丢弃。
import numpy as np
import cv2
def detect_line_angle(line):
x1, y1, x2, y2 = line
angle = np.arctan2(x2 - x1, y2 - y1)
# angle = angle * 180 / 3.14
return angle
def get_lines_from_edge_mask(edge_mask):
result = []
lines = cv2.HoughLinesP(edge_mask, 1, np.pi / 180, 30, maxLineGap=5)
for line in lines:
result.append(line[0])
return result
def is_horizontal(theta, delta=1.05):
return True if (np.pi - delta) <= theta …Run Code Online (Sandbox Code Playgroud) 我想知道在3D中找到任意形状中心的准确方法.在图中,我已经解释了3个案例.
在第一种情况下,我们如何计算任意点的中心?一个想法是所有点的总和除以总点数.这是唯一的方法,它是否准确?
第二是如何计算3D中不规则任意形状的近似中心?这是1的相同情况吗?
我们如何计算由任意顶点组成的弯曲/弯曲管的中心线?对于这个问题,我们必须先解决两个案例吗?
