Very interesting, I didn't know about the 2geom project. I've been working quite a lot on Bézier curves and B-Spline curves the past year (in both Matlab and Python). Some parts of the implementation concern concepts like Bézier decomposition/extraction, might be useful. I'll definitely join the lib2geom devel mailing list :).
Anyway, Jabiertxo -- what is the actual plan for this extension? Should the user provide a knot-vector which is then used to calculate the basis functions, and subsequently draw the curve? Or would it just be uniform B-Spline curves? And with or without rational components (i.e. NURBS)? And should the user be able to use any degree (quadratic, cubic, quartic, etc.) or just quadratic and cubic? See also my previous message in this topic.
@Johan, I checked out the 2geom source using Bazaar. The HTML documentation generated by Doxygen works more or less fine (some figures seem to be missing), but the LaTeX documentation doesn't -- I assume one should use "make" in the LaTeX directory in order to generate the files, but a couple of things seem to be outdated? Also, the general manual in the Doc folder has some problems with a table in Appendix D1. Hmm, perhaps I should post these comments to the other list...
Best regards, Pieter
On Sun, 09 Sep 2012 14:24:01 +0200 Johan Engelen <jbc.engelen@...2592...> wrote:
On 9-9-2012 8:57, Arshdeep Singh wrote:
---------- Forwarded message ---------- From: Arshdeep Singh <moduli16@...400...> Date: Sun, Sep 9, 2012 at 12:27 PM Subject: Re: [Inkscape-devel] B-Spline To: jabier.arraiza@...2893...
I am a computer graphics enthusiast who loves mathematics. The idea of implementing B-Splines seems really cool. I am proficient in C/C++. And I am doing a course in college that covers the basics of Beizer Curves and B-Splines. Can I be of any help ?
You could try to write a conversion from B-spline to 2geom's SBasis curves. This would allow programmers to very easily use B-splines in Inkscape/2geom. Have a look at 2geom's Curve class, you would have to inherit from it and implement all required methods. See for example the BezierCurve class or the EllipticalArc class. The implementation of BSplineCurve::toSBasis() will be the meat of the work.
(2geom's documentation is not all that bad, run doxygen on its source and you'll find information on how sbasis curves work. and of course, don't forget the lib2geom-devel@...2073... maillist!)
Cheers, Johan
Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel