{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T01:02:01Z","timestamp":1772931721283,"version":"3.50.1"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2020,8,12]],"date-time":"2020-08-12T00:00:00Z","timestamp":1597190400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2020,8,31]]},"abstract":"<jats:p>Vector graphics formats offer support for both filled and stroked primitives. Filled primitives paint all points in the region bounded by a set of outlines. Stroked primitives paint all points covered by a line drawn over the outlines. Editors allow users to convert stroked primitives to the outlines of equivalent filled primitives for further editing. Likewise, renderers typically convert stroked primitives to equivalent filled primitives prior to rendering. This conversion problem is deceivingly difficult to solve. Surprisingly, it has received little to no attention in the literature. Existing implementations output too many segments, do not satisfy accuracy requirements, or fail under a variety of conditions, often spectacularly. In this paper, we present a solution to the stroke-to-fill conversion problem that addresses these issues. One of our key insights is to take into account the evolutes of input outlines, in addition to their offsets, in regions of high curvature. Furthermore, our approach strives to maintain continuity between the input and the set of painted points. Our implementation is available in open source.<\/jats:p>","DOI":"10.1145\/3386569.3392392","type":"journal-article","created":{"date-parts":[[2020,8,12]],"date-time":"2020-08-12T11:44:27Z","timestamp":1597232667000},"update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Converting stroked primitives to filled primitives"],"prefix":"10.1145","volume":"39","author":[{"given":"Diego","family":"Nehab","sequence":"first","affiliation":[{"name":"IMPA, Brazil"}]}],"member":"320","published-online":{"date-parts":[[2020,8,12]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"E. Catmull. 1974. A Subdivision Algorithm for Computer Display of Curved Surfaces. Ph.D. Dissertation. Dept. Computer Science."},{"key":"e_1_2_2_2_1","volume-title":"Computer Grahpics Metafile","author":"CGM.","unstructured":"CGM. 1999. Computer Grahpics Metafile (2nd ed.). ISO\/IEC 8632.","edition":"2"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.13622"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/38.586019"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/s0167-8396(96)00026-x"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","unstructured":"F. Ganacim R. S. Lima L. H. de Figueiredo and D. Nehab. 2014. Massively-Parallel Vector Graphics. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2014) 36 6 (2014) 229. 10.1145\/2661229.2661274","DOI":"10.1145\/2661229.2661274"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cag.2005.08.002"},{"key":"e_1_2_2_8_1","volume-title":"Accuracy and Stability of Numerical Algorithms","author":"Higham N. J.","unstructured":"N. J. Higham. 2002. Accuracy and Stability of Numerical Algorithms (2nd ed.). SIAM.","edition":"2"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8396(88)90018-0"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.camwa.2010.05.021"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/s0167-8396(97)00044-7"},{"key":"e_1_2_2_12_1","doi-asserted-by":"crossref","unstructured":"M. J. Kilgard and J. Bolz. 2012. GPU-accelerated Path Rendering. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2012) 31 6 (2012) 172.","DOI":"10.1145\/2366145.2366191"},{"key":"e_1_2_2_13_1","volume-title":"The METAFONTbook","author":"Knuth D. E.","unstructured":"D. E. Knuth. 1989. The METAFONTbook. Addison-Wesley."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","unstructured":"R. Li Q. Hou and K. Zhou. 2016. Efficient GPU Path Rendering Using Scanline Rasterization. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2016) 35 6 (2016). 10.1145\/2980179.2982434","DOI":"10.1145\/2980179.2982434"},{"key":"e_1_2_2_15_1","unstructured":"W. M. Newman and R. F. Sproull. 1979. Principles of Interactive Computer Graphics (2nd ed.). McGraw-Hill Chapter 16."},{"key":"e_1_2_2_16_1","volume-title":"Open XML Paper Specification","author":"XPS.","unstructured":"OpenXPS. 2009. Open XML Paper Specification (first ed.). ECMA-388."},{"key":"e_1_2_2_17_1","volume-title":"Adobe Portable Document Format, v. 1.7","author":"PDF.","unstructured":"PDF. 2006. Adobe Portable Document Format, v. 1.7 (sixth ed.). Adobe Systems Incorporated."},{"key":"e_1_2_2_18_1","volume-title":"Numerical Recipes: The Art of Scientific Computing","author":"Press W. H.","year":"2007","unstructured":"W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. 2007. Numerical Recipes: The Art of Scientific Computing (3rd ed.). Cambridge University Press.","edition":"3"},{"key":"e_1_2_2_19_1","volume-title":"PostScript Language Reference","author":"PS.","unstructured":"PS. 1999. PostScript Language Reference (3rd ed.). Adobe Systems Incorporated.","edition":"3"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/133994.134024"},{"key":"e_1_2_2_21_1","volume-title":"Scalable Vector Graphics, v. 1.1","author":"SVG.","unstructured":"SVG. 2011. Scalable Vector Graphics, v. 1.1 (second ed.). W3C."},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/mcg.1984.275995"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/800064.801297"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3386569.3392392","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3386569.3392392","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,25]],"date-time":"2025-06-25T05:42:26Z","timestamp":1750830146000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3386569.3392392"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,8,12]]},"references-count":23,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,8,31]]}},"alternative-id":["10.1145\/3386569.3392392"],"URL":"https:\/\/doi.org\/10.1145\/3386569.3392392","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,8,12]]},"assertion":[{"value":"2020-08-12","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}