"построение правильных многоугольников с помощью циркуля и линейки". Построение изображений с помощью итерационных функций

В основе способов построения параллельных прямых с помощью различных инструментов лежат признаки параллельности прямых.

Построение параллельных прямых с помощью циркуля и линейки

Рассмотрим принцип построения параллельной прямой, проходящей через заданную точку , с помощью циркуля и линейки.

Пусть дана прямая и некоторая точка А, которая не принадлежит данной прямой.

Необходимо построить прямую, проходящую через заданную точку $А$ параллельно данной прямой.

На практике зачастую требуется построить две или более параллельных прямых без данной прямой и точки. В таком случае необходимо начертить прямую произвольно и отметить любую точку, которая не будет лежать на данной прямой.

Рассмотрим этапы построения параллельной прямой :

На практике также применяют метод построения параллельных прямых с помощью чертежного угольника и линейки.

Построение параллельных прямых с помощью угольника и линейки

Для построения прямой, которая будет проходить через точку М параллельно данной прямой а , необходимо:

  1. Угольник приложить к прямой $а$ диагональю (смотрите рисунок), а к его большему катету приложить линейку.
  2. Передвинуть угольник по линейке до тех пор, пока данная точка $М$ не окажется на диагонали угольника.
  3. Провести через точку $М$ искомую прямую $b$.

Мы получили прямую, проходящую через заданную точку $М$, параллельную данной прямой $а$:

$a \parallel b$, т. $M \in b$.

Параллельность прямых $а$ и $b$ видна из равности соответственных углов, которые отмечены на рисунке буквами $\alpha$ и $\beta$.

Построение параллельной прямой, отстоящей на заданное расстояние от данной прямой

В случае необходимости построения прямой, параллельной заданной прямой и отстоящей от нее на заданном расстоянии можно воспользоваться линейкой и угольником.

Пусть дана прямая $MN$ и расстояние $а$.

  1. Отметим на заданной прямой $MN$ произвольную точку и назовем ее $В$.
  2. Через точку $В$ проведем прямую, перпендикулярную к прямой $MN$, и назовем ее $АВ$.
  3. На прямой $АВ$ от точки $В$ отложим отрезок $ВС=а$.
  4. С помощью угольника и линейки проведем прямую $CD$ через точку $С$, которая и будет параллельной заданной прямой $АВ$.

Если отложить на прямой $АВ$ от точки $В$ отрезок $ВС=а$ в другую сторону, то получим еще одну параллельную прямую к заданной, отстоящую от нее на заданное расстояние $а$.

Другие способы построения параллельных прямых

Еще одним способом построения параллельных прямых является построение с помощью рейсшины. Чаще всего данный способ используют в чертежной практике.

При выполнении столярных работ для разметки и построения параллельных прямых, используется специальный чертежный инструмент – малка – две деревянные планки, которые скрепляются шарниром.


I. Введение.

II. Главная часть:

    Построение отрезка, равного произведению двух других с помощью циркуля и линейки:

    1. первый способ построения;

      второй способ построения;

      третий способ построения,

d) четвёртый способ построения.

2) Построение отрезка, равного отношению двух других с помощью циркуля и линейки:

      первый способ построения;

      второй способ построения.

Заключение.

Приложение.

Введение

Геометрические построения, или теория геометрических построений - раздел геометрии, где изучают вопросы и методы построения геометрических фигур, используя те или иные элементы построения. Геометрические построения изучаются как в геометрии Евклида, так и в других геометриях, как на плоскости, так и в пространстве. Классическими инструментами построения являются циркуль и линейка (односторонняя математическая), однако, существуют построения другими инструментами: только одним циркулем, только одной линейкой, если на плоскости начерчена окружность и её центр, только одной линейкой с параллельными краями и.т.д.

Все задачи на построение опираются на постулаты построения, то есть на простейшие элементарные задачи на построение, и задача считается решённой, если она сведена к конечному числу этих простейших задач-постулатов.

Естественно, каждый инструмент имеет свою конструктивную силу - свой набор постулатов. Так, известно, что разделить отрезок, пользуясь только одной линейкой, на две равные части нельзя, а пользуясь циркулем, можно.

Искусство построения геометрических фигур при помощи циркуля и линейки было в высокой степени развито в древней Греции. Одна из труднейших задач на построение, которую уже тогда умели выполнить, - построение окружности, касающейся трёх данных окружностей.

В школе изучают ряд простейших построений циркулем и линейкой (односторонней без делений): построение прямой, проходящей через заданную точку и перпендикулярной или параллельной данной прямой; деление пополам заданного угла, деление отрезка на несколько равных частей, используя теорему Фалеса (по сути дела - деление отрезка на натуральное число); построение отрезка большего данного в целое число раз (по сути -умножение отрезка на натуральное число). Однако, нами нигде не встречалась задача, где надо было бы с помощью циркуля и линейки умножить отрезок на отрезок, то есть построить отрезок, равный произведению двух данных отрезков, или деление отрезка на отрезок, то есть построить отрезок, равный отношению двух других отрезков. Нам показалась данная проблема очень интересной, и мы решили её исследовать, попытаться найти решение и возможность применения найденного метода решения к решению других задач, например, в математике и физике.

При решении задач на построение традиционная методика рекомендует нам четыре этапа: анализ, построение, доказательство и исследование. Однако, указанная схема решения задач на построение считается весьма академичной, и для её осуществления требуется много времени, поэтому часто отдельные этапы традиционной схемы решения задачи опускаются, например, этапы доказательства, исследования. В своей работе по возможности мы использовали все четыре этапа, да и то только там, где была в этом необходимость и целесообразность.

И последнее: найденный нами метод построения вышеназванных отрезков предполагает использование, помимо циркуля и линейки, произвольно выбранного единичного отрезка. Введение единичного отрезка диктуется ещё и тем, что он необходим хотя бы для того, чтобы подтвердить справедливость найденного нами метода нахождения отрезка на конкретных частных примерах.

ОБЩАЯ ПРОБЛЕМА І

С помощью циркуля и линейки построить отрезок, равный произведению двух других отрезков.

Примечание:

предполагается:

    Линейка - односторонняя, без делений.

    Задан отрезок единичной длины.

Исследование.

1.Рассмотрим прямые y=2x-2 2 и y=3x-3 2 и попробуем найти координаты точки пересечения этих прямых геометрическим и аналитическим методами:

а
) геометрический метод (Рис.1 ) показал, что координаты точки А пересечения этих прямых: «5»-абсцисса, «6»- ордината, т.е. АЕ=5, АД=6.

б) аналитический метод данный результат подтверждает, т.е. А (5;6) - точка пересечения прямых.

Действительно, решив систему уравнений

y=6 А(5;6)- точка пересечения прямых.

2.Рассмотрим отрезок: ОВ=2, ОС=3, АД=6, АЕ=5.

Можно предположить, что АД=ОВ×ОС, т.к. 6=2×3; АЕ=ОВ+ОС, т.к. 5=2+3 ,где

2=ОВ-угловой коэффициент уравнения y=2x-2 2 , 3=ОС - угловой коэффициент уравнения y=3x-3 2 , АД=у А, ОД=х А - координаты точки А пересечения наших прямых.

Наше предположение проверим на общем примере аналитическим методом, т.е. на уравнениях прямых y=mx-m 2 и y=nx-n 2 (где m≠n) проверим, что точка пересечения прямых имеет координаты:

y=nx-n 2 nx-n 2 =mx-m 2 x=(m 2 -n 2)÷(m-n)=m+n и y=mx-m 2 =m(m+n)-m 2 =mn

координаты точки А пересечения прямых, где m и n – угловые коэффициенты этих прямых, ч.т.д.

3. Осталось найти метод построения отрезка. АД=ОВ×ОС=m∙n=y А - ординаты точки А пересечения прямых У=mx-m 2 и У=nx-n 2 , где m≠n и m=OB, n=OC- отрезки, отложенные на оси ох. А для этого мы должны найти метод построения прямых У=mx-m 2 и У=nx-n 2 . из рассуждений видно, что эти прямые должны пройти через точки В и С отрезков OB=m и OC=n, которые принадлежат оси ох.

Замечание 1. Вышеназванные обозначения отрезков соответствуют рис.1 «Приложения»

Первый способ построения отрезка AD=mn, где m>1ед., n>1ед., m≠n.

единичный отрезок

произвольный отрезок, m>1eд., n>1eд.

n произвольный отрезок, где m≠n.

Построение (Рис.2)

    Проведём прямую ОХ

    На ОХ отложим ОА 1 = m

    На ОХ отложим А 1 С 1 =1ед

    Построим С 1 В 1 =m, где С 1 В 1 ┴ ОХ

    Проведём прямую А 1 В 1 , уравнение которой y=mx-m 2 в координатных осях ХОУ (масштаб на осях одинаковый).

Примечание:


Рис.2

Замечание 1.

Действительно, тангенс угла наклона этой прямой tgά 1 = С 1 В 1 /А 1 С 1 =m/1ед=m, которая проходит через точку А 1 отрезка ОА 1 =m.

Анологично строим прямую, уравнение которой У=nx-n 2 .

6.На оси ОХ отложим ОА 2 =n (точка А 2 случайно совпала с точкой С1).

7.На оси ОХ отложим А 2 С 2 =1ед.

8.Строим В 2 С 2 =n, где В 2 С 2 ┴ ОХ.

9.Проведём прямую В 2 А 2 , уравнение которой У=nx-n 2 .

Замечание 2. Действительно, тангенс наклона этой прямой tg ά 2 =C 2 B 2 /A 2 C 2 =n/1ед=n, которая проходит через т. А 2 отрезка ОА 2 =n.

10. Получили т.А (m+n; mn) – точку пересечения прямых У=mx-m 2 и У=nx-n 2

11. Проведем АД, перпендикулярную ох, где Д принадлежит оси ох.

12. Отрезок АД=mn (ордината т. А), т.е. искомый отрезок.

Замечание 3. а) действительно, если в нашем примере, n=4ед., m=3 ед., то должно быть АД=mn=3ед.∙4ед.=12ед. У нас так и получилось: АД=12ед.; б) прямая В 1 В 2 в этом построении не использовалась. В В – тоже.

Существует ещё, по крайней мере, три разных способа построения отрезка АД=mn.

Второй способ построения отрезка АД= mn , где m >1ед, n >1ед, m и n –любые.

Анализ

Анализ ранее построенного чертежа (рис.2), где с помощью найденного способа построения прямых У=mx-m 2 и У=nx-n 2 нашли т.А (m+n; mn) (это первый способ), подсказывает, что т.А(m+n; mn) можно найти построением любой из этих прямых (У=mx-m 2 или У=nx-n 2) и перпендикуляра АД, где АД – перпендикуляр к ОХ, АД=mn, Д принадлежит оси ОХ. Тогда искомая точка А (m+n; mn) является точкой пересечения любой из этих прямых и перпендикуляра АД. Достаточно найти углы наклона этих прямых, тангенсы которых, согласно угловым коэффициентам, равны m и n, т.е. tg ά 1= m и tg ά 2 =n. Учитывая, что tg ά 1 =m/1ед=m и tg ά 2 =n/1ед=n, где 1ед-единичный отрезок, можно легко построить прямые, уравнения которых У=mx-m 2 и У=nx-n 2 .

единичный отрезок

n n>1ед., m и n-любые числа.

П

остроение (Рис.3)

Рис.3

1.Проведём прямую ОХ.

2.На оси ОХ откладываем отрезок ОА 1 =m.

3.На оси ОХ отложим отрезок А 1 Д=n.

4.На оси ОХ отложим отрезок А 1 С 1 =1ед.

5.Строим С 1 В 1 =m, где С 1 В 1 ┴ ОХ.

6.Проведём прямую А1В1, уравнение которой У=mx-m2, в координатных осях ХОУ (масштаб на осях одинаковый).

7.Востанавливаем перпендикуляр к ОХ в точке D.

8.Получаем точку А (m+n; mn) - точку пересечения прямой У=mx-m2 и перпендикуляра AD

9.Отрезок AD=mn, то есть искомый отрезок.

Вывод: Этот второй способ универсальнее первого способа, так как позволяет найти точу А(m+n;mn)и тогда, когда m=n>1ед., тогда координаты этой точки А(2m;m 2) и AD=m 2 .

Другими словами этот метод позволяет найти отрезок, равный квадрату данного, длина которого больше 1ед.

Замечание: Действительно, если в нашем примере m=3ед., n=5ед., то должно быть AD=mn=3ед.×5ед.=15ед. У нас так и получилось: AD=15ед.

Третий способ построения отрезка AD = mn , где m >1ед, n >1ед и m n .

Используя рисунок №2, проведём штриховой линией прямую В 1 В 2 до пересечения с ОХ в точке Е € ОХ, и прямую В 1 В ┴ В 2 С 2 , тогда

В 1 В=С 1 С 2 =ОС 2 -ОС 1 =(n+1ед.)-(m+1ед)=n-m, а В 2 В=В 2 С 2 -В 1 С 1 =m-n => В 1 В=В 2 В=>∆В 1 ВВ 2 - равнобедренный, прямоугольный>∆ЕС 1 В 1 - равнобедренный, прямоугольный => ά=45º

Т.к. ОС 1 =m+1ед., а ЕС 1 =В 1 С 1 =m, то ОЕ=ОС 1 -ЕС 1 =m+1ед.-m=1ед.

Из рассуждений следует, что точки В 1 и В 2 можно найти по-другому, т.к. они являются точками пересечения прямой ЕВ 1 , проведённой под углом ά=45º к оси ОХ и перпендикуляров к ОХ: В 1 С 1 и В 2 С 2 , а ОЕ=1ед.Дальше, используя уже предыдущие методы будем иметь следующий способ построения.

Единичный отрезок.

n n>1ед., и m≠n.

Построение (Рис.4)

1.Проведём прямую ОХ.

5.Построим
ά=С 1 ЕВ 1 =45º, где В 1 - точка пересечения перпендикуляра С 1 В 1 со стороной ά=45º.

7.Отложим ОА 2 =n, где А 2 € ОХ.

8.Отложим А 2 С 2 =1ед., где С 2 € ОХ.

9.Восстановим перпендикуляр С 2 В 2 к оси ОХ в точке С 2 , где В 2 - точка пересечения перпендикуляра с прямой ЕВ 1 .

10.Проводим прямую А 2 В 2 , уравнение которой У=nx-n 2 , до пересечения с прямой А 1 В 1 в точке А.

11.Опускаем на ОХ из точки А перпендикуляр и получаем AD , равный mn, где D € ОХ, так как в координатных плоскостях осях ХОУ координаты точки А(m+n;mn).

Рис.4

Замечание: Недостаток данного способа такой же, как у первого способа построения, где построение возможно только при условии m≠n.

Четвёртый способ построения отрезка AD = mn , где m и n - любые, большие единичного отрезка.

Единичный отрезок.

n n>1ед., m и n- любые.

Построение (Рис.5)

Рис.5

1.Проведём прямую ОХ.

2.Отложим ОЕ=1ед., где Е € ОХ.

3.Отлтжим ЕС 1 =m, где С 1 € ОХ.

4.Восстановим перпендикуляр в точке С 1 к оси ОХ.

5.Построим ά=С 1 ЕВ 1 =45º, где В 1 - точка пересечения перпендикуляра С 1 В 1 со стороной ά=45º.

6.Отложив ОА 1 =m, проводим прямую А 1 В 1 , уравнение которой У=mx-m 2 , А € ОХ.

7.Отложим А 1 D=n, где D € OX.

8.Восстановим перпендикуляр в точке D до пересечения его в точке А с прямой А 1 В 1 , уравнение которой У=mx-m 2 .

9.Отрезок перпендикуляра AD = произведению отрезков m и n, то есть AD=mn, так как А (m+n; mn).

Замечание: Этот способ выгодно отличается от первого и третьего способов, где m≠n, так как имеем дело с любыми отрезками m и n, единичный отрезок может быть меньше только одного из них, участвующего в начале построения (у нас m>1ед.).

Общая проблема ІІ

С помощью циркуля и линейки построить отрезок, равный отношению двух других отрезков.

Примечание:

единичный отрезок меньше отрезка делителя.

Первый способ построения отрезка n = k / m , где m >1ед.

Единичный отрезок.

Построение (Рис.6)

2.На ОУ отложим ОМ=k.

3. На ОХ отложим ОА 1 = m.

4.На ОХ отложим А 1 С 1 =1ед.

5.Построим С 1 В 1 =m, где С 1 В 1 ┴ ОХ.

6. Проведём прямую А 1 В 1 , уравнение которой y=mx-m 2 в координатных осях ХОУ (масштаб на осях одинаковый, равный 1ед.).

7.Восстановим перпендикуляр МА в точке М к оси ОУ, где А- точка пересечения МА с прямой А 1 В 1 (т.е. А € А 1 В 1).

8.Опустим перпендикуляр из точки А на ось ОХ до пересечения его с осью ОХ в точке D. Отрезок AD=ОМ=k=mn.

9.Отрезок А 1 D= n - искомый отрезок, равный n=k/m.

Рис.6

Доказательство:

1.Уравнение прямой А 1 В 1 действительно У=mx-m 2 , при У=0 имеем 0=mx-m 2 => x=m=OA 1, т а угловой коэффициент - tg

2.В ∆АDA 1 tg 1 D=AD/A 1 D=B 1 C 1 /A 1 C 1 =>A 1 D=AD×A 1 C 1 /B 1 C 1 =k×1ед./m=mn/m=n, т.е. А 1 D=n=k/m - искомый отрезок.

Замечание. Действительно, если в нашем примере m=3ед., k=15ед., то должно быть A 1 D=n=k/m=15ед./3ед.=5ед. У нас так и получилось.

Второй способ построения отрезка n = k / m , где m >1ед.

Единичный отрезок.



Рис.7

1.Строим координатные оси ХОУ.

2.На ОУ отложим ОМ=k.

3.Отложим ОЕ=1ед., где Е € ОХ.

4.Отложим ЕС 1 =m, где С 1 € ОХ.

5.Восстановим перпендикуляр в точке С 1 к оси ОХ.

6.Строим С 1 ЕВ 1 =45º, где В 1 - точка пересечения перпендикуляра С 1 В 1 со стороной угла С 1 ЕВ 1 = 45º.

7. На ОХ отложим ОА 1 = m.

8. Проведём прямую А 1 В 1 , уравнение которой y=mx-m 2 в координатных осях ХОУ (масштаб на осях одинаковый, равный 1ед.).

9.Восстановим перпендикуляр МА в точке М к оси ОУ, где А - точка пересечения МА с прямой А 1 В 1 (т.е. А € А 1 В 1).

10.Опустим перпендикуляр из точки А на ось ОХ до пересечения его с осью ОХ в точке D. Отрезок AD=ОМ=k=mn.

11.Отрезок А 1 D=n - искомый отрезок, равный n=k/m.

Доказательство:

1.∆В 1 С 1 Е - прямоугольный и равнобедренный, так как С 1 ЕВ 1 =45º =>В 1 С 1 =ЕС 1 =m.

2.А 1 С 1 =ОС 1 - ОА 1 =(ОЕ+ЕС1) - ОА 1 =1ед+m-m=1ед.

3.Уравнение прямой А 1 В 1 действительно У=mx-m 2 , при У=0 имеем 0=mx-m 2 => x=m=OA 1, а угловой коэффициент - tg

4.В ∆АDA 1 tg 1 D=AD/A 1 D=B 1 C 1 /A 1 C 1 => A 1 D=AD×A 1 C 1 /B 1 C 1 =k ×1ед./m=mn/m=n, т.е. А 1 D=n=k/m - искомый отрезок.

Заключение

В своей работе мы нашли и исследовали различные методы построения с помощью циркуля и линейки отрезка, равного произведению или отношению двух других отрезков, предварительно дав своё определение этим действиям с отрезками, так как ни в одной специальной литературе мы не смогли найти не только определение умножения и деления отрезков, но даже упоминания об этих действиях над отрезками.

Здесь нами было использовано практически все четыре этапа: анализ, построение, доказательство и исследование.

В заключение мы бы хотели отметить возможность применения найденных методов построения отрезков в отдельных разделах физики и математики.

1. Если продлить прямые y=mx-m 2 и y=nx-n 2 (n>m>0) до пересечения с осью ОУ, то можно получить отрезки, равные m 2 , n 2 , n 2 - m 2 (Рис.8) , где ОК=m 2 , ОМ= n 2 , КМ= n 2 - m 2 .

Р
ис.8

Доказательство:

Если х=0, то y=0-m 2 =>ОК=m 2 .

Аналогично доказывается, что ОМ= n 2 =>КМ=ОМ-ОК= n 2 - m 2 .

2. Так как произведение двух отрезков есть площадь прямоугольника со сторонами, равными этим отрезкам, то, найдя отрезок, равный произведению двух других, тем самым мы представляем площадь прямоугольника в виде отрезка, длина которого численно равна этой площади.

3. В механике, термодинамике есть физические величины, например, работа (А=FS,A=PV), численно равные площадям прямоугольников, построенных в соответствующих координатных плоскостях, поэтому в задачах, где требуется, например, сравнить работы по площадям прямоугольников, очень просто это сделать, если эти площади представить в виде отрезков, численно равных площадям прямоугольников. А отрезки легко сравнить между собой.

4. Рассмотренный метод построения позволяет строить и другие отрезки, например, используя систему уравнений y=mx-m 3 и y=nx-n 3 , можно построить отрезки, имея данные m и n такие, как m 2 +mn+n 2 и mn(m+n), так как точка А пересечения прямых, заданных данной системой уравнений, имеет координаты (m 2 +mn+n 2 ; mn(m+n), а также можно построить отрезки n 3 , m 3 , и разность n 3 - m 3 , получаемые на ОУ в отрицательной области при Х=0.

Произведения . ... помощи циркуля и линейки . Алгоритм деления отрезка АВ пополам: 1) поставить ножку циркуля в точку А; 2) установить раствор циркуля равным длине отрезка ...

  • Биография Пифагора

    Биография >> Математика

    ... построением правильных геометрических фигур с помощью циркуля и линейки . ... помощи циркуля и линейки . Со времени возникновения задачи прошло более двух ... равна b/4+p, один катет равен b/4, а другой b/2-p. По теореме Пифагора имеем:(b/4+p)=(b/4)+(b/4-p)или ...

  • Данная статья написана по материалам одного из разделов книги Седжвика, Уэйна и Дондеро "Программирование на языке Python", уже упоминавшейся ранее . Называется этот раздел "Системы итерационных функций", и в нём описано построение различных изображений, таких как треугольник Серпиньского, папоротник Барнсли и некоторых других, с помощью достаточно несложного алгоритма, который, к тому же, ещё и с лёгкостью реализуется.

    Начну я с описания данного алгоритма. Я буду использовать математическую терминологию, в том числе, и ту, которую авторы книги, в ходе своего повествования, не задействуют. Сугубо математический взгляд на алгоритмы облегчает мне их понимание, да и излагать их с помощью математического языка мне достаточно удобно.

    Так что для понимания теоретической части статьи читателю пригодятся знания некоторых разделов математики, которые обычно читаются в технических вузах. А именно, нелишним будет знакомство с теорией вероятностей и элементами математического анализа.

    За теоретической частью статьи будет следовать практическая, описывающая реализацию алгоритма на языке C99. Поскольку результатами работы программы будут являться изображения, мы будем использовать в программе графическую библиотеку pgraph , предполагая, что читатель, хотя бы в общих чертах, с ней знаком.

    Итак, переходим к теоретической части нашего повествования.

    Итерационные функции и случайные последовательности

    Перед тем, как изложить схему, по которой будет вестись построение изображений, поговорим о последовательностях, члены которых вычисляются посредством рекуррентных формул.

    Зададим 2 последовательности, x n n = 1 ∞ и y n n = 1 ∞ , с помощью следующих рекуррентных формул:

    X n = f x n - 1 , y n - 1 , n ∈ ℕ , y n = g x n - 1 , y n - 1 , n ∈ ℕ .

    Поясним, что x 0 и y 0 - это некоторые заранее заданные числа, а f (x , y ) и g (x , y ) - это некоторые функции двух переменных, называемые итерационными . Сам процесс вычисления очередного члена той или иной последовательности через такие функции будем называть итерациями , а приведённый выше набор рекуррентных формул - итерационной схемой.

    Рекурсивный способ задания последовательностей, скорее всего, хорошо знаком читателю, если он изучал математику в вузе. Несколько необычным может показаться "перекрёстный" способ вычисления членов последовательностей, при котором для вычисления n -го члена каждой из двух последовательностей нужен не только n − 1-й член той же последовательности, но и n − 1-й член другой.

    А теперь рассмотрим схему построения членов двух последовательностей, использующую не одну пару итерационных функций, а m пар. Каждая из этих функций будет линейной по обеим переменным, а также будет содержать аддитивную константу. Более конкретно, функции будут иметь вид:

    F k x , y = a k x + b k y + c k g k x , y = d k x + e k y + h k , k = 0 , 1 , … , m - 1 .

    Для каждого n , начиная с 1, будет случайным образом выбираться число от 0 до m − 1, и при вычислении x n и y n в рекуррентных формулах будет использоваться пара итерационных функций, индексы которых равны данному случайному числу. Отметим, что случайные числа, "появляющиеся" перед каждой итерацией, не обязаны быть равновероятными. Однако для разных шагов вероятность появления конкретного фиксированного числа одна и та же.

    Давайте теперь сформулируем сказанное на строгом математическом языке. Рассмотрим последовательность дискретных независимых в совокупности случайных величин T n = 1 ∞ , распределённых по одному и тому же закону. А именно: каждая случайная величина принимает значения 0, 1, …, m − 1 с соответствующими вероятностями p 0 , p 1 , …, p m -1 .

    Теперь последовательности, x n n = 1 ∞ и y n n = 1 ∞ зададим с помощью следующей итерационной схемы:

    X n = f T n x n - 1 , y n - 1 , n ∈ ℕ , y n = g T n x n - 1 , y n - 1 , n ∈ ℕ .

    Как и ранее, x 0 и y 0 - это некоторые заранее заданные числа.

    Таким образом, каждая из последовательностей является случайной, т. е. её члены - это случайные величины. Однако, каждую из этих последовательностей можно "реализовать", т. е. вычислить все её члены (разумеется, таких реализаций будет бесконечно много).

    Зададимся главным вопросом данного раздела. А какое же отношение изображения, которые мы собираемся строить, имеют к этой паре случайных последовательностей? Очень простое. Построим реализацию этих двух последовательностей. Для каждого натурального n пару (x n , y n ) можно рассматривать как координаты точки, заданной в декартовой прямоугольной системе координат на плоскости. Так вот, изображение, соответствующее некоторой паре реализованных последовательностей, представляет собой геометрическое место всех таких точек на плоскости.

    Казалось бы, для каждой реализации пары последовательностей мы будем получать своё изображение, отличное от других. Однако, как это ни парадоксально, получаемые изображения каждый раз будут практически совпадать (т. е. при построении на компьютере будут неразличимы человеческим глазом). А при соответствующем подборе итерационных функций и законов распределения случайных величин, участвующих в формировании членов последовательностей, можно создавать весьма интересные узоры.

    Добавим, что при построении изображений на компьютере, мы, разумеется, будем выполнять лишь конечное (но достаточно большое) число итераций.

    О генерации псевдослучайных чисел

    При написании программы мы столкнёмся с необходимостью генерировать псевдослучайные числа, распределённые, вообще говоря, не равномерно, а по заранее заданному закону. В то же самое время, мы будем располагать лишь программным генератором псевдослучайных чисел, равномерно распределённых на промежутке . Как из второго распределения получить первое?

    Переведём задачу в математическую плоскость. Пусть имеется непрерывная случайная величина U , распределённая равномерно на отрезке . Зададимся целью построить дискретную случайную величину T как функцию от U , таким образом, чтобы T принимала значения 0, 1, …, m − 1 с соответствующими вероятностями p 0 , p 1 , …, p m -1 .

    Решить поставленную задачу весьма просто. Введём в рассмотрение суммы вероятностей

    s k = ∑ i = 0 k - 1 p i , k = 0 , 1 , … , m - 1 .

    Если верхний предел суммирования по i меньше нижнего, то такую сумму по определению будем полагать равной 0.

    Т выразим через U следующим образом:

    T = 0 , если U ∈ s 0 , s 1 , 1 , если U ∈ s 1 , s 2 , 2 , если U ∈ s 2 , s 3 , … … … … … … , … … … … … … , m - 1 , если U ∈ s m - 1 , 1 .

    Очевидно, случайная величина T распределена по требуемому нами закону. Заметим, что, по сути, Т - это номер промежутка, в который попадает случайная величина U (при условии, что промежутки мы нумеруем числами от 0 до m − 1 в порядке возрастания их левых границ).

    С практической точки зрения полученный результат позволяет на каждом шаге итерации в качестве номера итерационных функций брать номер промежутка, в который попадает число, сгенерированное датчиком псевдослучайных чисел, равномерно распределённых на отрезке .

    А теперь можно переходить к написанию программы.

    Структура программы

    Программа состоит из файла main.c и файлов, образующих графическую библиотеку pgraph. Содержимое файла main.c начинается со следующей директивы, подключающей графическую библиотеку:

    #include "pgraph.h"

    Далее в файле содержатся описания глобальных константных переменных и константных массивов. За ними - определения функций get_random_value() и main() . Первая из них генерирует псевдослучайные числа, а вторая выполняет основную работу по построению изображений.

    Глобальные константные переменные и константные массивы

    Вся информация, необходимая для построения конкретного изображения, содержится в глобальных константных переменных и константных массивах. Разумеется, для каждого изображения набор значений констант и элементов константных массивов будет "свой".

    Ниже приводятся описания данных констант и массивов.

    • n - количество итераций;
    • w - ширина изображения в пикселях;
    • h - высота изображения в пикселях;
    • xc - абсцисса начала новой системы координат в старой системе;
    • yc - ордината начала новой системы координат в старой системе;
    • l - длина в пикселях отрезка, параллельного одной из осей координат, имеющего в новой системе координат единичную длину;
    • m - количество пар итерационных функций, т. е. число m ;
    • s - одномерный массив размера m , содержащий суммы вероятностей случайных величин T n (k -й элемент массива содержит s k );
    • f - двухмерный массив, состоящий из m f k (x , y k , 0), (k , 1), (k , 2) содержат числа a k , b k , c k соответственно, где 0 ≤ k m − 1);
    • g - двухмерный массив, состоящий из m "строк" и 3-х "столбцов", содержащий константы, задействованные в функциях g k (x , y ) (элементы массива с индексами (k , 0), (k , 1), (k , 2) содержат числа d k , e k , h k соответственно, где 0 ≤ k m − 1).

    Все переменные имеют тип int , а базовым типом всех массивов является double .

    Поясним, что под "старой" системой координат подразумевается та, которая определена в библиотеке pgraph. Построения всех изображений будут вестись в новой системе, полученной из старой параллельным переносом (сдвиги по осям абсцисс и ординат равны соответственно x c и y c ) и "сжатием" в l раз. Таким образом, точка, имеющая в новой системе координаты (x , y ), в старой будет иметь координаты (x l + x c , y l + y c ). Излишне, думаю, пояснять, что за хранение чисел x c , y c и l ответственны константные переменные xc , yc и l соответственно.

    Для хранения чисел x 0 и y 0 переменные не выделяются, поскольку во всех случаях построения изображений в качестве этих чисел берутся нули.

    Генерация псевдослучайных чисел: функция get_random_value()

    Функция get_random_value() при каждом обращении к ней генерирует псевдослучайное целое число в диапазоне от 0 до m − 1 в соответствии с описанной ранее схемой . Вот код этой функции:

    1. int get_random_value() 2. { 3. double r = (double ) rand() / RAND_MAX; 4. int c = 1 ; 5. while (s[c] < r && ++c < m) 6. ; 7. return c - 1 ; 8. }

    Получаем с помощью стандартной библиотечной функции rand() псевдослучайное число в диапазоне от 0 до значения макроса RAND_MAX , делим полученный результат на это значение и присваиваем частное переменной r (стр. 3). Теперь в r хранится число, принадлежащее отрезку . Его приближённо можно считать значением случайной величины, равномерно распределённой на этом отрезке.

    Поясним, что значение макроса RAND_MAX , в нашем случае (т. е. в случае использования компилятора MinGW64 версии 4.9.2 для 64-битных систем) равно 32767.

    Теперь, с помощью линейного поиска, задействующего цикл while , ищем индекс наибольшего элемента массива s , не превосходящего значение r , увеличенный на единицу, и сохраняем его в переменной c (см. стр. 4-6). Отметим, что в случае, если значение r - нулевое, цикл не выполняется ни разу, а переменная с сохраняет единичное значение (см. стр. 4).

    Значение, возвращаемое функцией, можно приближённо рассматривать как значение случайной величины T , описанной в упомянутом выше разделе.

    Генерация изображения: функция main()

    А вот и код функции main() :

    1. int main() 2. { 3. image *img = create_image(w, h); 4. double x = 0 , y = 0 ; 5. for (int i = 0 ; i < n; i++) 6. { 7. int r = get_random_value(); 8. double x1 = f[r] * x + f[r] * y + f[r]; 9. double y1 = g[r] * x + g[r] * y + g[r]; 10. x = x1; 11. y = y1; 12. set_color(img, round(x * l) + xc, round(y * l) + yc, BLACK); 13. } 14. save_to_file(img, "out.bmp" ); 15. free(img); 16. return 0 ; 17. }

    Создаём изображение с заданными размерами (стр. 3). Выделяем память под переменные x и y , в которых будут храниться текущие члены последовательностей, и инициализируем их нулями (стр. 4). Напомню, что в качестве чисел x 0 и y 0 , участвующих в вычислении первых членов каждой из последовательностей, берутся нули.

    Вычисляем в цикле for первые n членов каждой последовательности (стр. 5-13). Получаем сначала псевдослучайное число и записываем его в r (стр. 7). Далее вычисляем текущие значения членов обеих последовательностей, помещая их во временные переменные x1 и y1 (стр. 8, 9). При вычислении используем константы, фигурирующие в итерационных функциях и хранящиеся в массивах f и g . Выбор той или иной пары наборов коэффициентов (а значит, пары итерационных функций) зависит от значения r , использующегося в качестве первых индексов участвующих в вычислениях элементов массивов.

    Переписываем вычисленные текущие значения в переменные x и y (стр. 10, 11). Координаты точки, содержащиеся в этих переменных, переводим в координаты исходной системы координат, округляем до целых и наносим точку с результирующими координатами на изображение чёрным цветом (стр. 12).

    По завершении цикла сохраняем сформированное изображение в файле "out.bmp" (стр. 14) и освобождаем занимаемую изображением память (стр. 15). На этом работа функции завершается.

    Построение изображения треугольника Серпиньского

    Треугольник Серпиньского представляет собой множество точек, получаемого из всех точек некоторого исходного равностороннего треугольника следующим образом. Треугольник разбивается тремя средними линиями на 4 треугольника, после чего "центральный" треугольник удаляется. Далее c каждым из оставшихся трёх равносторонних треугольников выполняется та же операция. Наконец, то же самое мы делаем с получившимися девятью равносторонними треугольниками.

    Продолжая описанные операции до бесконечности, удаляем, в итоге, из исходного треугольника бесконечное число равносторонних треугольников, сумма площадей которых равна площади исходного. Оставшиеся точки образуют линию, называемую треугольником Серпиньского , играющую важную роль в теории множеств.

    В книге Седжвика и других авторов предлагается следующий способ построения изображения треугольника Серпиньского. Рассмотрим 3 точки на плоскости, являющиеся вершинами равностороннего треугольника, например, точки с координатами 0 , 0 , 0 , 1 , 1 / 2 , 3 / 2 в декартовой прямоугольной системе координат. Выбираем наугад (с равными вероятностями) одну из трёх вершин треугольника и строим точку, делящую отрезок, соединяющий вершину с координатами 0 , 0 и выбранную наугад вершину, пополам. Это первая точка нашего изображения.

    Приведённый алгоритм можно уложить в описанную ранее схему построения изображений, задействующую случайные последовательности и итерационные функции.

    Нам потребуются 3 пары итерационных функций. Их индексы 0, 1, 2 должны выбираться с вероятностями 1/3, 1/3, 1/3 соответственно. Сами итерационные функции приведены ниже.

    F 0 x , y = 1 / 2 x , g 0 x , y = 1 / 2 y , f 1 x , y = 1 / 2 x + 1 / 2 , g 1 x , y = 1 / 2 y , f 2 x , y = 1 / 2 x + 1 / 4 , g 2 x , y = 1 / 2 y + 3 / 4 .

    Теперь давайте вставим в нашу программу описания глобальных константных переменных и константных массивов, соответствующие данным вероятностям и данным итерационным функциям. Но для начала определим макрос TRIANGLE , поместив в файл main.с после инструкции #include следующую инструкцию

    #define TRIANGLE

    После инструкции вставляем в файл следующий код:

    //Треугольник Серпиньского #ifdef TRIANGLE const int n = 100000 ; //количество итераций const int w = 620 , h = 550 ; //размеры изображения const int xc = 10 , yc = 10 ; //координаты начала новой системы координат в старой const int l = 600 ; //коэффициент сжатия const int m = 3 ; //количество пар итерационных функций const double s = {0 , 0.3333333 , 0.6666667 }; //массив сумм вероятностей const double f = {{0.5 , 0.0 , 0.0 }, //массив коэффициентов для функций f(x,y), {0.5 , 0.0 , 0.5 }, //задействованных для вычислений x {0.5 , 0.0 , 0.25 }}; const double g = {{0.0 , 0.5 , 0.0 }, //массив коэффициентов для функций g(x,y), {0.0 , 0.5 , 0.0 }, //задействованных для вычислений y {0.0 , 0.5 , 0.4330127 }}; #endif

    Приведённый фрагмент кода (без директив препроцессора) будет скомпилирован только в случае, если определён макрос TRIANGLE (а он определён). Разумеется, константы, представимые лишь с помощью бесконечных десятичных дробей (рациональных или иррациональных) мы округляли.

    В результате компиляции и выполнения программы в корневой директории исполняемого файла появляется графический файл out.bmp, содержащий следующее изображение:

    Построение изображения папоротника Барнсли

    Следующее изображение, построение которого описывается в книге Седжвика и других, - это изображение папоротника Барнсли. Теперь нам уже потребуются 4 пары итерационных функций. Их индексы 0, 1, 2, 3 будут выбираться с вероятностями 0,01, 0,85, 0,07, 0,07 соответственно. А вот и сами итерационные функции:

    F 0 x , y = 0 , 5 , g 0 x , y = 0 , 16 y , f 1 x , y = 0 , 85 x + 0 , 04 y + 0 , 075 , g 1 x , y = - 0 , 04 x + 0 , 85 y + 0 , 18 , f 2 x , y = 0 , 2 x - 0 , 26 y + 0 , 4 , g 2 x , y = 0 , 23 x + 0 , 22 y + 0 , 045 , f 3 x , y = - 0 , 15 x + 0 , 28 y + 0 , 575 , g 3 x , y = 0 , 26 x + 0 , 24 y - 0 , 086 .

    Вносим теперь изменения в программу. Инструкцию #define заменяем инструкцией

    #define FERN

    А после #ifdef -блока помещаем следующий фрагмент кода:

    //Папоротник Барнсли #ifdef FERN const int n = 100000 ; const int l = 600 ; const int m = 4 ; const double s = {0 , 0.01 , 0.86 , 0.93 }; const double f = {{0.0 , 0.0 , 0.5 }, {0.85 , 0.04 , 0.075 }, {0.2 , -0.26 , 0.4 }, {-0.15 , 0.28 , 0.575 }}; const double g = {{0.0 , 0.16 , 0.0 }, {-0.04 , 0.85 , 0.18 }, {0.23 , 0.22 , 0.045 }, {0.26 , 0.24 , -0.086 }}; #endif

    Результатом компиляции и запуска программы является следующее изображение:

    Построение изображения дерева

    Теперь построим то, что в книге Седжвика и других авторов называется "деревом", хотя то, что оказывается изображённым, скорее, похоже на набор деревьев различных размеров. На этот раз в итерационном процессе будут участвовать 6 пар итерационных функций. Их индексы 0, 1, 2, 3, 4, 5 будут выбираться с вероятностями 0,1, 0,1, 0,2, 0,2, 0,2, 0,2 соответственно. Вот эти функции:

    F 0 x , y = 0 , 55 , g 0 x , y = 0 , 6 y , f 1 x , y = - 0 , 05 x + 0 , 525 , g 1 x , y = - 0 , 5 x + 0 , 75 , f 2 x , y = 0 , 46 x - 0 , 15 y + 0 , 27 , g 2 x , y = 0 , 39 x + 0 , 38 y + 0 , 105 , f 3 x , y = 0 , 47 x - 0 , 15 y + 0 , 265 , g 3 x , y = 0 , 17 x + 0 , 42 y + 0 , 465 , f 4 x , y = 0 , 43 x + 0 , 26 y + 0 , 29 , g 4 x , y = - 0 , 25 x + 0 , 45 y + 0 , 625 , f 5 x , y = 0 , 42 x + 0 , 26 y + 0 , 29 , g 5 x , y = - 0 , 35 x + 0 , 31 y + 0 , 525 .

    #define TREE

    За последним #ifdef -блоком вставляем следующий код:

    //Дерево #ifdef TREE const int n = 100000 ; const int w = 620 , h = 620 ; const int xc = 0 , yc = 10 ; const int l = 600 ; const int m = 6 ; const double s = {0 , 0.1 , 0.2 , 0.4 , 0.6 , 0.8 }; const double f = {{0.0 , 0.0 , 0.55 }, {-0.05 , 0.0 , 0.525 }, {0.46 , -0.15 , 0.27 }, {0.47 , -0.15 , 0.265 }, {0.43 , 0.26 , 0.29 }, {0.42 , 0.26 , 0.29 }}; const double g = {{0.0 , 0.6 , 0.0 }, {-0.5 , 0.0 , 0.75 }, {0.39 , 0.38 , 0.105 }, {0.17 , 0.42 , 0.465 }, {-0.25 , 0.45 , 0.625 }, {-0.35 , 0.31 , 0.525 }}; #endif

    Результат работы скомпилированной программы - это изображение, приведённое ниже:

    Последнее изображение, которое мы построим, руководствуясь книгой Седжвика, - это изображение коралла. Нам потребуются 3 пары итерационных функций. Их индексы 0, 1, 2 будут выбираться с вероятностями 0,4, 0,15, 0,45 соответственно. Итерационные функции приведены ниже.

    F 0 x , y = 0 , 3077 x - 0 , 5315 y + 0 , 8863 , g 0 x , y = - 0 , 4615 x - 0 , 2937 y + 1 , 0962 , f 1 x , y = 0 , 3077 x - 0 , 0769 y + 0 , 2166 , g 1 x , y = 0 , 1538 x - 0 , 4476 y + 0 , 3384 , f 2 x , y = 0 , 5455 y + 0 , 0106 , g 2 x , y = 0 , 6923 x - 0 , 1958 y + 0 , 3808 .

    Заменяем инструкцию #define инструкцией

    #define CORAL

    За последним #ifdef -блоком вставляем новый блок:

    //Коралл #ifdef CORAL const int n = 100000 ; const int w = 620 , h = 620 ; const int xc = 10 , yc = 10 ; const int l = 600 ; const int m = 3 ; const double s = {0 , 0.4 , 0.55 }; const double f = {{0.3077 , -0.5315 , 0.8863 }, {0.3077 , -0.0769 , 0.2166 }, {0.0 , 0.5455 , 0.0106 }}; const double g = {{-0.4615 , -0.2937 , 1.0962 }, {0.1538 , -0.4476 , 0.3384 }, {0.6923 , -0.1958 , 0.3808 }}; #endif

    Вот какое изображение получаем в результате компиляции и выполнения программы:

    Заключение

    Не знаю, как вам, а мне было интересно наблюдать за тем, как наборы математических формул "превращается" в весьма забавные изображения. А ещё меня удивляет то, что те, кто всё это придумали, смогли подобрать вероятности и константы, участвующие в итерационных функциях, таким образом, чтобы добиться таких удивительных картин! Методика подбора всех этих чисел (за исключением случая треугольника Серпиньского) мне совершенно непонятна!

    Отмечу, что, судя по изображениям, треугольник Серпиньского и папоротник Барнсли являются фракталами. Скорее всего, то же самое можно сказать про "дерево" и "коралл", но их фрактальная природа, пожалуй, чуть менее очевидна.

    По приведённой ниже ссылке, как всегда, можно скачать исходный код рассмотренной в статье программы. В файле main.c имеются четыре инструкции #define , каждая из которых соответствует одному из четырёх изображений. Три из них закомментированы. Ясно, что для того, чтобы перейти от одного изображения к другому, требуется закомментировать незакомментированную инструкцию и раскомментировать одну из закомментированных. Ну, Вы поняли...

    А ещё с помощью несложного алгоритма можно добиться того, чтобы рассмотренные в статье изображения плавно "превращались" друг в друга. Но это уже тема для отдельной статьи .

    Греческие геометры гордились собой из-за своей логической чистоты; тем не менее, что касается физического пространства, они руководствовались интуицией. Одной из сторон греческой геометрии, на которую особенно влияли физические соображения, была теория построений. Многое из элементарной геометрии прямых линий и кругов можно рассматривать как теорию построений с помощью линейки и циркуля. Само название предмета, линии и круги, отражает инструменты, которые использовались для их проведения. И многие из элементарных проблем геометрии, например, деление пополам отрезка прямой или угла,

    построение перпендикуляра или проведение круга через три заданные точки, можно решить построениями с помощью линейки и циркуля.

    Когда введены координаты, нетрудно показать, что точки, допускающие построение из точек имеют координаты во множестве чисел, созданном из координат посредством операций и [см. Муаз (1963) или упражнения к разделу 6.3]. Квадратные корни, конечно, появляются вследствие теоремы Пифагора: если построены точки и тогда построено расстояние между ними (раздел 1.6 и рисунок 2.4). Обратно, возможно построение для любой заданной длины I (упражнение 2.3.2).

    Рисунок 2.4: Построение расстояния

    Если взглянуть с этой точки зрения, то построения с помощью линейки и циркуля выглядят весьма специальными и, маловероятно, что дадут, такие числа так, например, Однако греки очень упорно пытались решить именно эту задачу, которая была известна как удвоение куба (так называемая потому, что для того, чтобы удвоить объем куба, нужно было умножить сторону на Другими печально известными задачами были трисекция угла и квадратура круга. Последняя задача заключалась в построении квадрата, равного по площади заданному кругу, или в построении числа которое равновелико тому же. По-видимому, они никогда не отказывались от этих целей, хотя признавали возможность отрицательного решения и допускали решения посредством менее элементарных средств. В следующих разделах мы увидим некоторые из них.

    Невозможность решения этих задач построениями с помощью линейки и циркуля оставалась недоказанной до девятнадцатого столетия. Что касается удвоения куба и трисекции угла, то невозможность показана Вантцелем (1837). Честь решения этих задач, над которыми бились лучшие математики в течение 2000 лет, редко приписывают Вантцелю, возможно, потому, что его методы вытеснила более мощная теория Галуа.

    Невозможность квадратуры круга доказана Линдеманом (1882), очень строгим способом, не только неопределимо рациональными операциями и квадратными корнями; оно также трансцендентно, то есть не является корнем какого-либо полиномиального уравнения с рациональными коэффициентами. Как и работа Вантцеля, это был редкий пример значительного результата, доказанного незначительным математиком. В случае Линдемана, объяснение, возможно, заключается

    В том, что уже был сделан важный шаг, когда Эрмит (1873) доказал трансцендентность Доступные доказательства обоих этих результатов можно найти у Клейна (1924). Последующая карьера Линдемана была математически непримечательной, даже смущающей. Отвечая скептикам, которые полагали, что его успех с был счастливой случайностью, он нацелился на самую известную нерешенную задачу в математике «последнюю теорему Ферма» (о возникновении этой задачи см. главу 11). Его усилия кончились неудачей в ряде неубедительных статей, каждая из которых исправляла ошибку в предыдущей. Фрич (1984) написал интересную биографическую статью о Линдемане.

    Материал данного параграфа может использоваться на факультативных занятиях. Он может быть представлен ученикам, как в форме лекции, так и в форме докладов учеников.

    Большое внимание привлекали к себе в течение многих столетий задачи, которые с давних времен известны как "знаменитые задачи древности". Под этим названием обычно фигурировали три знаменитые задачи:

    1) квадратура круга,

    2) трисекция угла,

    3) удвоение куба.

    Все эти задачи возникли в глубокой древности из практических потребностей людей. На первом этапе своего существования они выступали как вычислительные задачи: по некоторым "рецептам" вычислялись приближенные значения искомых величин (площадь круга, длина окружности и др.). На втором этапе истории этих задач происходят существенные изменения их характера: они становятся геометрическими (конструктивными) задачами.

    В Древней Греции в этот период им придали классические формулировки:

    1) построить квадрат, равновеликий данному кругу;

    2) разделить данный угол на три равные части;

    3) построить ребро нового куба, объем которого был бы в два раза больше данного куба.

    Все эти геометрические построения предлагалось выполнять с помощью циркуля и линейки.

    Простота формулировок этих задач и "непреодолимые трудности", встретившиеся на пути их решения, способствовали росту их популярности. Стремясь дать строгие решения указанных задач, древнегреческие ученые "попутно" получали многие важные результаты для математики, что способствовало превращению разрозненных математических знаний в самостоятельную дедуктивную науку (особенно заметный след в то время оставили пифагорейцы, Гиппократ Хиосский и Архимед).

    Задача об удвоении куба.

    Задача удвоения куба состоит в следующем: зная ребро данного куба, построить ребро такого куба, объем которого был бы вдвое больше объема данного куба.

    Пусть а - длина ребра данного куба, х - длина ребра искомого куба. Пусть - объем данного куба, а - объем искомого куба, тогда согласно формуле вычисления объема куба имеем, что: =, а так как, согласно условию задачи, то приходим к уравнению.

    Из алгебры известно, что рациональные корни приведенного уравнения с целыми коэффициентами могут быть только целыми и содержаться среди делителей свободного члена уравнения. Но делители числа 2 служат только числа +1, - 1, +2, - 2, и ни одно из них не удовлетворяет исходному уравнению. Следовательно, уравнение рациональных корней не имеет, а это значит, что задача удвоения куба не может быть решена с помощью циркуля и линейки.

    Задача удвоения куба с помощью циркуля и линейки может быть решена лишь приближенно. Приведем один из самых простых способов приближенного решения этой задачи.

    Пусть АВ=ВС=а, причем АВВС. Строим AD=АС, тогда CD с точностью до 1%. В самом деле, CD 1,2586…. В тоже время =1,2599….

    Задача о квадратуре круга.

    Обоснование неразрешимости задачи с помощью циркуля и линейки.

    Задача о квадратуре круга состоит в следующем: построить квадрат равновеликий кругу.

    Пусть - радиус данного круга, -длина стороны искомого квадрата. Тогда, отсюда.

    Следовательно, задача о квадратуре круга будет решена, если мы построим отрезок длиной. Если радиус данного круга принять за единичный отрезок (=1), то дело сведется к построению по единичному отрезку отрезка длиной.

    Как известно, зная единичный отрезок, мы можем циркулем и линейкой строить только такие отрезки, длины которых выражаются через рациональные числа с помощью конечного множества рациональных операций и извлечением квадратных корней и, значит являются числами алгебраическими. При этом будут использованы далеко не все алгебраические числа. Например, нельзя построить отрезок длиной и т.д.

    В 1882 г. Линдеманн доказал, что - трансцендентное. Отсюда следует, что циркулем и линейкой нельзя построить отрезок длиной и, следовательно, этими средствами задача о квадратуре круга неразрешима.

    Приближенное решение задачи с помощью циркуля и линейки.

    Рассмотрим один из приемов приближенного построения отрезков длиной. Этот прием состоит в следующем. Четверть окружности АВ с центром в точке О и радиусом, равным единице, делим пополам точкой С. На продолжении диаметра CD откладываем отрезок DE, равный радиусу. Из точки Е проводим лучи ЕА и ЕВ до пересечения с касательной в точке С. отсекаемый отрезок АВ приближенно равен длине дуги АВ, а удвоенный - полуокружности.

    Относительная погрешность этого приближения не превышает 0,227%.

    Задача о трисекции угла.

    Обоснование неразрешимости задачи с помощью циркуля и линейки.

    Задача о трисекции угла состоит в следующем : разделить данный угол на три равные части.

    Ограничимся решением задачи для углов, не превышающих 90. Если - тупой угол, то =180-, где <90, так что, и поэтому задача о трисекции тупого угла сводится к задаче о трисекции острого угла.

    Заметим, что (при наличии единичного отрезка) задача о построении угла (90) равносильна задаче о построении отрезка х=соs . В самом деле, если угол построен, то построение отрезка х=соs сводится к построению прямоугольного треугольника по гипотенузе и острому углу.

    Обратно. Если построен отрезок х, то построение такого угла, что х=соs , сводится к построению прямоугольного треугольника по гипотенузе и катету.

    Пусть - данный угол, - искомый угол, так что =. Тогда cos=cos 3. Известно, что cos 3= 4cos-3cos . Поэтому, полагая cos =, а cos =, приходим к уравнению:

    cos =4cos-3cos ,

    Отрезок, а следовательно, и угол могут быть построены лишь в том случае, когда это уравнение имеет хотя бы один рациональный корень. Но это имеет место не при всяком, и поэтому задача о трисекции угла, вообще говоря не разрешима с помощью циркуля и линейки. Например. При =60 получим =1 и найденное уравнение принимает вид: . Легко проверить, что это уравнение не обладает никаким рациональным корнем, откуда следует невозможность деления угла в 60 на три равные части с помощью циркуля и линейки. Таким образом, задача о трисекции угла не разрешима циркулем и линейкой в общем виде.

    Приближенное решение задачи с помощью циркуля и линейки.

    Рассмотрим один из способов приближенного решения задачи с помощью циркуля и линейки, предложенный Альбертом Дюрером (1471-1528).

    Пусть дан угол ASB. Из вершины S произвольным радиусом описываем окружность и соединяем точки пересечения сторон угла с окружностью хордой АВ. Делим эту хорду на три равные части в точках R и R (А R= R R= RВ). из точек А и В, как из центров, радиусами А R= RВ описываем дуги, пересекающие окружность в точках Т и Т. Проведем RSAB. Радиусами А S= BS проводим дуги, пересекающие АВ в точках U и U. Дуги АТ, SS и TB равны между собой, так как стягиваются равными хордами.

    Чтобы найти точки трисекции угла X и X, Дюрер делит на три равные части отрезки RU и RU точками PV и PV. Затем радиусами AV и BV проводим дуги, которые пересекают окружность в точках X и X. Соединив эти точки с S, получим деление данного угла на три равные части с хорошим приближением к истинным величинам.