# FilledCurve

FilledCurve[{segment1,segment2,}]

represents a filled curve consisting of segment1 followed by segment2 etc.

FilledCurve[{component1,component2,}]

represents a list of separate filled component curves component1, component2, etc.

# Details and Options

• FilledCurve can be used in Graphics (two-dimensional graphics).
• FilledCurve[segment] is equivalent to FilledCurve[{segment}].
• Possible forms of segmenti include:
•  Line[{pt1,pt2,…}] lines BezierCurve[{pt1,pt2,…},…] Bézier curve BSplineCurve[{pt1,pt2,…},…] B-spline curve
• The first point on segmenti is taken to be the last point on segmenti-1. FilledCurve[{pr1[{p1,,pi}],pr2[{q1,,qj}],}] is equivalent to FilledCurve[{pr1[{p1,,pi}],pr2[{pi,q1,,qj}],}].
• Filled curves can be non-convex and intersect themselves. Self-intersecting curves are filled according to an even-odd rule that alternates between filling and not at each crossing.
• FilledCurve[{component1,component2,}] treats each component curve as a separate closed curve, but the filling behavior is determined as if they were part of the same curve.
• The coordinates can be specified using:
•  {x,y} ordinary coordinates Scaled[{x,y}] scaled coordinates ImageScaled[{x,y}] image scaled coordinates Offset[{dx,dy},{x,y}] absolute offset coordinates
• Individual coordinates and lists of coordinates in segments can be Dynamic objects.
• FaceForm and EdgeForm can be used to specify how the interiors and boundaries should be rendered.
• Edge thickness can be specified using Thickness or AbsoluteThickness, as well as Thick, Thin, etc. in EdgeForm.
• Edge dashing can be specified using Dashing or AbsoluteDashing, as well as Dashed, Dotted, etc. in EdgeForm; for FilledCurve the dashing will be computed across all segments for each component curve.
• Edge coloring and transparency can be specified using CMYKColor, GrayLevel, Hue, Opacity, or RGBColor in EdgeForm.
• Joining of curve segments can be specified using JoinForm.
• Face coloring and transparency can be specified using CMYKColor, GrayLevel, Hue, Opacity, or RGBColor in FaceForm.
• A texture can be applied using Texture and will be mapped to the curve using the VertexTextureCoordinates option specified for the curve.
• VertexColors and VertexNormals options to Line will have no effect within a FilledCurve construct.

# Examples

open allclose all

## Basic Examples(4)

Filled curve from a Bézier segment:

Filled curve with mixed curve segments:

Filled curve with a hole:

Self-intersecting filled curve:

Differently styled filled curves:

Texture-mapped filled curve:

## Scope(9)

### Curve Specification(3)

Filled curve with a single line segment:

Filled curve with a single Bézier curve segment:

Filled curve with a single B-spline curve segment:

Filled curve with mixed curve segments:

Filled curve with a hole:

Filled curve with multiple holes:

Filled curve with multiple components:

Filled curve with self-intersections:

### Curve Styling(3)

Color directives specify the face colors of filled curves:

FaceForm and EdgeForm can be used to specify the styles of the interiors and boundaries:

JoinForm can be used to specify the type of joins of boundaries:

### Coordinate Specification(3)

Use Scaled coordinates:

Use ImageScaled coordinates:

Use Offset coordinates:

## Generalizations & Extensions(2)

Each curve segment can have its own options for fine control:

By default, a Bézier segment will be attached without considering the tangent at the joining:

Automatic can be used in the first coordinate of a Bézier segment to create a smooth joint:

## Options(2)

### VertexTextureCoordinates(2)

Texture mapping with a filled Bézier curve:

Texture mapping mapped to multiple component curves:

## Applications(5)

### Graphics, Glyphs, etc.(2)

Define a letter with a filled curve:

Extract a filled curve from a graphic:

Rotate the glyph around the origin:

### Text Effects(1)

Import text as a filled curve in graphics, using PDF as an intermediate format:

Outline fonts using different edge and face forms:

3D text effect:

### Text Banner(1)

Import text as a filled curve:

Create envelope functions of banners using BSplineFunction:

Define a function to rescale coordinates according to coordinates and envelope functions:

Deform the filled curves by replacing coordinates:

Display:

### Tessellation(1)

Create a curved edge of a tile:

Rotate it by 120° to get additional edges:

Make a single tile with Bézier curve edges using a filled curve:

Tile the plane by rotating and translating it:

## Properties & Relations(1)

By default, each component of a filled curve closes itself by adding a line segment at the end:

On the contrary, JoinedCurve does not close the component by default:

Use the CurveClosed option to close the components in a curve:

## Possible Issues(1)

VertexColors options specified within segments are ignored:

## Neat Examples(2)

Random filled curves:

Waving text banner:

Wolfram Research (2010), FilledCurve, Wolfram Language function, https://reference.wolfram.com/language/ref/FilledCurve.html (updated 2018).

#### Text

Wolfram Research (2010), FilledCurve, Wolfram Language function, https://reference.wolfram.com/language/ref/FilledCurve.html (updated 2018).

#### CMS

Wolfram Language. 2010. "FilledCurve." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2018. https://reference.wolfram.com/language/ref/FilledCurve.html.

#### APA

Wolfram Language. (2010). FilledCurve. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FilledCurve.html

#### BibTeX

@misc{reference.wolfram_2023_filledcurve, author="Wolfram Research", title="{FilledCurve}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/FilledCurve.html}", note=[Accessed: 24-September-2023 ]}

#### BibLaTeX

@online{reference.wolfram_2023_filledcurve, organization={Wolfram Research}, title={FilledCurve}, year={2018}, url={https://reference.wolfram.com/language/ref/FilledCurve.html}, note=[Accessed: 24-September-2023 ]}