Twitter | Pretraživanje | |
Raph Levien
Recursive subdivision is not the best way to flatten quadratic Béziers to polylines. Here's a better way: . Hopefully catnip for my followers who are really into 2D graphics and math.
Blog of Raph Levien.
Reply Retweet Označi sa "sviđa mi se" More
Raph Levien 28. pro
Odgovor korisniku/ci @raphlinus
I've generalized this to cubic Béziers, test page is up at . Question for 2d graphics Twitter: what's a good journal or conference to submit to? It feels like it's met the threshold for an academic paper.
Reply Retweet Označi sa "sviđa mi se"
Ali Rahimi 24. pro
Odgovor korisniku/ci @raphlinus
my instinct is to do this by dynamic programming instead, since you know the number of segments. locate endpoint of first segment assuming subsequent ones are chosen optimally. then work backwards by DP.
Reply Retweet Označi sa "sviđa mi se"
Raph Levien 24. pro
Odgovor korisniku/ci @alirahimi0
Yeah, that's what was going through my head a week or so ago. But this way, you have a closed form expression that just spits out all the t values in parallel for all the segments, which is *way* better if your evaluation environment is a GPU.
Reply Retweet Označi sa "sviđa mi se"
Allan MacKinnon 25. pro
Odgovor korisniku/ci @raphlinus
Wang’s Formula bounds how many levels of subdivision you need to achieve a specified degree of flatness. “Pyramid Algorithms” by Ron Goldman covers Wang’s formula (chap. 5.6.3). Wang’s formula is also discussed in: DEC Paris Research Laboratory report #1, May 1989. Good luck!
Reply Retweet Označi sa "sviđa mi se"
Raph Levien 25. pro
Odgovor korisniku/ci @pixelio
Thanks for the reference, it looks excellent. How did I not know about that before now?
Reply Retweet Označi sa "sviđa mi se"
Andreas Urbán 24. pro
Odgovor korisniku/ci @raphlinus
Any thoughts on doing recursive subdivision on GPU using the tessellation stage and transform feedback? Breadth first makes it quite parallel, and error can be decreased over several frames.
Reply Retweet Označi sa "sviđa mi se"
Raph Levien 24. pro
Odgovor korisniku/ci @1amjau
It can probably be done, but for my own GPU work I'm basically using compute exclusively. It's also the case that my algorithm produces more efficient results than recursive subdivision, which takes away most of the motivation to do that.
Reply Retweet Označi sa "sviđa mi se"
Nicolas Silva 24. pro
Odgovor korisniku/ci @raphlinus
Interesting! One thing to note with these adaptative flattening techniques is that if you don't consistently flatten in the same direction (say, top to bottom) you can get unexpected cracks between adjacent paths. Easy to address in most cases but worth keeping in mind!
Reply Retweet Označi sa "sviđa mi se"
DaveFile 24. pro
Odgovor korisniku/ci @raphlinus @redblobgames
Let's all understand this: Bézier curves are evil... 5th order curve is pure!
Reply Retweet Označi sa "sviđa mi se"