Смекни!
smekni.com

Управление образования Администрации г. Екатеринбурга (стр. 4 из 5)

«Нормальные формы, которые вавилоняне могли легко решать и к которым они старались сводить все алгебраические уравнения, были таковы:

А.Уравнения с одним неизвестным:

ax=b,

x2=a,

x2=ax=b,

x2-ax=b,

x3=b.

x2(x+1)=a/

В.Системы уравнений с двумя неизвестными:

x+y=a, xy=b,

x-y=a, xy=b,

x+y=a, x2+y2=b,

x-y=a, x2+y2=b,

Кроме того, были известны формулы:

(a+b)2=a2+2ab+b2

(a+b)(a-b)=a2-b2

1+2+4+…+2h=2h+(2h-1)

12+22+32+…+n2=(1/3+2n/3)(1+2+3=…n)

и суммирование арифметических прогрессий.

Пифагоровы числа x2+y2=z2 находились при помощи формул:

x= p2-q2

y=2pq

z=p2+q2

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

В Плимтоновской библиотеке Колумбийского университета в Нью-Йорке имеется замечательный древневавилонский клинописный текст «Plimpton 322» , которому порядка 4000 лет. В нем имеются столбцы цифр, которые указывают на умение мудрецов определять целочисленные тройки – стороны прямоугольных треугольников. В современном исчислении они выглядят следующим образом ( таблица 1). Сейчас мы можем определить для этих троек коренные пары чисел (катеты) в составе половины углов. После чего намечается определенная градация этих примеров даже на таком небольшом фрагменте некогда существовавших математических знаний.

№строки Тройки чисел согласно Б.Л.Ван дер Вардену Родственные тройки чисел – исходные для результатирующего угла. Примечание
Катеты разной четности и гипотенуза Катеты нечетные и гипотенуза
1 120,119,169 15, 12,13 7,17,
2 346,3367,4825 27, 64,
37,91,
3 4800,4601, 6649 32, 75,
43,107,
4 13500, 12709, 18541 54, 125,
71,179,
5 72,65,97 4,9,
5,13,
6 360,319, 481 9,20,
11,29,
7 2700,2291, 3541 25,54,
29,79,
8 960, 799,1249 15,32,
17,47,
9 600, 481,769 12,25,
13,37,
10 6480, 4961, 8161 40,81,
41,121,
11 60,45,75 1,2,
1,3,
Исходная тройка чисел не является примитивной
12 2400, 1679, 2929 25,48,
23,73,
13 240, 161,289 8,15,17 7,23,
14 2700,1771,3229 27,50,
23,77,
15 90, 56, 106 90,56,106 5, 9,
В некоторых случаях можно поменять местами коренные тройки, исходная тройка чисел не является примитивной

При первом просмотре результатов таблицы 4 можно сделать предварительные замечания:

- результат отношения катетов из столбца для пар чисел разной четности возрастает от 0, 41666… в первой строке, до 0,54 в четырнадцатой. Соответственно убывает отношение катетов в столбце для нечетных катетов.

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

- в столбце разной четности катеты содержат исключительно множители 2,3,5, но и здесь не без оговорки выделяются одиннадцатая и пятнадцатая строки.

Строка 15 претендует на начальную строку нового блока троек чисел.

Множители столбца катетов разной четности соответствуют ключевым числам пирамид на плато Гизе и «единичных пирамид» тел Платон, т.е. имеется тот же ряд основополагающих цифр. – 1,2,3,4,5.

Конечно, желательно заново проанализировать все математические таблички Древнего Вавилона, поскольку фрагмент в виде глиняной таблички «Plimpton 322» представляется только частью некой математической системы знаний. Возможно, и перевод в современное исчисление требует некоторой корректировки, тогда и выводы могут быть более строгими.

6. Практическая часть «Записки программиста»

repeat

a:=a/2;

until a+1=1;

Для написания программы была использована среда программирования Borland Delphi 7 как наиболее простая и одновременно достаточно гибкая для поставленных задач. А именно:

· Придумать алгоритм, который строит пирамиду в пространстве (как особый вид, так и подобия реально существующих пирамид);

· Связать алгоритм с языком программирования и получить результат;

· Добавить пользовательский интерфейс (этой теме можно посвящать отдельный реферат, ибо тема проблемная).

· Собрать все вместе и разнообразить построение пирамидки анимацией.

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

6.1 Алгоритм

Над этим алгоритмом думали долго, рисовали, пробовали и в конце концов пришли к довольно простому и в то же время эффективному решению. Чтобы построить пирамиду в пространстве нужно построить основание, высоту и соединить точки. Так как в пространстве сохраняется только параллельность, из квадрата в основании должен получиться параллелограмм, а самый простой способ это сделать – сжать квадрат в 2 раза по вертикали вот таким образом:

Далее добавляется вершина – конец нормали, проведенной из центра квадрата в основании и добавляются некоторые дополнительные линии. И это было бы не сложно, если бы пирамидка не должна была крутиться вокруг вертикали. Что же делать теперь? Как осуществить перенос в пространстве? Мы попытались решить эту задачу - весь алгоритм построения пирамидки можно разделить на 3 этапа: просчет основания, пересчет основания в пространстве и доп. вычисления, рисование.

Просчет основания.

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

Тогда справедливы следующие равенства:

И при повороте каждая координата каждого угла меняется на

или
. Теперь можно посчитать координаты углов квадрата при любом угле поворота.

Пересчет основания в пространстве.

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

Также тут просчитываются координаты вершины пирамиды и середины квадрата

Рисование.

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

6.2 Язык программирования

Теперь, когда алгоритм готов, можно приступить к собственно написанию кода. Код полностью я приведу позже с комментариями, а пока что общая структура. Программа состоит из нескольких функций, привязанных к событиям (например нажатие кнопки – событие, а построение – функция). Для просчета и хранения координат я использовал двумерный массив pix[] примерно такого содержания: