[OpenJDK 2D-Dev] X11 uniform scaled wide lines and dashed lines; STROKE_CONTROL in Pisces
Jim Graham
james.graham at oracle.com
Wed Dec 8 19:12:46 UTC 2010
On 12/8/2010 9:37 AM, Denis Lila wrote:
>> Shouldn't it be [A, B]?
>
> I thought about this when implementing it, but I don't think it mattered
> whether it was closed or half open, and the closed interval would have been
> somewhat more awkward to implement.
I'm not sure how the closed interval is awkward. Isn't it just proper
choice of ">= and <= vs. > and <" in the testing method?
>> getMaxAcc functions - don't we want the furthest value from 0,
>> positive or negative? You are looking for most positive value
>> and negative accelerations are equally problematic, aren't they?
>> If so then these functions need some work.
>
> You're right about both, but there's a much more serious problem that I
> didn't think of when writing them: the value I compute in the if
> statement in Dasher:355 is not an upper bound on the acceleration of
> the curve. The acceleration is:
> C'(t).dot(C''(t))/len(C'(t)) which in terms of the parameter polynomials is
> (x'(t)*x''(t) + y'(t)*y''(t))/sqrt(x'(t)^2 + y'(t)^2)
> What those functions would compute if they were "correct" would be
> max(abs(x''(t))) and max(abs(y''(t))), and the sum of these is not
> closely related to the maximum absolute acceleration, which is what we
> want.
> Without the upper bound property, I don't think it's a very meaningful
> test, and I think we should abandon this optimization. Do you agree?
How about "if the 3 segments of the control polygon are all close to
each other in length and angle", then the optimization applies. Is that
easy to test?
...jim
More information about the 2d-dev
mailing list