# [whatwg] Canvas line styles comments

Kristof Zelechovski giecrilj at stegny.2a.pl
Sat Feb 2 13:42:00 PST 2008

```You considered the convex hull of the original lines to get that paradox;
I had the stroke path segments in mind.
(Stroke path segments are the path equivalent of the stroked curve
when the stroke operator is not allowed and must be replaced by the fill
operator).
Each line corresponds to two parallel stroke path segments;
two of them intersect and the other two get joint with an arc.
One of the possible arcs is in the convex hull of those stroke path
segments.

While talking intersection instead of convexity is mathematically simpler,
convexity is what is intended, intersection may be a technicality.
I think the specification should specify the intention and not the technical
means wherever possible.

Cheers,
Chris

-----Original Message-----
From: whatwg-bounces at lists.whatwg.org
[mailto:whatwg-bounces at lists.whatwg.org] On Behalf Of Philip Taylor
Sent: Saturday, February 02, 2008 10:25 PM
To: Kristof Zelechovski
Cc: WHATWG; Ian Hickson
Subject: Re: [whatwg] Canvas line styles comments

On 02/02/2008, Kristof Zelechovski <giecrilj at stegny.2a.pl> wrote:
> The rounding arc should be chosen
> so that it is not contained in the convex hull of the stroke path
> segments terminated at the points where the arc begins.

I believe I can see the idea there, but I can't quite tell what that phrase
means about terminating. The "contained within" also seems inaccurate,
because e.g.
lineWidth=100;moveTo(0,0);lineTo(1,0);lineTo(1,1) would result in a convex
hull that doesn't contain either arc, though I think it'd be alright if said
"does not intersect" instead.

A possible alternative that seems simpler and (I think) correct (except in
the special parallel case): The rounding arc should be chosen so that if it
was closed, it would not contain the join point.

--
Philip Taylor
excors at gmail.com

```