Giter VIP home page Giter VIP logo

three-utils-simple-example's Introduction

An simple example of smooth GeoJSON and Loop Subdivision

Steps

pnpm i
pnpm dev

Loop Subdivision

// ...
const geo = new THREE.BoxGeometry(10, 10, 10)
const subdividedGeo = loopSubdivide(geo.toNonIndexed(), params)
subdividedBox.geometry = subdividedGeo
// ...
  • before

  • after

Simplify GeoJSON

// ...
const group = new THREE.Group()
const simplified = simplifyGeo(geoJson)

simplified.features.forEach(feature => {
    const geometry = feature.geometry as Polygon
    const projection = d3
        .geoMercator()
        .center(feature.properties?.center as [number, number] ?? [0, 0])
        .translate([0, 0])
    geometry.coordinates.forEach((line) => {
        const positions: number[] = []
        line.forEach(position => {
            const proj = projection(position as [number, number]) || [0, 0]
            const [x, y] = proj
            positions.push(x, -y, 0)
        })
        const geo = new LineGeometry()
        geo.setPositions(positions)
        const mesh = new Line2(geo, mat)
        mesh.computeLineDistances()
        group.add(mesh)
    })
})

scene.add(group)
// ...
  • before

  • after

three-utils-simple-example's People

Contributors

nieyuyao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.