From 0bc057e81150600abb00df1407f5c0cdd3ce26bc Mon Sep 17 00:00:00 2001 From: Pomax Date: Mon, 30 Aug 2021 07:44:49 -0700 Subject: [PATCH] update drawCurve to drawCurvePoint to better reflect what it does --- docs/chapters/decasteljau/content.ja-JP.md | 8 ++++---- docs/chapters/decasteljau/content.ru-RU.md | 12 ++++++------ docs/chapters/decasteljau/content.zh-CN.md | 8 ++++---- docs/chapters/splitting/content.en-GB.md | 4 ++-- docs/chapters/splitting/content.ja-JP.md | 4 ++-- docs/chapters/splitting/content.zh-CN.md | 4 ++-- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/chapters/decasteljau/content.ja-JP.md b/docs/chapters/decasteljau/content.ja-JP.md index 21c8336f..8f2081fb 100644 --- a/docs/chapters/decasteljau/content.ja-JP.md +++ b/docs/chapters/decasteljau/content.ja-JP.md @@ -26,20 +26,20 @@ いま説明したアルゴリズムを実装すると、以下のようになります。 ``` -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): draw(points[0]) else: newpoints=array(points.size-1) for(i=0; itの位置の点(すなわち、さきほどの説明に出てきた「印」)のリストを作り、そしてこの新しいリストを引数にして関数を呼び出します。 diff --git a/docs/chapters/decasteljau/content.ru-RU.md b/docs/chapters/decasteljau/content.ru-RU.md index 93d91765..97303d99 100644 --- a/docs/chapters/decasteljau/content.ru-RU.md +++ b/docs/chapters/decasteljau/content.ru-RU.md @@ -2,13 +2,13 @@ Для зарисовки кривой Безье, мы можем пробежаться по всем значениям `t` от 0 до 1 и скомпилировать вывод базовой функции с подставленными весами для каждого значения. К сожалению, чем замысловатее кривая, тем дороже обходиться это обчисление. Вместо этого, мы можем воспользоваться *Алгоритмом де Кастельжо* для прорисовки кривых. Этот алгоритм позволяет прорисовывать кривые базируясь на геометрических вычислениях и довольно прост в применении. На деле, настолько прост, что его можно воплотить при помощи карандаша и линейки. -Вместо использования функции математического анализа для нахождения значений `x/y` для `t`, давайте сделаем следующее: +Вместо использования функции математического анализа для нахождения значений `x/y` для `t`, давайте сделаем следующее: - Примем `t` за пропорцию(чем оно и является). t=0 будет 0% вдоль линии, t=1, соответсвенно, 100% вдоль линии. - Возьмем все линии между заданными контрольными точками. Для кривой `n`-го порядка это `n` линий - Разместим маркеры вдоль линий, соответсвенно значению `t`. Так, если `t` 0.2, разместим маркер на 20% от начала, и, соответственно, 80% от конца. - Теперь соединим полученные точки линиями. Это дает нам `n-1` линий. -- Далее разместим маркеры на новых линиях, соответсвенно тому-же значению `t`. +- Далее разместим маркеры на новых линиях, соответсвенно тому-же значению `t`. - Продолжим повторять два предыдущих шага, пока на выводе у нас останется всего одна линия. Маркер `t` на этой линии будет соответствовать точке для `t` на нашей кривой. Чтобы проверить это в действии, ведите ползунок под ниже представленным графиком слева направо и наоборот, задавая разные значения `t` для иллюстрации геометрического построения. @@ -24,20 +24,20 @@ Запишем согласно предложенному алгоритму: ``` -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): draw(points[0]) else: newpoints=array(points.size-1) for(i=0; it между поточного списка точек вводной и вызовет саму себя с новой вводной. diff --git a/docs/chapters/decasteljau/content.zh-CN.md b/docs/chapters/decasteljau/content.zh-CN.md index b69e80f8..1ba6ca77 100644 --- a/docs/chapters/decasteljau/content.zh-CN.md +++ b/docs/chapters/decasteljau/content.zh-CN.md @@ -26,20 +26,20 @@ 让我们使用刚才描述过的算法,并实现它: ``` -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): draw(points[0]) else: newpoints=array(points.size-1) for(i=0; it为比例的一系列点(例如,以上算法中的"标记点"),然后为新的点列表调用绘制函数。 diff --git a/docs/chapters/splitting/content.en-GB.md b/docs/chapters/splitting/content.en-GB.md index ae7e0616..2b149c52 100644 --- a/docs/chapters/splitting/content.en-GB.md +++ b/docs/chapters/splitting/content.en-GB.md @@ -15,7 +15,7 @@ We can implement curve splitting by bolting some extra logging onto the de Caste ``` left=[] right=[] -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): left.add(points[0]) right.add(points[0]) @@ -28,7 +28,7 @@ function drawCurve(points[], t): if(i==newpoints.length-1): right.add(points[i+1]) newpoints[i] = (1-t) * points[i] + t * points[i+1] - drawCurve(newpoints, t) + drawCurvePoint(newpoints, t) ``` After running this function for some value `t`, the `left` and `right` arrays will contain all the coordinates for two new curves - one to the "left" of our `t` value, the other on the "right". These new curves will have the same order as the original curve, and can be overlaid exactly on the original curve. diff --git a/docs/chapters/splitting/content.ja-JP.md b/docs/chapters/splitting/content.ja-JP.md index eae1490a..e8cf4582 100644 --- a/docs/chapters/splitting/content.ja-JP.md +++ b/docs/chapters/splitting/content.ja-JP.md @@ -15,7 +15,7 @@ ``` left=[] right=[] -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): left.add(points[0]) right.add(points[0]) @@ -28,7 +28,7 @@ function drawCurve(points[], t): if(i==newpoints.length-1): right.add(points[i+1]) newpoints[i] = (1-t) * points[i] + t * points[i+1] - drawCurve(newpoints, t) + drawCurvePoint(newpoints, t) ``` ある値`t`に対してこの関数を実行すると、`left`と`right`に新しい2曲線の座標が入ります。一方は`t`の「左」側、もう一方は「右」側の曲線です。この2曲線は元の曲線と同じ次数になり、また元の曲線とぴったり重なります。 diff --git a/docs/chapters/splitting/content.zh-CN.md b/docs/chapters/splitting/content.zh-CN.md index dfd04f91..cf9c833d 100644 --- a/docs/chapters/splitting/content.zh-CN.md +++ b/docs/chapters/splitting/content.zh-CN.md @@ -15,7 +15,7 @@ ``` left=[] right=[] -function drawCurve(points[], t): +function drawCurvePoint(points[], t): if(points.length==1): left.add(points[0]) right.add(points[0]) @@ -28,7 +28,7 @@ function drawCurve(points[], t): if(i==newpoints.length-1): right.add(points[i+1]) newpoints[i] = (1-t) * points[i] + t * points[i+1] - drawCurve(newpoints, t) + drawCurvePoint(newpoints, t) ``` 对某个给定 `t` 值,该函数执行后,数组 `left` 和 `right` 将包含两条曲线的所有点的坐标 -- 一条是`t`值左侧的曲线,一条是`t`值右侧的曲线, 与原始曲线同序且完全重合。