2.7 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f4d91000cf542c50ffeb | Задача 363: Крива Безьє | 5 | 302024 | problem-363-bzier-curves |
--description--
Кубічна крива Безьє визначається чотирма точками: P_0
, P_1
, P_2
та P_3
.
Крива будується наступним чином:

На відрізках P_0P_1
, P_1P_2
та P_2P_3
точки Q_0
,$Q_1$ та Q_2
намальовані так, що \frac{P_0Q_0}{P_0P_1} = \frac{P_1Q_1}{P_1P_2} = \frac{P_2Q_2}{P_2P_3} = t
, з t
в [0,1].
На відрізках Q_0Q_1
та Q_1Q_2
точки R_0
та R_1
намальовані так, що \frac{Q_0R_0}{Q_0Q_1} = \frac{Q_1R_1}{Q_1Q_2} = t
для того ж значення t
.
На відрізку R_0R_1
точка B
намальована так, що \frac{R_0B}{R_0R_1} = t
для того ж значення t
.
Крива Безьє, визначена точками P_0
, P_1
, P_2
, P_3
, є місцем розташування B
, оскільки Q_0
займає всі можливі позиції на відрізку P_0P_1
. (Зверніть увагу, що для всіх пунктів значення t
однакове.)
З побудови зрозуміло, що крива Безьє буде дотичною до відрізків P_0P_1
в P_0
та P_2P_3
в P_3
.
Кубічна крива Безьє з P_0 = (1, 0)
, P_1 = (1, v)
, P_2 = (v, 1)
і P_3 = (0, 1)
використовується для наближення значення чверті кола. Значення v > 0
вибрано таким чином, що площа, обмежена лініями OP_0
, OP_3
і крива дорівнює \frac{π}{4}
(площа чверті кола).
На скільки відсотків довжина кривої відрізняється від довжини чверті кола? Тобто, якщо L
- це довжина кривої, обчисліть 100×\displaystyle\frac{L-\frac{π}{2}}{\frac{π}{2}}
. Відповідь округляйте до 10 цифр після коми.
--hints--
bezierCurves()
повинен повернутися 0.0000372091
.
assert.strictEqual(bezierCurves(), 0.0000372091);
--seed--
--seed-contents--
function bezierCurves() {
return true;
}
bezierCurves();
--solutions--
// solution required