GithubHelp home page GithubHelp logo

hanmeh / luxor.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from juliagraphics/luxor.jl

1.0 0.0 0.0 282.49 MB

Simple drawings using vector graphics; Cairo "for tourists!"

License: Other

Julia 100.00%

luxor.jl's Introduction

splash image

Documentation Build Status Code Coverage
Build Status
Build Status

Luxor

Luxor is a Julia package for drawing simple 2D vector graphics. Think of it as a high-level easier to use interface to Cairo.jl, with shorter names, fewer underscores, default contexts, and simplified functions. In Luxor, the emphasis is on simplicity and ease of use.

"luxor gallery"

Luxor is thoroughly procedural and static: your code issues a sequence of simple graphics 'commands' until you've completed a drawing, then the results are saved into a PDF, PNG, SVG, or EPS file.

A short tutorial can be found in the documentation. There are some Luxor-related videos on YouTube, and some Luxor-related blog posts at cormullion.github.io/.

Luxor is designed primarily for drawing static pictures. If you want to build animations, use Javis.jl.

Luxor isn't interactive: for building interactivity, look at Pluto.jl and Makie, and Pluto.jl.

How can you contribute?

If you know any geometry you probably know more than me, so there are plenty of improvements to algorithms waiting to be made. There are some TODO comments sprinkled through the code, but plenty more opportunities for improvement.

Update the code, most of which was written for Julia versions 0.2, v0.3 and 0.4 (remember when broadcasting wasn't a thing?) so there are probably many areas where the code could take more advantage of version 1.

There can always be more tests, as the present tests are mainly visual, showing that something works, but there should be much more testing of things that shouldn't work - inappropriate input, overlapping polygons, coincident or collinear points, anticlockwise polygons, etc.

More systematic error-handling particularly of geometry errors would be a good idea, rather than sprinkling throw(error())s around when things look wrong.

luxor.jl's People

Contributors

cormullion avatar roger-luo avatar wikunia avatar pauljurczak avatar osoleve avatar fonsp avatar guo-yong-zhi avatar hyrodium avatar kimttfung avatar scottpjones avatar timothywalsh avatar hustf avatar femtocleaner[bot] avatar tkelman avatar beastyblacksmith avatar mcbaron avatar masonprotter avatar visr avatar juliatagbot avatar jgoldfar avatar m3m0ry avatar staticfloat avatar dictino avatar barche avatar avnibu avatar

Stargazers

Nikolaos Dionelis 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.