You can subscribe to this list here.
2007 
_{Jan}
(2) 
_{Feb}
(3) 
_{Mar}
(4) 
_{Apr}
(27) 
_{May}
(5) 
_{Jun}

_{Jul}
(14) 
_{Aug}

_{Sep}
(1) 
_{Oct}
(4) 
_{Nov}
(19) 
_{Dec}


2008 
_{Jan}
(8) 
_{Feb}
(1) 
_{Mar}
(4) 
_{Apr}
(28) 
_{May}
(77) 
_{Jun}
(79) 
_{Jul}
(112) 
_{Aug}
(36) 
_{Sep}
(33) 
_{Oct}
(19) 
_{Nov}
(9) 
_{Dec}
(11) 
2009 
_{Jan}

_{Feb}

_{Mar}
(12) 
_{Apr}
(11) 
_{May}
(13) 
_{Jun}
(23) 
_{Jul}
(5) 
_{Aug}
(25) 
_{Sep}
(9) 
_{Oct}
(22) 
_{Nov}
(16) 
_{Dec}
(5) 
2010 
_{Jan}
(23) 
_{Feb}
(12) 
_{Mar}
(5) 
_{Apr}
(29) 
_{May}
(4) 
_{Jun}
(9) 
_{Jul}
(22) 
_{Aug}
(2) 
_{Sep}
(10) 
_{Oct}
(6) 
_{Nov}
(8) 
_{Dec}

2011 
_{Jan}
(2) 
_{Feb}
(44) 
_{Mar}

_{Apr}
(4) 
_{May}

_{Jun}
(9) 
_{Jul}
(5) 
_{Aug}
(4) 
_{Sep}
(7) 
_{Oct}

_{Nov}

_{Dec}
(10) 
2012 
_{Jan}
(16) 
_{Feb}
(8) 
_{Mar}
(9) 
_{Apr}
(5) 
_{May}
(3) 
_{Jun}
(3) 
_{Jul}
(6) 
_{Aug}
(10) 
_{Sep}
(48) 
_{Oct}
(6) 
_{Nov}

_{Dec}

2013 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}
(19) 
_{Sep}
(3) 
_{Oct}
(5) 
_{Nov}
(35) 
_{Dec}
(3) 
2014 
_{Jan}

_{Feb}
(3) 
_{Mar}
(4) 
_{Apr}
(12) 
_{May}
(6) 
_{Jun}
(16) 
_{Jul}
(25) 
_{Aug}
(16) 
_{Sep}
(3) 
_{Oct}

_{Nov}
(7) 
_{Dec}

2015 
_{Jan}
(3) 
_{Feb}
(1) 
_{Mar}
(21) 
_{Apr}
(10) 
_{May}
(6) 
_{Jun}
(3) 
_{Jul}
(2) 
_{Aug}
(4) 
_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 





1

2

3

4
(7) 
5
(1) 
6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
(8) 
22
(1) 
23

24

25

26

27
(2) 
28
(3) 
29

30

31

From: <J.B.C.E<ngelen@ew...>  20100728 11:08:40

> Original Message > From: Jasper van de Gronde [mailto:th.v.d.gronde@...] > Sent: Wednesday, July 28, 2010 11:24 > To: Engelen, J.B.C. (Johan) > Cc: lib2geomdevel@... > Subject: Re: [Lib2geomdevel] Interpolated path with local > maxima/minima requirement > > J.B.C.Engelen@... wrote: > > Hi all, > > > > For the powerstroke LPE, I need the following: > > > > I have a set of points (x_i,y_i), where x_i <= x_{i+1}. > > Right now, I create a linear segment path: > > (x_1,y_1)(x_2,y_2)...(x_n,y_n). But actually, I want to create a > > smoother interpolation of points (x_i,y_i) (exact shape > doesn't matter > > much, but the sharp derivatives of linear segs is undesired). > > The only requirement on the smooth path is: > > for each a, if (y_{a1} < y_a and y_{a+1} < y_a) point > (x_a,y_a) is a > > local maximum for each a, if (y_{a1} > y_a and y_{a+1} > > y_a) point > > (x_a,y_a) is a local minimum > > > > I hope you understand what I am getting at: the points (x_i,y_i) > > define a path that touches all the points, and where > maximum/minimum > > points should correspond to local maxima/minima of the > interpolated path. > > > > Is there a name for such kind of interpolation? And is it already > > built in 2geom somewhere? > > Instead of linear segments you can use cos(x*pi)/2+1/2 on > [1,1] (yields continuous derivatives and the set of nodes > coincides exactly with the set of points with zero > derivative, except if two neighbouring nodes have the same > value, then the interval between them is constant) or a > polynomial kernel with the constraints that n derivatives are > zero at x=0 and x=1 and mirror it for [1,0] (I think it was > Perlin noise that uses this, among other things). I thought about something like this too at first, but that "the set of nodes coincides exactly with the set of points with zero derivative" will not look nice. That is why I am looking for a more complicated interpolation. Johan 
From: Jasper van de Gronde <th.gronde@hc...>  20100728 09:24:20

J.B.C.Engelen@... wrote: > Hi all, > > For the powerstroke LPE, I need the following: > > I have a set of points (x_i,y_i), where x_i <= x_{i+1}. > Right now, I create a linear segment path: > (x_1,y_1)(x_2,y_2)...(x_n,y_n). But actually, I want to create a > smoother interpolation of points (x_i,y_i) (exact shape doesn't matter > much, but the sharp derivatives of linear segs is undesired). > The only requirement on the smooth path is: > for each a, if (y_{a1} < y_a and y_{a+1} < y_a) point (x_a,y_a) is a > local maximum > for each a, if (y_{a1} > y_a and y_{a+1} > y_a) point (x_a,y_a) is a > local minimum > > I hope you understand what I am getting at: the points (x_i,y_i) define > a path that touches all the points, and where maximum/minimum points > should correspond to local maxima/minima of the interpolated path. > > Is there a name for such kind of interpolation? And is it already built > in 2geom somewhere? Instead of linear segments you can use cos(x*pi)/2+1/2 on [1,1] (yields continuous derivatives and the set of nodes coincides exactly with the set of points with zero derivative, except if two neighbouring nodes have the same value, then the interval between them is constant) or a polynomial kernel with the constraints that n derivatives are zero at x=0 and x=1 and mirror it for [1,0] (I think it was Perlin noise that uses this, among other things). 
From: <J.B.C.E<ngelen@ew...>  20100728 07:09:25

On Tue, Jul 27, 2010 at 10:12:58PM +0200, J.B.C.Engelen@... wrote: > Hi all, > > For the powerstroke LPE, I need the following: > > I have a set of points (x_i,y_i), where x_i <= x_{i+1}. > Right now, I create a linear segment path: > (x_1,y_1)(x_2,y_2)...(x_n,y_n). But actually, I want to create a > smoother interpolation of points (x_i,y_i) (exact shape doesn't matter > much, but the sharp derivatives of linear segs is undesired). > The only requirement on the smooth path is: > for each a, if (y_{a1} < y_a and y_{a+1} < y_a) point (x_a,y_a) is a > local maximum > for each a, if (y_{a1} > y_a and y_{a+1} > y_a) point (x_a,y_a) is a > local minimum > > I hope you understand what I am getting at: the points (x_i,y_i) define > a path that touches all the points, and where maximum/minimum points > should correspond to local maxima/minima of the interpolated path. > > Is there a name for such kind of interpolation? And is it already built > in 2geom somewhere? Perhaps useful links: Akima looks nice: http://sosie.sourceforge.net/. Although not exactly what I want, perhaps it is good enough. The piecewise monotonic interpolation here: http://mesa.sourceforge.net/numerics.html. 
From: Dr Nathan Hurst <njh@nj...>  20100727 23:53:05

On Tue, Jul 27, 2010 at 10:12:58PM +0200, J.B.C.Engelen@... wrote: > Hi all, > > For the powerstroke LPE, I need the following: > > I have a set of points (x_i,y_i), where x_i <= x_{i+1}. > Right now, I create a linear segment path: > (x_1,y_1)(x_2,y_2)...(x_n,y_n). But actually, I want to create a > smoother interpolation of points (x_i,y_i) (exact shape doesn't matter > much, but the sharp derivatives of linear segs is undesired). > The only requirement on the smooth path is: > for each a, if (y_{a1} < y_a and y_{a+1} < y_a) point (x_a,y_a) is a > local maximum > for each a, if (y_{a1} > y_a and y_{a+1} > y_a) point (x_a,y_a) is a > local minimum > > I hope you understand what I am getting at: the points (x_i,y_i) define > a path that touches all the points, and where maximum/minimum points > should correspond to local maxima/minima of the interpolated path. > > Is there a name for such kind of interpolation? And is it already built > in 2geom somewhere? I think it's called a minimum energy curve or something like that. No, 2geom does not yet have an implementation. If I could find my book, I'd implement it :) Thin plate splines are a like this, although I don't believe they are defined for 1d. You're looking for a curve which avoids corners and minimises length I think. perhaps there is an easy way to find this directly, otherwise it's going to be a minimisation problem. njh 
From: <J.B.C.E<ngelen@ew...>  20100727 20:13:49

Hi all, For the powerstroke LPE, I need the following: I have a set of points (x_i,y_i), where x_i <= x_{i+1}. Right now, I create a linear segment path: (x_1,y_1)(x_2,y_2)...(x_n,y_n). But actually, I want to create a smoother interpolation of points (x_i,y_i) (exact shape doesn't matter much, but the sharp derivatives of linear segs is undesired). The only requirement on the smooth path is: for each a, if (y_{a1} < y_a and y_{a+1} < y_a) point (x_a,y_a) is a local maximum for each a, if (y_{a1} > y_a and y_{a+1} > y_a) point (x_a,y_a) is a local minimum I hope you understand what I am getting at: the points (x_i,y_i) define a path that touches all the points, and where maximum/minimum points should correspond to local maxima/minima of the interpolated path. Is there a name for such kind of interpolation? And is it already built in 2geom somewhere? Thanks! Johan 
From: Dr Nathan Hurst <njh@nj...>  20100722 00:00:22

On Wed, Jul 21, 2010 at 10:42:41PM +0200, J.B.C.Engelen@... wrote: > > Original Message > > From: Krzysztof Kosiński [mailto:tweenk.pl@...] > > Sent: 21 July 2010 22:20 > > To: Engelen, J.B.C. (Johan) > > Cc: lib2geomdevel@... > > Subject: Re: [Lib2geomdevel] Release notes > > > > W dniu 21 lipca 2010 17:11 użytkownik <J.B.C.Engelen@...> > > napisał: > > > A doyxgen page sounds like a good idea: then we can use LaTeX math in > > the release notes. > > > Krzystof: I think you are better with doxygen than me, can you add a > > separate file with the 'release notes'? > > > > Added in r2059. It's in src/2geom/doxygen.cpp, below the // RELEASE > > NOTES comment. > > I thought we switched to bzr? ;) Some of us did :) Unfortunately the doco didn't get updated, nor did anyone get told... njh 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100721 21:52:07

2010/7/21 <J.B.C.Engelen@...>: > I thought we switched to bzr? ;) Ungh, somebody did not make the SF.net repository readonly! I've moved all changes to the Launchpad repository. Can someone remove or make readonly the Sourceforge SVN, so such mistakes will not be made in the future? Regards, Krzysztof 
From: <J.B.C.E<ngelen@ew...>  20100721 20:43:01

> Original Message > From: Krzysztof Kosiński [mailto:tweenk.pl@...] > Sent: 21 July 2010 22:20 > To: Engelen, J.B.C. (Johan) > Cc: lib2geomdevel@... > Subject: Re: [Lib2geomdevel] Release notes > > W dniu 21 lipca 2010 17:11 użytkownik <J.B.C.Engelen@...> > napisał: > > A doyxgen page sounds like a good idea: then we can use LaTeX math in > the release notes. > > Krzystof: I think you are better with doxygen than me, can you add a > separate file with the 'release notes'? > > Added in r2059. It's in src/2geom/doxygen.cpp, below the // RELEASE > NOTES comment. I thought we switched to bzr? ;) 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100721 20:19:46

W dniu 21 lipca 2010 17:11 użytkownik <J.B.C.Engelen@...> napisał: > A doyxgen page sounds like a good idea: then we can use LaTeX math in the release notes. > Krzystof: I think you are better with doxygen than me, can you add a separate file with the 'release notes'? Added in r2059. It's in src/2geom/doxygen.cpp, below the // RELEASE NOTES comment. Regards, Krzysztof 
From: <J.B.C.E<ngelen@ew...>  20100721 15:11:23

> Original Message > From: Krzysztof Kosiński [mailto:tweenk.pl@...] > Sent: Wednesday, July 21, 2010 14:03 > To: Engelen, J.B.C. (Johan) > Cc: lib2geomdevel@... > Subject: Re: [Lib2geomdevel] Release notes > > 2010/7/21 <J.B.C.Engelen@...>: > > Hi all, > > > > Since we now have 2geom users other than ourselves (e.g. > Scribus), I > > think we should have a release notes page (or something > similar) where > > all relevant changes are listed since the last release. > > Also, this makes it easier for me to follow the development > :) (I did > > not know about the isRotation change for example) > > > > Shall I add such a page to Inkscape's wiki? > > > > Ciao, > > Johan > > +1 > Instead of Inkscape's wiki, we can also use a documentation > page contained in doxygen.cpp. A doyxgen page sounds like a good idea: then we can use LaTeX math in the release notes. Krzystof: I think you are better with doxygen than me, can you add a separate file with the 'release notes'? Ciao, Johan 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100721 12:02:53

2010/7/21 <J.B.C.Engelen@...>: > Hi all, > > Since we now have 2geom users other than ourselves (e.g. Scribus), I > think we should have a release notes page (or something similar) where > all relevant changes are listed since the last release. > Also, this makes it easier for me to follow the development :) > (I did not know about the isRotation change for example) > > Shall I add such a page to Inkscape's wiki? > > Ciao, > Johan +1 Instead of Inkscape's wiki, we can also use a documentation page contained in doxygen.cpp. Regards, Krzysztof 
From: <J.B.C.E<ngelen@ew...>  20100721 11:55:50

Hi all, Since we now have 2geom users other than ourselves (e.g. Scribus), I think we should have a release notes page (or something similar) where all relevant changes are listed since the last release. Also, this makes it easier for me to follow the development :) (I did not know about the isRotation change for example) Shall I add such a page to Inkscape's wiki? Ciao, Johan 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100721 10:55:50

2010/7/21 <J.B.C.Engelen@...>: > Hi all, > > Now that 0.48 is branched off, we can work towards updating our 2geom > copy. I think the most problematic 2geom change is the renaming of > "Geom::Matrix" to "Geom::Affine". 99% of cases can be handled by a single command: find src name '*.cpp' or name '*.h' exec sed e 's/Geom::Matrix/Geom::Affine/g' i {} \; After this we might need to fix places that have "using namespace Geom". Fortunately this is confined to LPEs. The more important change is that transform classification methods have slightly changed semantics, as they will now consider an identity transform to be a rotation, uniform scale, etc. This was done to match the fact that every transformation class in transforms.h can represent an identity transformation. Places that expect the old behavior should be changed to use isNonzeroRotation() etc. instead of isRotation(). Some methods also changed names, for example without_translation() was renamed to match 2Geom conventions and is now called withoutTranslation(). Regards, Krzysztof 
From: <J.B.C.E<ngelen@ew...>  20100721 10:34:58

Hi all, Now that 0.48 is branched off, we can work towards updating our 2geom copy. I think the most problematic 2geom change is the renaming of "Geom::Matrix" to "Geom::Affine". Nathan, I read in one of your mails that you already worked on renaming those in Inkscape? Ciao, Johan 
From: Dr Nathan Hurst <njh@nj...>  20100705 00:41:00

On Mon, Jul 05, 2010 at 01:27:25AM +0200, Krzysztof Kosiński wrote: > Hello > > There is some weirdness in the D2 operators. Here are some examples: > > template <typename T> > inline T > cross(D2<T> const & a, D2<T> const & b) { > boost::function_requires<ScalableConcept<T> >(); > boost::function_requires<MultiplicableConcept<T> >(); > > return a[1] * b[0]  a[0] * b[1]; > } > This is wrong, because the body does not require T to be scalable; it > requires T to be addable. Agreed. Make it so. > template <typename T> > inline T > dot(D2<T> const & a, Point const & b) { > boost::function_requires<AddableConcept<T> >(); > boost::function_requires<ScalableConcept<T> >(); > > T r; > for(unsigned i = 0; i < 2; i++) { > r += a[i] * b[i]; > } > return r; > } > Body requires T to be multiplicable, not scalable. Ditto. > template <typename T> > inline D2<T> > operator*=(D2<T> &a, Point const & b) { > ... > } > The operation of multiplying by a point is not obvious. A further > complication is that if I change Point to be a specialization of > D2<Coord>, it will be possible to multiply points, which is dangerous. > > Should I change this? Delete that *= Point operator. njh 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100704 23:27:31

Hello There is some weirdness in the D2 operators. Here are some examples: template <typename T> inline T cross(D2<T> const & a, D2<T> const & b) { boost::function_requires<ScalableConcept<T> >(); boost::function_requires<MultiplicableConcept<T> >(); return a[1] * b[0]  a[0] * b[1]; } This is wrong, because the body does not require T to be scalable; it requires T to be addable. template <typename T> inline T dot(D2<T> const & a, Point const & b) { boost::function_requires<AddableConcept<T> >(); boost::function_requires<ScalableConcept<T> >(); T r; for(unsigned i = 0; i < 2; i++) { r += a[i] * b[i]; } return r; } Body requires T to be multiplicable, not scalable. template <typename T> inline D2<T> operator*=(D2<T> &a, Point const & b) { ... } The operation of multiplying by a point is not obvious. A further complication is that if I change Point to be a specialization of D2<Coord>, it will be possible to multiply points, which is dangerous. Should I change this? Regards, Krzysztof 
From: Dr Nathan Hurst <njh@nj...>  20100704 11:59:42

On Sun, Jul 04, 2010 at 12:29:59AM 0700, Joshua A. Andler wrote: > On Sun, 20100704 at 09:23 +0200, Krzysztof Kosiński wrote: > > W dniu 4 lipca 2010 07:58 użytkownik Dr Nathan Hurst <njh@...> napisał: > > > I'm not clear what clock means, but I think your current names are > > > probably better (descriptive is probably better). > > > > > > njh > > > > "clock" means degrees in clock convention, e.g. 0 degrees is +Y and > > grows clockwise (if Y grows upwards). > > Is clock or compass a more appropriate analogy? With clock, I personally > (a nonmathematician) assume you'd use a number like 3 to represent 90 > degrees. yes, me too. njh 
From: Joshua A. Andler <scislac@gm...>  20100704 07:30:10

On Sun, 20100704 at 09:23 +0200, Krzysztof Kosiński wrote: > W dniu 4 lipca 2010 07:58 użytkownik Dr Nathan Hurst <njh@...> napisał: > > I'm not clear what clock means, but I think your current names are > > probably better (descriptive is probably better). > > > > njh > > "clock" means degrees in clock convention, e.g. 0 degrees is +Y and > grows clockwise (if Y grows upwards). Is clock or compass a more appropriate analogy? With clock, I personally (a nonmathematician) assume you'd use a number like 3 to represent 90 degrees. Cheers, Josh 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100704 07:23:56

W dniu 4 lipca 2010 07:58 użytkownik Dr Nathan Hurst <njh@...> napisał: > I'm not clear what clock means, but I think your current names are > probably better (descriptive is probably better). > > njh "clock" means degrees in clock convention, e.g. 0 degrees is +Y and grows clockwise (if Y grows upwards). Regards, Krzysztof 
From: Dr Nathan Hurst <njh@nj...>  20100704 05:58:38

On Sun, Jul 04, 2010 at 06:22:15AM +0200, Krzysztof Kosiński wrote: > W dniu 4 lipca 2010 06:11 użytkownik Krzysztof Kosiński > <tweenk.pl@...> napisał: > > 2010/6/30 Dr Nathan Hurst <njh@...>: > >> Actually, I have a merged version of all their changes, but tweenk's > >> Angle class is buggy (or at least it has different assumptions to the > >> svg elliptical arc code) and I haven't had the fortitude to work out > >> what the exact problem is. > > > > Oops, I indeed broke elliptical arcs. > > > > It was two issues actually: > > 1. The default conversion between Angle and doubles was a thinko  I > > added pi instead of 2*pi. > > 2. While refactoring EllipticalArc, I introduced an error in the > > calculation of the center. > > > > Right now (r2055) elliptical arcs should work correctly. Thanks, I'll take a look and finish my merge with inkscape head. > While we're at it, what's the best name for methods of Angle that > return the angle in various conventions? Currently the names are: >  radians() >  radians0() >  degrees() >  degreesClock() > Maybe those shorter names are better? >  rad() >  prad() or rad0() >  deg() >  clock() I'm not clear what clock means, but I think your current names are probably better (descriptive is probably better). njh 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100704 04:22:21

W dniu 4 lipca 2010 06:11 użytkownik Krzysztof Kosiński <tweenk.pl@...> napisał: > 2010/6/30 Dr Nathan Hurst <njh@...>: >> Actually, I have a merged version of all their changes, but tweenk's >> Angle class is buggy (or at least it has different assumptions to the >> svg elliptical arc code) and I haven't had the fortitude to work out >> what the exact problem is. > > Oops, I indeed broke elliptical arcs. > > It was two issues actually: > 1. The default conversion between Angle and doubles was a thinko  I > added pi instead of 2*pi. > 2. While refactoring EllipticalArc, I introduced an error in the > calculation of the center. > > Right now (r2055) elliptical arcs should work correctly. > > Regards, Krzysztof > While we're at it, what's the best name for methods of Angle that return the angle in various conventions? Currently the names are:  radians()  radians0()  degrees()  degreesClock() Maybe those shorter names are better?  rad()  prad() or rad0()  deg()  clock() Regards, Krzysztof 
From: Krzysztof Kosiński <tweenk.pl@gm...>  20100704 04:12:04

2010/6/30 Dr Nathan Hurst <njh@...>: > Actually, I have a merged version of all their changes, but tweenk's > Angle class is buggy (or at least it has different assumptions to the > svg elliptical arc code) and I haven't had the fortitude to work out > what the exact problem is. Oops, I indeed broke elliptical arcs. It was two issues actually: 1. The default conversion between Angle and doubles was a thinko  I added pi instead of 2*pi. 2. While refactoring EllipticalArc, I introduced an error in the calculation of the center. Right now (r2055) elliptical arcs should work correctly. Regards, Krzysztof 