相关疑难解决方法(0)

如何确定一个点是否在二维三角形中?

有没有一种简单的方法来确定一个点是否在三角形内?它是2D,而不是3D.

algorithm math geometry

237
推荐指数
13
解决办法
21万
查看次数

如何在任何给定三角形上使用Pick定理

所以我想计算任何给定三角形内的点数.我知道我必须使用Pick的定理,但是我的代码最终会被大量的if-else if语句用于测试每个案例.我一直用这个作为指导在形成三角形的三个点内有多少个整数点?,但最终得到这个(顶点是一个由3个数组组成的数组.每个数组是三角形顶点的(x,y)坐标):

    int maxX = Math.max(Math.max(vertices[0][0], vertices[1][0]), vertices[2][0]),
        minX = Math.min(Math.min(vertices[0][0], vertices[1][0]), vertices[2][0]),
        maxY = Math.max(Math.max(vertices[0][1], vertices[1][1]), vertices[2][1]),
        minY = Math.min(Math.min(vertices[0][1], vertices[1][1]), vertices[2][1]);

    int height = Math.abs(maxY - minY),
        width = Math.abs(maxX - minX);

    double area = Math.abs(((vertices[0][0] * (vertices[1][1] - vertices[2][1]
                   )) + (vertices[1][0] * (vertices[2][1] - vertices[0][1]))
                   + vertices[2][0] * (vertices[0][1] - vertices[1][1])) / 2);


    if ((vertices[0][0] == vertices[1][0]) && (vertices[0][1] == vertices[2][1]))
    {
        area = ((Math.abs(vertices[0][1] - vertices[1][1]) - 1) *
                   (Math.abs(vertices[0][0] - vertices[2][0]) - …
Run Code Online (Sandbox Code Playgroud)

java algorithm

5
推荐指数
1
解决办法
413
查看次数

标签 统计

algorithm ×2

geometry ×1

java ×1

math ×1