Skip to main content

Timeline for How to discretize a BezierCurve?

Current License: CC BY-SA 4.0

33 events
when toggle format what by license comment
Nov 30, 2019 at 12:00 history tweeted twitter.com/StackMma/status/1200746456644239361
Nov 22, 2019 at 4:34 comment added Silvia I tested this on Windows and the bug seems to be fixed in 12.0. If others find otherwise status please feel free to roll back.
Nov 22, 2019 at 4:32 history edited Silvia CC BY-SA 4.0
Update current status of the bug
Nov 16, 2019 at 4:57 comment added Silvia I think this has been fixed in 12.0.
Sep 29, 2016 at 11:40 history edited user31159 CC BY-SA 3.0
added 9 characters in body
Aug 8, 2016 at 22:16 history edited Szabolcs CC BY-SA 3.0
added 2 characters in body
Mar 2, 2016 at 16:16 history edited kirma CC BY-SA 3.0
edited body
Oct 30, 2015 at 7:01 comment added Szabolcs @ShutaoTANG I only know this: mathematica.stackexchange.com/a/570/12
Oct 30, 2015 at 5:56 comment added xyz Could you tell me how to use the undocumented functions in the context ``GeometricFunctions```? I discovered that there are my useful functions. BTW, is it possible to see the internal code of these function by some method, like PrintDifitions[] that in package GeneralUtilities? Thanks.
Oct 29, 2015 at 14:54 history edited Szabolcs CC BY-SA 3.0
edited tags
Oct 29, 2015 at 14:53 answer added Szabolcs timeline score: 12
Oct 29, 2015 at 14:21 comment added Jacob Akkerboom @J.M. yeah, the picture hardly changes with PlotPoints-> 10000
Oct 29, 2015 at 13:59 comment added J. M.'s missing motivation That's funny... @Jacob, does it still happen after you increase the PlotPoints setting?
Oct 29, 2015 at 13:53 history edited Szabolcs CC BY-SA 3.0
added 141 characters in body
Oct 29, 2015 at 13:41 comment added Jacob Akkerboom For the last example, things look pretty much identical in v8 and v10
Oct 29, 2015 at 13:28 comment added Jacob Akkerboom I also see the same in version 8.
Oct 29, 2015 at 13:25 comment added Szabolcs I do see the same in v9. I don't have v8 handy.
Oct 29, 2015 at 13:22 comment added J. M.'s missing motivation @Jacob, I was talking about comparing the result of BezierCurve[] and BezierFunction[] + ParametricPlot[], actually. As I mentioned, I don't believe there was a discrepancy like this in version 8, and was hoping for a confirmatory test.
Oct 29, 2015 at 13:17 comment added J. M.'s missing motivation @Jacob, can you test Szabolcs's observations, please?
Oct 29, 2015 at 13:08 history edited Szabolcs CC BY-SA 3.0
added 1188 characters in body
Oct 29, 2015 at 12:04 comment added J. M.'s missing motivation Maybe we should try roping in somebody with an earlier version to check. I'm positive that discrepancy wasn't there before.
Oct 29, 2015 at 11:58 comment added Szabolcs @J.M. The only SplineDegree setting it accepts from me is Length[pt] - 1.
Oct 29, 2015 at 11:57 comment added J. M.'s missing motivation Something doesn't seem right with BezierFunction[]; it seems it's not allowing an explicit SplineDegree setting. I don't remember this being the case in version 8...
Oct 29, 2015 at 11:57 comment added Szabolcs @J.M. Yes, I get the same. There is a small but persistent difference. I don't understand why and I worry it's going to turn into a big difference for some other input data. Sorry for having only this almost straight curv as an example ...
Oct 29, 2015 at 11:53 comment added J. M.'s missing motivation It's one possibility, yes: you may want to ensure that the two curves do have the same degree, though honestly I can't think of a situation that doesn't produce cubic curves.
Oct 29, 2015 at 11:52 comment added J. M.'s missing motivation bfun = BezierFunction[pt]; ParametricPlot[bfun[t], {t, 0, 1}, PlotPoints -> 25, Prolog -> {Directive[AbsoluteThickness[3], ColorData[97, 2]], BezierCurve[pt]}] gives this for me.
Oct 29, 2015 at 11:51 comment added Szabolcs @J.M. With these different set of points, {{85.6699, 270.639}, {81.4849, 265.53}, {72.1939, 247.082}, {69.5059, 244.27}, {66.8189, 241.46}, {65.3979, 237.927}, {64.1759, 236.649}, {62.9539, 235.372}, {75.0969, 229.142}, {76.6069, 228.676}, {78.1179, 228.21}, {75.1319, 234.644}, {75.2469, 237.147}, {75.3609, 239.65}, {80.5859, 252.02}, {82.9949, 256.076}, {85.4049, 260.131}, {92.1679, 270.779}, {93.5919, 274.19}, {95.0159, 277.6}, {92.9719, 279.555}, {85.6699, 270.639}}, the above ParametricPlot also gives differing results. Is it because I need to set SplineDegrees?
Oct 29, 2015 at 11:50 comment added Szabolcs @Silvia If I export/import to/from PDF, I still get a JoinedCurve with a BezierCurve inside (after decoding using GeometricFunctions`DecodeJoinedCurve), so I'm back to the same problem. There's also an additional problem: the coordinates have all changed. I need to do measurements on these objects (imported form a single PDF), so they must all be in the same coordinate system.
Oct 29, 2015 at 11:46 comment added Szabolcs @J.M. The same example from this post doesn't. ParametricPlot[BezierFunction[pt][x], {x, 0, 1}, Epilog -> {BezierCurve[pt]}], where pt are the points from above.
Oct 29, 2015 at 11:45 comment added J. M.'s missing motivation With respect to JoinedCurve[]/FilledCurve[]: if memory serves Simon Woods has a post somewhere on how to split those into components.
Oct 29, 2015 at 11:44 comment added J. M.'s missing motivation The other possibility is to use ParametricPlot[] + BezierFunction[] to create a Line[] primitive that should now be easily discretized. Can you give an example where BezierCurve[] doesn't seem to give the same result as my proposal?
Oct 29, 2015 at 11:42 comment added Silvia You can export a bspline as pdf then import the pdf. See my answer here.
Oct 29, 2015 at 11:21 history asked Szabolcs CC BY-SA 3.0