You may have seen the 2024 Olympics logo.
Graphics​​(*face*)​​
,
FilledCurve[
]
,
FilledCurve[
]
,​​(*logotype*)​​
,
FilledCurve[
]
,​​(*rings*)​​
,
FilledCurve[
]
,
,
FilledCurve[
]
,
,
FilledCurve[
]
,
FilledCurve[
]
,
,
FilledCurve[
]
,
FilledCurve[
]
,
,
FilledCurve[
]
,
FilledCurve[
]
​​
Out[]=
​
Let’s grab a piece of that. The main part uses 34 points.
In[]:=
flame=
;​​lips=
;​​Graphics[{​​(*face*)​​{
,FilledCurve[{{{1,4,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3}}},{flame}],​​FilledCurve[{{{1,4,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3},{1,3,3}}},{lips}],​​Black,ResourceFunction["NumberedPointPlot"][flame][[1]],​​Gray,ResourceFunction["NumberedPointPlot"][lips][[1]]​​}​​}]
Out[]=
Points {1,4,7,10,13,16,19,22,25,28,31,34} are endpoints of arcs.
These points are controls for Bézier curves, first developed by French mathematician Paul de Casteljau for French automaker Citroën, but later independently developed by French engineer Pierre Bézier for French automaker Renault. These are very French curves in the Logo.
Here’s a piece of it, using BezierCurve instead.
In[]:=
Graphics[{​​BezierCurve[Take[flame,{10,13}]],​​BezierCurve[Take[flame,{13,16}]],​​BezierCurve[Take[flame,{16,19}]],​​BezierCurve[Take[flame,{19,22}]],​​BezierCurve[Take[flame,{22,25}]]}]
Out[]=
Let’s compare that to the same section using BSplineCurve:
In[]:=
Graphics[{​​BSplineCurve[Take[flame,{10,13}]],​​BSplineCurve[Take[flame,{13,16}]],​​BSplineCurve[Take[flame,{16,19}]],​​BSplineCurve[Take[flame,{19,22}]],​​BSplineCurve[Take[flame,{22,25}]]}]
Out[]=
We can see the process via Generating a Bezier Curve by the de Casteljau Algorithm:
Out[]=
​
order of the Bezier curve
3
the index u, 0 ≤ u ≤ 1
0.45
Here’s one section where the de Casteljau algorithm is used to generate the points:
In[]:=
Graphics[{BezierCurve[Take[flame,{22,25}]],Point[Table[​​((flame[[22]](1-a)+flame[[23]]a)(1-a)+(flame[[23]](1-a)+flame[[24]]a)(a))(1-a)+​​((flame[[23]](1-a)+flame[[24]]a)(1-a)+(flame[[24]](1-a)+flame[[25]]a)(a))(a),{a,0,1,.05}]]}]
Out[]=
You can learn more about Bézier curves with the Demonstrations at the link Bezier. For example, Rational Cubic Bézier Curves.

CITE THIS NOTEBOOK

The Math of the Marianne Olympics 2024 Logo​
by Ed Pegg​
Wolfram Community, STAFF PICKS, June 12, 2024
​https://community.wolfram.com/groups/-/m/t/3191949