Re: Strange behaviour on arc drawing with big line width

Maurizio Berti <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <CAPn+-XRaX7GC6dn9JrsL17hmoomT+7vaYNZT6a0zADjhcM-_kg@mail.gmail.com>
Thank you all for your efforts, I hope I will able to try it as soon as
possible, even if unfortunally on my system I can't afford to use cairo
from git.
To answer to Tobias, I could draw lines and fill the arc, but that's not
what I'd need, since I have to be able to use arcs with line width smaller
than the radius, so I should create two arcs and then fill, but that would
require me 3 further commands from a python script that has to be as light
and fast as possible while drawing (I need 50-60fps refresh rate and try to
keep cpu usage low).

Thank you again,
Maurizio

2014-09-23 0:10 GMT+02:00 Bryce Harrington <[email protected]>:

> Chris posted a patch to the bug tracker for this issue:
>
>   https://bugs.freedesktop.org/show_bug.cgi?id=84115
>
> Bryce
>
> On Sun, Sep 21, 2014 at 01:34:23PM +0200, Tobias Hoffmann wrote:
> > Hi,
> >
> > I tried a few things, and expected the correct result to be this:
> >         cr.arc(200, 200, 200, 0*(math.pi/180), -60*(math.pi/180))
> >         cr.line_to(200,200)
> >         cr.close_path()
> >         cr.fill()
> >
> > but actually PostScript (ghostscript's interpretation of it) will
> > not draw a horizontal line at the beginning, either:
> >  $ gs
> >  GS> 200 setlinewidth
> >  GS> 200 500 100 0 60 arcn stroke
> >
> > (Note: I've used arcn instead of arc and 60 instead of -60 because
> > the postscript coordinate system has its Y-axis going upwards,
> > unlike pygtk.)
> >
> > Also, when using LINE_CAP_SQUARE (and a smaller line-width), I can
> > see that cairo and ghostscript disagrees on the tangent-direction at
> > the endpoints of the arc...
> >
> > What cairo seems to do, is use different tangent directions for the
> > inner and the outer part of the stroked arc, but (AFAICS) *only at
> > the beginning* of the arc -- the end of it is always unaffected!
> > That seems strange to me.
> > But I'm not sure, which tangent is actually the 'correct' one.
> >
> > If you want a perfect horizontal line, you should not stroke the
> > arc, but fill it (see my first code snippet).
> >
> > Maybe someone with better knowledge of how cairo actually draws
> > (tesselates?) these arcs wants to explain the current behavior?
> >
> >   Tobias
> >
> >
> >
> > On 20/09/14 02:04, Maurizio Berti wrote:
> > >Hello,
> > >I'm writing a cairo python script, which loads graphics and
> > >animations from a custom file to create "fancy" (and unuseful)
> > >graphics like those seen in videogames and scifi movies.
> > >I have a problem with arcs, though: I need to be able to draw them
> > >interactively, with user given coords, start/end and line width.
> > >When I try to draw arcs with a certain line width I have a strange
> > >behaviour: the beginning of the line is not straight as it should
> > >be, you can see an example of it here:
> > >http://jidesk.net/sypy/strangearc2.jpg
> > >
> > >Here is the code I used for this test:
> > >https://bpaste.net/show/e1f3b8d1f842
> > >
> > >I'm using cairo 1.12.16 from the official Gentoo portage (the
> > >problem still remains with the latest -r3 version in the portage),
> > >with pycairo 1.10.0-r4, also latest stable from the portage.
> > >
> > >CC'ing to [email protected] <mailto:[email protected]> who
> > >confirmed the issue on #cairo using cairo
> > >1.13.0~20140204-0ubuntu1, but was not present using cairo
> > >1.12.16-0ubuntu1.1~bryce~precise6, with little different results:
> > >http://jidesk.net/sypy/strangearc-bryce.png
> > >
> > >To draw single and simple "filled" arcs I could use lines and
> > >curves, but that would affect the performances of my script (and
> > >would require a lot of complex calculations), so I'm here to ask
> > >if someone can confirm that this is a bug indeed.
> > >
> > >Thanks,
> > >Maurizio
> > >
> > >--
> > >Č difficile avere una convinzione precisa quando si parla delle
> > >ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi
> > >http://www.jidesk.net
> > >
> > >
> >
>



-- 
È difficile avere una convinzione precisa quando si parla delle ragioni del
cuore. - "Sostiene Pereira", Antonio Tabucchi
http://www.jidesk.net

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.