# `GSQuarticToCubic`

*Function*

Converts from a quartic curve segment to two cubic curve segments.

## Declaration

```swift
func GSQuarticToCubic(_ quartic: UnsafePointer<NSPoint>, _ cubic1: UnsafeMutablePointer<NSPoint>, _ cubic2: UnsafeMutablePointer<NSPoint>)
```

```objc
void GSQuarticToCubic(const NSPoint quartic[5], NSPoint cubic1[4], NSPoint cubic2[4]);
```

```python
GSQuarticToCubic(quartic: NSPoint, cubic1: NSPoint, cubic2: NSPoint)
```

## Parameters

- `quartic` — The five points of a quartic segment: start point, three control points, and the end point.
- `cubic1` — The four points of a cubic segment: start point, two control points, and the end point.
- `cubic2` — The four points of a cubic segment: start point, two control points, and the end point.

## Discussion

The following constraints hold:

- `cubic1[0] == quartic[0]`
- `cubic1[3] == cubic2[0]`
- `cubic2[3] == quartic[4]`

## See Also

### Curve Subdivision and Conversion

- [`GSHalveCubicPoints`](/Core/GlyphsCore/GSHalveCubicPoints)
- [`GSHalveCubicSegment`](/Core/GlyphsCore/GSHalveCubicSegment)
- [`GSHalveQuadraticPoints`](/Core/GlyphsCore/GSHalveQuadraticPoints)
- [`GSHalveQuadraticSegment`](/Core/GlyphsCore/GSHalveQuadraticSegment)
- [`GSQuadratic2Cubic`](/Core/GlyphsCore/GSQuadratic2Cubic)
- [`GSDividQuadraticPoints`](/Core/GlyphsCore/GSDividQuadraticPoints)
- [`GSDividQuadraticSpline`](/Core/GlyphsCore/GSDividQuadraticSpline)
- [`GSDividCubicPoints`](/Core/GlyphsCore/GSDividCubicPoints)
- [`GSDividCubicPointsTs`](/Core/GlyphsCore/GSDividCubicPointsTs)
- [`GSDividCubicSegment`](/Core/GlyphsCore/GSDividCubicSegment)
- [`GSDividQuarticSegment`](/Core/GlyphsCore/GSDividQuarticSegment)
- [`GSApproximateQuartic`](/Core/GlyphsCore/GSApproximateQuartic)
- [`GSSegmentBetweenPoints`](/Core/GlyphsCore/GSSegmentBetweenPoints)

