Comments (1)
I'd like lines to be able to avoid things, or at least avoid coming too close to things that they're parallel to. If they need to get across something, they should intersect it as perpendicularly as possbile. They should also never cross dots.
One way to do this might be to take the formula of every line that this new line can cross, find the differential at the point where it will cross it, and pick the angle to maximise the total differential difference.
That would mean that I need to track the equation for each line in the whole shape, though - at least to the point that I can find the gradient at any given point along them.
Therefore, instead of having a bunch of SVG lines and a bunch of virtual "maths-only" lines, it might be better to just have the maths lines and then draw the SVG using them right at the very end. That should help eliminate any discrepancies between the two.
from gallifreyo.
Related Issues (20)
- Split structures into sizes and positions
- Use buffer circles instead of buffer lines HOT 2
- Dots
- Image export
- Display version on page somewhere
- UI selection for different debug types
- Recalculation trigger is weird on mobile
- OOP HOT 1
- Web workers
- Use canvas for drawing HOT 1
- Document all the maths as fancy maths HOT 1
- Crosshatch buffer regions in debug mode
- Refine geometry-related properties
- Crash when starting a new line with a space
- Animate the logo
- Limit the angular subtension of a letter
- Organic using spiral as base
- Initial sample fails to appear
- Throttling
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 gallifreyo.