GithubHelp home page GithubHelp logo

areavisibility's Introduction

Areavisibility

Visualize algorithm for generating a grid inside an area.

Skjermbilde 2022-12-08 kl  22 56 38

Compile

Use Maven to build mvn install

Run

Run Main. To switch algorithm change the main at line 35.

Algorithms

All visibility lines

This just add all visibility lines - this is very simple, but create to many lines and dificult to debug visually.

Delaunay lines

This strategy is similar to the Delaunay triangulation.

When all visibility lines are computed, the algorithm sort them in increasing length order and add them one by one if they not intersect with one of the existing added visibility lines.

Improvments

Before visibility lines generation

Not all points in an erea is connected to the rest of the graph. Only entrance points are connected. If the edge is convex between two points the points in between can be dropped. Note! This may have affect on other things, like linking in Stops etc. We can safly do this point pruning BEFORE we generate visibility lines.

image

After visibility lines generation

If we want to use the area graph in routing we can improve space and performance by removing all edges that is not part of an optimal path. Route between all pairs of entrences in an area and mark all edges used. Then drop all vertexes and edges not visited.

areavisibility's People

Contributors

t2gran 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.