Skip to content

Conversation

@perminder-17
Copy link
Contributor

This is a WIP PR and will try to complete it as soon as possible.

Copy link
Collaborator

@davepagurek davepagurek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One other thought: do we want to include a mention of beziers here for comparison? Maybe something about why you'd want to use one or the other even if we don't explain the whole bezier API?


### Advanced Spline Shapes and Customization

So far we've been drawing a single curve segment defined by four points. Now, let's explore more advanced possibilities: creating complex shapes from multiple spline segments, closing splines into continuous loops, and customizing the spline’s properties (like its tightness or endpoint handling) to achieve different effects.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I almost wonder if we should start with beginShape/endShape right after showing a single spline() as the main thing in the tutorial, since I imagine drawing bigger curves and smooth closed curves is a more common use than getting points/tangents along a single segment.

How do you feel about moving this + the closed loop bit up, giving them their own headings (e.g. "Spline Shapes" and "Closed Spline Loops" or something like that?) and then including splinePoint/splineTangent under the advanced section?

@davepagurek
Copy link
Collaborator

cool thumbnail for the article btw!

Comment on lines +120 to +127
*Splines vs. Bezier Curves*

`bezier()` uses a start point, an end point, and extra control points that pull the curve but are not on the curve.

`spline()` makes a curve that passes through all the points you give.

Use `splines` when the curve must go through specific coordinates.
Use `Beziers` when you want to shape the curve with off-curve handles.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, I already explain splines and bezier for comparison together. Do you mean adding more description to it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As before, I think a very simple image might be a helpful complement to the text

@perminder-17 perminder-17 marked this pull request as ready for review December 6, 2025 10:28
@perminder-17 perminder-17 requested a review from ksen0 December 6, 2025 10:29
Copy link
Member

@ksen0 ksen0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really appreciate how in-depth this is! My only major request here is to complement the intro and initial descriptions with very, very beginner-friendly graphics, that require no knowledge of any trigonometry at all


## Introduction

Splines are smooth curves that interpolate through a series of points,forming gentle, flowing shapes. A spline is a smooth curve defined by a set of points, with a function that lets you compute additional points smoothly between them. This makes it easy to draw natural-looking curves without manually specifying tangents.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: "A spline is a smooth curve defined by a set of points" -> "These curves are defined by a set of points"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"with a function that lets you compute additional points smoothly between them" -> "and a function that determines how additional points are computed between them."

It might be better to give visual example right here of 2 different functions than to describe more verbally

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"This makes it easy to draw natural-looking curves without manually specifying tangents." -> remove "without manually specifying tangents" as the general style of tutorials is more beginner- and learner-friendly, so cannot assume "tangents" is understood

Comment on lines +120 to +127
*Splines vs. Bezier Curves*

`bezier()` uses a start point, an end point, and extra control points that pull the curve but are not on the curve.

`spline()` makes a curve that passes through all the points you give.

Use `splines` when the curve must go through specific coordinates.
Use `Beziers` when you want to shape the curve with off-curve handles.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As before, I think a very simple image might be a helpful complement to the text

import Callout from "../../../components/Callout/index.astro";

## Introduction

Copy link
Member

@ksen0 ksen0 Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more comment: Though the title connects splines to curves and shapes, the introduction jumps right into splines. I think it would be very helpful to provide a very brief intro summary of when someone would need to learn about splines (when you want to make curvy shapes_

Thanks to @SableRaf for the input and for suggesting this wonderful video: https://www.youtube.com/watch?v=jvPPXbo87ds - maybe the introduction in this video specifically can be an inspiration, or at least a linked resource people could check out?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants