标签: computational-geometry

给定n个随机分布在正方形中的点,找到每个点所占的面积

给定在[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)}.

我无法提出任何有效的方法.有帮助吗?

algorithm geometry computational-geometry

-1
推荐指数
1
解决办法
480
查看次数

计算两个三角形的相交面积

我一直试图找到一种算法来计算两个三角形的相交面积,但我没有找到。任何人都可以提供如何编写这个算法的线索吗?

我想要类似的东西:

  double getAreaOfIntersection(Vector2 p1,Vector2 p2, Vector2 p3,Vector2 p4,Vector2 p5,Vector2 p6 )
Run Code Online (Sandbox Code Playgroud)

其中 pX 代表 2 个三角形。

algorithm math geometry computational-geometry

-1
推荐指数
1
解决办法
3667
查看次数

将线转换为“矩形蛇”。帆布。JavaScript

可能有人知道用于画布绘制的良好JavaScript库或框架。

我有以下问题:

1)徒手画一些线(如Paint/Photoshop铅笔)

2)需要将线转换为“矩形蛇”(使用固定宽度的矩形构建线)

看截图 在此输入图像描述

对于这个问题,使用什么样的库会更好?可能某种库已经具有此功能?

我的意思是需要以下功能:

  • 线近似

  • 样条分离

  • 将线转换为多边形/形状/对象

如果有人能帮助我,那就太好了。谢谢!

html javascript canvas computational-geometry bspline

-1
推荐指数
1
解决办法
938
查看次数

大约将图像上的线分类为垂直或水平

假设我有用于与提取的行的坐标的列表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)

python math opencv image-processing computational-geometry

-1
推荐指数
1
解决办法
63
查看次数

如何在3D中计算任意形状的中心?

我想知道在3D中找到任意形状中心的准确方法.在图中,我已经解释了3个案例.

  1. 在第一种情况下,我们如何计算任意点的中心?一个想法是所有点的总和除以总点数.这是唯一的方法,它是否准确?

  2. 第二是如何计算3D中不规则任意形状的近似中心?这是1的相同情况吗?

  3. 我们如何计算由任意顶点组成的弯曲/弯曲管的中心线?对于这个问题,我们必须先解决两个案例吗?

在此输入图像描述

c++ opengl math 3d computational-geometry

-3
推荐指数
1
解决办法
1153
查看次数