Comments (3)
There's a lot of good research on ellipse extensions to Bresenham's circle algorithm, and plenty more on general conic sections but everyone's working in 2D and I haven't got the time to research generalizing these into 3D. Some links of use:
- Bresenham ellipse algorithm
- Bresenham style conic section algorithm
- Bresenham style circle and ellipse algorithms compared to the traditional sqrt method
- General rendering and antialiasing algorithms for conic sections (a comp-sci thesis in MS Word ... I'm disturbed at the thought ...)
- Drawing lines and conic sections using method of deviation (haven't read it all yet - it's a heavy one)
- Efficient integer algorithms for the generation of conic sections (looks interesting - haven't had a chance to read it yet)
Although the conic section stuff is probably the most useful in terms of a completely generic algorithm for ellipses rotated about any point there'd need to be substantial work on making a useful API for it - all the algorithms in the papers I've skimmed so far accept input in terms of the conic section coefficients (i.e. useless as an interface for programmers who'll want something more like center, radius1, radius2, rotation, CoR, etc.)
from picraft.
We've got the beginnings of a circle algorithm now. It's not great. In fact it's probably not even good given that it's based on the root difference algorithm (so it produces pretty ugly circles), but the one major thing going for it is that it supports drawing circles through an arbitrary plane which no other algorithm seems capable of doing. For now, I'll release this in 0.4 and bump this ticket to 1.0 to see if I (or anyone else?) can come up with something better.
from picraft.
Yup, still nothing better. Oh well, declare victory and move on.
from picraft.
Related Issues (20)
- Support for getBlocks HOT 1
- Obj loader HOT 1
- Test coverage HOT 1
- Filled polygons (and circles?)
- Sphere generator
- event decorators for classes?
- Ubuntu installation instructions
- Windows installation instructions
- vector_range closed? HOT 1
- block_hit_events: no response received HOT 3
- Blocks setter supports empty vector ranges
- Allow movement direction to be ascertained in the pi version of the game HOT 2
- Investigate Raspberry Jam Mod
- Multi-block query slice does not include block data: Block().data attribute is always set to 0 HOT 1
- block.color and block.data missing
- blocks accepts slices with non-unit step
- Add rotation methods
- Raspbian packaging HOT 1
- Moar recipes!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from picraft.