zoukankan      html  css  js  c++  java
  • javascript earcut

    THREE.Earcut = {
    
        triangulate: function ( data, holeIndices, dim ) {
    
            dim = dim || 2;
    
            const hasHoles = holeIndices && holeIndices.length;
            const outerLen = hasHoles ? holeIndices[ 0 ] * dim : data.length;
            let outerNode = linkedList( data, 0, outerLen, dim, true );
            const triangles = [];
    
            if ( ! outerNode || outerNode.next === outerNode.prev ) return triangles;
    
            let minX, minY, maxX, maxY, x, y, invSize;
    
            if ( hasHoles ) outerNode = eliminateHoles( data, holeIndices, outerNode, dim );
    
            // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
            if ( data.length > 80 * dim ) {
    
                minX = maxX = data[ 0 ];
                minY = maxY = data[ 1 ];
    
                for ( let i = dim; i < outerLen; i += dim ) {
    
                    x = data[ i ];
                    y = data[ i + 1 ];
                    if ( x < minX ) minX = x;
                    if ( y < minY ) minY = y;
                    if ( x > maxX ) maxX = x;
                    if ( y > maxY ) maxY = y;
    
                }
    
                // minX, minY and invSize are later used to transform coords into integers for z-order calculation
                invSize = Math.max( maxX - minX, maxY - minY );
                invSize = invSize !== 0 ? 1 / invSize : 0;
    
            }
    
            earcutLinked( outerNode, triangles, dim, minX, minY, invSize );
    
            return triangles;
    
        }
    
    };
    var triangles = THREE.Earcut.triangulate([10,0, 0,50, 60,60, 70,10]);

    参考:https://github.com/mapbox/earcut

    #######################################

    QQ 3087438119
  • 相关阅读:
    两个Stirng[]拼接成一个数组
    Visual code 常用快捷键
    mysql 中的分页limit
    移动端web轮播图插件swiper,功能很强大
    array_splice()函数 ,删除数组中的某个值
    Github简单的上传和修改
    PHP数组在循环的时候修改本身的值
    IP定位,天气接口
    使用百度翻译的API接口
    laravel 队列
  • 原文地址:https://www.cnblogs.com/herd/p/15769559.html
Copyright © 2011-2022 走看看