one .. small.. path for (a) man

cwright's picture
cwright@phendrana:~/projects/disasm/bezier>./bezier 
2009-03-26 15:10:56.603 bezier[20625:10b] elementCount: 21
2009-03-26 15:10:56.606 bezier[20625:10b]    * 0: MoveTo 9.895508, -6.952148
2009-03-26 15:10:56.607 bezier[20625:10b]    * 1: CurveTo 12.053223,-5.761230 via 10.944341,-6.952148 and 11.663572,-6.555180
2009-03-26 15:10:56.609 bezier[20625:10b]    * 2: CurveTo 12.637695,-3.111328 via 12.442873,-4.967281 and 12.637695,-4.083989
2009-03-26 15:10:56.610 bezier[20625:10b]    * 3: CurveTo 12.215820,-0.966797 via 12.637695,-2.232417 and 12.497071,-1.517581
2009-03-26 15:10:56.612 bezier[20625:10b]    * 4: CurveTo 9.913086,0.333984 via 11.770506,-0.099605 and 11.002935,0.333984
2009-03-26 15:10:56.614 bezier[20625:10b]    * 5: CurveTo 7.803711,-0.773438 via 8.946284,0.333984 and 8.243166,-0.035152
2009-03-26 15:10:56.617 bezier[20625:10b]    * 6: CurveTo 7.144531,-3.445312 via 7.364255,-1.511723 and 7.144531,-2.402339
2009-03-26 15:10:56.619 bezier[20625:10b]    * 7: CurveTo 7.803711,-5.950195 via 7.144531,-4.447270 and 7.364255,-5.282223
2009-03-26 15:10:56.620 bezier[20625:10b]    * 8: CurveTo 9.895508,-6.952148 via 8.243166,-6.618168 and 8.940425,-6.952148
2009-03-26 15:10:56.622 bezier[20625:10b]    * 9: Close 8.243166,-6.618168
2009-03-26 15:10:56.624 bezier[20625:10b]    * 10: MoveTo 9.957031, 1.713867
2009-03-26 15:10:56.625 bezier[20625:10b]    * 11: CurveTo 13.033203,0.500977 via 11.169928,1.713867 and 12.195309,1.309574
2009-03-26 15:10:56.627 bezier[20625:10b]    * 12: CurveTo 14.290039,-3.067383 via 13.871098,-0.307621 and 14.290039,-1.497063
2009-03-26 15:10:56.628 bezier[20625:10b]    * 13: CurveTo 13.182617,-6.829102 via 14.290039,-4.584969 and 13.920902,-5.838862
2009-03-26 15:10:56.630 bezier[20625:10b]    * 14: CurveTo 9.746094,-8.314453 via 12.444332,-7.819342 and 11.298836,-8.314453
2009-03-26 15:10:56.631 bezier[20625:10b]    * 15: CurveTo 6.661133,-7.000488 via 8.451165,-8.314453 and 7.422855,-7.876469
2009-03-26 15:10:56.633 bezier[20625:10b]    * 16: CurveTo 5.518555,-3.471680 via 5.899410,-6.124508 and 5.518555,-4.948250
2009-03-26 15:10:56.635 bezier[20625:10b]    * 17: CurveTo 6.722656,0.307617 via 5.518555,-1.889641 and 5.919918,-0.629888
2009-03-26 15:10:56.636 bezier[20625:10b]    * 18: CurveTo 9.957031,1.713867 via 7.525394,1.245122 and 8.603509,1.713867
2009-03-26 15:10:56.639 bezier[20625:10b]    * 19: Close 7.525394,1.245122
2009-03-26 15:10:56.660 bezier[20625:10b]    * 20: MoveTo 15.010742, -7.971680

That, while not totally obvious, is the letter 'o'. In Bezier paths.

This concludes part 1 of 4 in The Quest To Make 3D Text.

(Part 2 is Evaluating the splines (easy), Part 3 is Tessellating the resultant N-gons (medium), and Part 4 is Extrusion (medium-hard)).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

gtoledo3's picture
Re: one .. small.. path for (a) man

No kidding. Congrats!

tobyspark's picture
Re: one .. small.. path for (a) man

ha, just as i get a first version of spk-calligraphy together. if this could output a structure, that would be interesting. coincentally, met alx today and talked about just that thing - 'spread' generating patches.

http://tobyz.net/tobyzstuff/diary/2009/03/kinetxt-handwriting-dev

...now if only i could anti-alias GL_QUAD_STRIPs, why oh why doesn't it work!

usefuldesign.au's picture
Re: one .. small.. path for (a) man

Just Part One is great on it's own. If this could feed to a structure of splines and spline structure can feed into a into renderer patch (which maybe KinGL has already – still studying these patches)... sky's the limit.

Remember seeing some really nice animation of glyphs in nodebox or similar where the component curve segments of characters got iterated over and occasional points randomly translated in time. Shape had a fill too which added to affect.

Fill option on Line/Spline structures could be a nice addition to GL Patches if not there already.