通过顶点数组多边形检索多边形边

时间:2016-02-28 08:00:39

标签: geometry

如果给出四个2d顶点,array1
如何检索多边形的所有边,如下所示?

$('#upload-avatar').on('click', function(){
        $.upload({
            name: '<?php echo config('fileFormName') ?>[]',
            url: 'ec.php?obj=file&action=upload',
            accept: 'image/*',
            preview: '#avatar',
            success: function(imgUrl){
                console.log(imgUrl);
                $('#submit-avatar, #giveup-avatar').siblings('a').fadeIn('normal');
            }
        });
    });

如果我计算出可以制作的所有线段, 会有一些像(0, 0), (0, 2), (3, 0), (4, 5)这样的对角线段会导致错误。

如何只检索一般多边形的侧面片段?

2 个答案:

答案 0 :(得分:0)

将顶点写入数组:

           col1     col2
        -------------------
row1    | A(0,0) | B(0,2) |
        -------------------
row2    | C(3,0) | D(4,5) |
        -------------------

当它们属于同一行或列时,顶点通过段(不是对角线)连接。例如。 A和C是连接的,因为它们在col1中,与C和D(row2)相同。 B和C未连接,因为它们具有不同的列和不同的行。

答案 1 :(得分:0)

如果点顺序正确,那么多边形的第i个边连接第i个顶点和(i + 1)个,最后一个边连接(N-1)个顶点和第0个顶点。伪代码:

for i = 0.. N - 2
   Edges[i][0] = Points[i];
   Edges[i][1] = Points[i + 1];
Edges[N-1][0] = Points[N-1];
Edges[N-1][1] = Points[0];

(可以加入for循环中的所有操作但是失去一些清晰度