GithubHelp home page GithubHelp logo

madc / ofxvoronoi Goto Github PK

View Code? Open in Web Editor NEW
44.0 5.0 19.0 1.2 MB

Simple two-dimensional Voronoi diagrams

C++ 99.85% C 0.14% Makefile 0.01%
openframeworks openframeworks-addon voronoi voronoi-diagram lloyd-relaxation c-plus-plus creative-coding creativecoding

ofxvoronoi's Introduction

ofxVoronoi

ofxAddons Thumbnail

This repo started as a fork of Vanderlins ofxVoronoi, but I ended up changing too much code and decided to make it an independent addon.

This addon allows the generation of simple two-dimensional voronoi diagrams inside openframeworks. It uses a modified version of Stephan Fortune's sweep line algorithm written by Chris H. Rycroft for the Voro++ project.

Basic Example

Now with added support for Lloyd's algorithm useful for relaxing the diagram for use with stippling effects.

Example:
Create as usual

ofxVoronoi relaxedVoronoi;
relaxedVoronoi.setBounds(bounds);
relaxedVoronoi.setPoints(points);
relaxedVoronoi.generate();

int relaxIterations = 3;
while(relaxIterations--){
	relaxedVoronoi.relax();
}

Contributors:
Todd Vanderlin
Matthias Esterl
Andreas Borg Amnon Owed Kyle McDonald Rafael Redondo

ofxvoronoi's People

Contributors

amnonowed avatar borg avatar gitbruno avatar kylemcdonald avatar madc avatar valillon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ofxvoronoi's Issues

Build fails due to undefined references

I have a problem building this ofx addon with OF 0.8.4. on Windows 8 64-bit using Code::Blocks 13:12. I have generated a project from the included example with the projectGenerator. It seems correct, but unfortunately it runs into 7 build errors (all undefined references). My attemps to fix this have not worked out. I would like to use your voronoi implementation, because out of the three I found, it is the only one that allows you to get the voronoi cells easily.

The 7 build errors are:

obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::container_2d::container_2d(double, double, double, double, int, int, bool, bool, int)'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::voronoicell_base_2d::voronoicell_base_2d()'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::container_2d::put(int, double, double)'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `bool voro::voro_compute_2d<voro::container_2d>::compute_cell<voro::voronoicell_2d>(voro::voronoicell_2d&, int, int, int, int)'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::container_base_2d::~container_base_2d()'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::voronoicell_base_2d::~voronoicell_base_2d()'|
obj\Release\addons\ofxVoronoi\src\ofxVoronoi.o:ofxVoronoi.cpp|| undefined reference to `voro::voronoicell_base_2d::~voronoicell_base_2d()'|

non-rectangular bounds?

Any way to to create Voronoi diagram with non-rectangular bounds (such as a convex polygon)?

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.