RE: [LIBART] problem with art_rgb_svp_alpha()
- From: "Jason Priebe" <priebe mi-corporation com>
- To: <libart gnome org>
- Subject: RE: [LIBART] problem with art_rgb_svp_alpha()
- Date: Wed, 7 Mar 2001 10:29:43 -0500
Thank you so much for this tip! I would have never thought
of using art_vpath_perturb()!
art_vpath_perturb() got me out of the infinite loop, which
was a good thing. However, it did not fix another problem
I was having, where I would get blocks of filled-in pixels
where they didn't belong.
This is a bit hard to explain, but what I was seeing was
the desired vector path and a solid block of filled pixels
running from the right-hand edge of the vector path to the
right-most edge of the image.
I was also getting a lot of colinear warnings. A _lot_ of
our handwritten data is colinear, due to the low sampling
resolution of some of our input devices.
I decided to write my own vpath_perturb() function, which
uses a larger perturbation value (2e-2 instead of 2e-3),
and all of my problems seem to have gone away!
Thanks for pointing me in the right direction!
Jason Priebe
Mi-Co
http://www.mi-corporation.com/
> -----Original Message-----
> From: libart-admin gnome org [mailto:libart-admin gnome org]On Behalf Of
> Lauris Kaplinski
> Sent: Tuesday, March 06, 2001 5:45 PM
> To: Jason Priebe
> Cc: libart gnome org
> Subject: RE: [LIBART] problem with art_rgb_svp_alpha()
>
>
> Hello!
>
> Doy you call art_vpath_perturb?
> It distorts points by microscopic distances, thus probably
> killing many numerical
> stability problems. It helped me - and from your point list I
> saw, you have
> colienar segments...
>
> Lauris Kaplinski
>
> On 06 Mar 2001 07:56:51 -0500, Jason Priebe wrote:
> > > > I'm generating an svp from a set of 23 points. I pass
> > > > that into art_rgb_svp_alpha(), and it hangs. I've used
> > > > gdb to trace it to line 283 in art_svp_render_aa.c.
> > >
> > > How exactly do you generate the svp ?
> > > The correct way is to build a vpath and either
> > > art_svp_vpath_stroke or art_svp_from_vpath it.
> > > For the latter, the surface (I assume the vpath is closed) outline
> > > must be given counter-clockwise.
> >
> > Sorry -- I should have been more specific. I'm taking the
> > point list that I sent in my previous message and building
> > a vpath from it. Then I call
> >
> > art_svp_vpath_stroke(vpath, ART_PATH_STROKE_JOIN_ROUND,
> > ART_PATH_STROKE_CAP_ROUND,
> > STROKE_WIDTH,
> > 0.0,
> > 0.25);
> >
> > The resulting svp is passed to art_rgb_svp_alpha().
> >
> > The path is not closed, and the points are completely arbitrary;
> > the data comes from handwritten strokes. Are there preconditions
> > that must be met in order to use art_svp_vpath_stroke()?
> >
> > Jason Priebe
> > Mi-Co
> > http://www.mi-corporation.com/
> >
>
>
> _______________________________________________
> Libart mailing list
> Libart gnome org
> http://mail.gnome.org/mailman/listinfo/libart
>
BEGIN:VCARD
VERSION:2.1
N:Priebe;Jason
FN:Jason Priebe
ORG:Mi-Co
TITLE:Director of Internet Services
TEL;WORK;VOICE:(919) 485-4819 x615
TEL;HOME;VOICE:(919) 838-0630
TEL;CELL;VOICE:(919) 523-6300
TEL;WORK;FAX:(919) 990-8561
ADR;WORK:;;2 Davis Drive;Research Triangle Park;North Carolina;27709;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:2 Davis Drive=0D=0AResearch Triangle Park, North Carolina 27709=0D=0AUnited =
States of America
EMAIL;PREF;INTERNET:priebe mi-corporation com
EMAIL;INTERNET:9195236300 dpcs mobile att net
EMAIL;INTERNET:jason_priebe yahoo com
REV:20010209T141307Z
END:VCARD
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]