Hi Jim. > When one talks about curves and being parallel, my mind > tends to think of the tangents of the curves being parallel and > tangents are directed by the first derivative.
That's what I was trying to express. The tangents of curves A and B at t are parallel if and only if there's some c such that A'(t) = c*B'(t), which is what I defined || to mean, although perhaps I didn't make this clear enough. > Also, if you are going to use your definition of "vector" then > parallel is an odd term to use I agree. I was never comfortable with using "parallel" but I couldn't find a better word. How about "aligned"? Anyway, I've changed the comments to something that hopefully will avoid this sort of confusion in the future. Other than this, I think I've followed all your other suggestions (putting some of the degenerate curve handling in separate functions, fixing the style issues, removing unused methods, etc). I also fixed a bug in Renderer.edgeSetCurY where I was using edges[idx+MINY] instead of edges[idx+CURY] (which produced visible artifacts on nearly horizontal lines). I am also now using your TransformingPathConsumer2D class, which simplified things quite a bit where ever it was used. Good to push? http://icedtea.classpath.org/~dlila/webrevs/noflatten2/webrev/ Regards, Denis. ----- "Jim Graham" <james.gra...@oracle.com> wrote: > OK, I can see how your terminology works now, but it seems odd to me. > I > never consider re-expressing the coordinates on a curve as a vector > and > basing geometric properties on those constructed vectors. I either > consider the points on the curve, or its tangent or its normal - none > of > which is the value you are expressing. You are, essentially, > operating > on tangent vectors, but you aren't calling them that, you are calling > > them something like "the vector of the derivative" which is a relative > > (direction only) version of the tangent vector (which has location and > > direction). > for values that originate from the same point > (points considered as a vector are taken to originate from 0,0) - > really > you want those "vectors" to be collinear, not (just) parallel. > > So, either || means "the coordinates of the curves expressed as > vectors > are collinear" or it means "the curves (i.e. the tangents of the curve > > at the indicated point) are parallel". Saying "vector I() is parallel > > to vector B()" didn't really have meaning to me based on the above > biases. > > So, I get your comment now and all of the math makes sense, but the > terminology seemed foreign to me... > > ...jim > > On 10/20/10 10:48 AM, Denis Lila wrote: > >> Also, how is A(t) and B(t) are parallel not the same as "the curves > A > >> and B are parallel at t"? > > > > Well, suppose A and B are lines with endpoints (0,0), (2,0) for A > > and (0,1),(2,1) for B. Obviously, for all t, A and B are parallel at > t. > > However let t = 0.5. Then A(t) = (1,0) and B(t) = (1, 1). The > vectors > > (1,0) and (1,1) are not parallel, so saying A(t) || B(t) is the > same > > as saying that there exists c such that (1,0) = c*(1,1), which isn't > true. > > > > However, A'(t)=(2,0) and B'(t)=(2,0), and the vectors > > (2,0) and (2,0) are parallel. > > > > Does this make more sense? > > > > Regards, > > Denis. > > > > ----- "Jim Graham"<james.gra...@oracle.com> wrote: > > > >> On 10/20/10 7:54 AM, Denis Lila wrote: > >>>> In #2, you have a bunch of "I'() || B'()" which I read as "the > >> slope > >>>> of the derivative (i.e. acceleration) is equal", don't you > really > >> mean > >>>> "I() || B()" which would mean the original curves should be > >> parallel? > >>>> Otherwise you could say "I'() == B'()", but I think you want to > >> show > >>>> parallels because that shows how you can use the dxy1,dxy4 > values > >> as > >>>> the parallel equivalents. > >>> > >>> Not really. I've updated the comment explaining what || does, and > >>> it should be clearer now. Basically, A(t) || B(t) means that > >> vectors > >>> A(t) and B(t) are parallel (i.e. A(t) = c*B(t), for some nonzero > >> t), > >>> not that curves A and B are parallel at t. > >> > >> I'm not sure we are on the same page here. > >> > >> I'() is usually the symbol indicating the "derivative" of I(). My > >> issue > >> is not with the || operator, but with the fact that you are > applying > >> it > >> to the I'() instead of I(). > >> > >> Also, A(t) = c*B(t) is always true for all A and B and all t if > you > >> take > >> a sample in isolation. Parallel means something like "A(t) = > c*B(t) > >> with the same value of c for some interval around t", not that the > >> values at t can be expressed as a multiple. > >> > >> Again, I'() || B'() says to me that the derivative curves are > >> parallel, > >> not that the original curves are parallel... > >> > >> ...jim