Bezier curve

Inderjit Singh <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <b161e5dc-98d5-43f4-ac4d-d6064b4ae1c4@is-PC>
Hi, 

I'm new to cairo and I'm trying to draw a smooth curve between using an array of points. 

Say I have an array with (x,y) coordinates as: POS_T pos = {{0.0, 0.0}, {1.0,1.0}, {1.5, 2.0}, {0.5, 3.0}, {0.0, 4.0}}; 

So basically, a half round 'circle'. I've been looking in cairo docs but the closest thing I get to is the cairo_curve_to but for that it requires control points. How is it determined? I want a simple smooth line but using Bezier algorithm requires additional data to make it happen. Is that correct? 

Or can I simply use curve_line_to and then interpolate this? currently the code looks like this for line: 

... 
for(uint32_t i = 0; i < boundary; i=i++) 
{ 
cairo_move_to(cr, station->coverage[i].x, station->coverage[i].y); 

// cairo_line_to(cr, 
// station->coverage[(i+1) % boundary].x, 
// station->coverage[(i+1) % boundary].y); 

cairo_curve_to(cr, 
station->coverage[i].x, 
station->coverage[(i].y, 
station->coverage[i+1].x, 
station->coverage[i+1].y, 
station->coverage[i+2].x, 
station->coverage[i+2].y); 
} 

cairo_set_line_width (cr, 1.5); 
cairo_stroke(cr); 

cairo_destroy(cr); 


Any help would be appreciated. Thanks. 
Indy

--
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.