# Руководство &kig;

## Введение

&kig; - это программа интерактивной геометрии. Она создана для двух целей:

- Дать учащимся возможность исследовать математические концепции с помощью компьютера.

- Быть инструментом WYSIWYG (What You See Is What You Get - что видишь, то и получаешь) для построения математических функций и встраивания их в другие документы.

Вы можете сообщить об ошибках в &kig;, используя стандартный диалог сообщения об ошибках (Справка Сообщить об ошибке), или просто написать по адресу devriese@kde.org (на английском).

&kig; поддерживает макросы и ГМТ. Если вы создали интересный (и сложный) макрос, который может быть полезен другим, отправьте его автору, и он будет добавлен в официальный выпуск программы (всё будет под лицензией GNU GPL, что значит, что другие смогут изменять его и адаптировать).

## Основы

### Построение объектов

#### Построение точек

Вы можете это сделать несколькими способами:

- Через меню Объекты Точки Нормальная точка или через соответствующую кнопку на панели инструментов. Щёлкните на требуемой позиции в окне.

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

- Так как точки требуется строить чаще, есть также способ сделать это быстрей. Нажмите в области окна средней кнопкой мыши.

- Вы можете создавать точки при построении других объектов, Подробности есть здесь.

Точка построена Точка построена

#### Построение других объектов

Вы можете построить определённый объект выбрав его в меню Объекты или нажатием на одну из кнопок панели инструментов.

Построение окружности Построение окружности

Это начнёт построение объекта выбранного типа. Все объекты требуют аргументы. Например, если вы выбрали построение окружности по центру и точке, вы должны передать две точки - для центра и радиуса.

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

Вы всегда можете отменить построение нового объекта нажатием клавиши Escape или нажатием кнопки "Остановить" (красный восьмиугольник с 'X') на панели инструментов.

Построение окружности. Построение окружности

### Выбор объектов

Есть два способа выбора объекта:

- Вы можете просто щёлкнуть на объекте, при этом, чтобы предыдущее выделение не снималось зажмите &Ctrl; при щелчке.

- Щёлкните по пустой области окна и, не отпуская кнопки мыши, переместите курсор, при этом появится "прямоугольник", а объекты, попадающие в него, будут выбраны. Клавиша &Ctrl; также работает.

Выбор объектов Выбор объектов

### Перемещение объектов

Для перемещения объектов выберите их.

Затем щёлкните на одном из выделенных объектов и, нe отпуская левой кнопки мыши, перетащите их.

Перемещение некоторых объектов (особенно сложных ГМТ), может быть медленным, т.к. при этом делаются необходимые расчёты

Вы можете, сделать это щёлкнув правой кнопкой мыши на выбранном объекте, выбрать в контекстном меню Переместить... После этого любое перемещение мыши приведёт и к перемещению объекта. Чтобы прекратить перетаскивание, щёлкните левой кнопкой мыши.

### Удаление объектов

Выберите объекты и:

- либо нажмите клавишу Delete

- либо нажмите кнопку удаления на панели инструментов.

- либо выберите Удалить... в контекстном меню.

### Отображение и скрытие объектов

В &kig; объекты можно скрывать. Это выполняется выбором объектов, и нажатием на пунктеСкрыть... его контекстного меню.

Чтобы отобразить все скрытые объекты, Правка Отобразить всё...

### Отмена/Повтор

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

### Полноэкранный режим

&kig; содержит возможность полноэкранного режима. Чтобы воспользоваться ею, нажмите соответствующую кнопку на панели инструментов или выберите в меню Вид Полный экран.

Чтобы выйти из полноэкранного режима, щёлкните правой кнопкой мыши на пустом месте документа и выберите в выпадающем контекстном менюПолноэкранный режим , или просто нажмите клавишу Escape.

## Типы объектов &kig;

&kig; поддерживает много различных типов объектов. Вы можете опробовать их самостоятельно, это скорее всего будет лучше чтения нудного руководства :-). Помните, что не все возможные типы объектов есть на панели инструментов, отсутствующие можно найти в меню Объекты. Однако, как и любое приложение &kde;, &kig; поддерживает изменение набора кнопок на панелях инструментов. Это можно сделать через меню - Настройка Настроить панели инструментов....

## Дополнительные возможности

### Контекстные меню

В &kig; предусмотрены контекстные меню для объектов. Для их вызова щёлкните правой кнопкой мыши на объекте. Меню содержит команды построения, установки цветов, скрытия, перемещения и удаления объектов. Кроме того некоторые объекты имеют дополнительные специфические пункты (например вы сможете изменять вид их меню).

### Контекстные меню документа

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

### Запись макросов

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

Например, вам нужно сделать макрос, который бы создавал окружность по трём точкам на ней (несмотря на то, что &kig; уже предопределён такой тип ;). Вам нужно построить три точки, и используя перпендикуляры и середины отрезков, найти центр окружности, а затем построить окружность по её центру и точке.

Выполнение макроса Выполнение макроса

После этих действий вам нужно сохранить макрос. Выберите Запись макроса из меню Тип, или нажмите на соответствующей кнопке на панели инструментов. В появившемся мастере вам будет предложено выбрать входные объекты. В нашем случае, это три точки. (для выбора щёлкните на них). Нажмите Далее и выберите выходной объект (окружность).

Мастер записи макроса Мастер записи макроса

Нажмите Далее. Введите имя и описание вновь созданного типа, затем нажмите Готово.

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

Использование нового типа Использование нового типа

### Работа с типами

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

Менеджер типов Менеджер типов

### Метки

Вы можете подписывать построения. В &kig; также есть возможность просматривать разную информацию об объектах (Свойства).

Для создания надписи (метки) нажмите соответствующую кнопку на панели инструментов, или в меню Объекты Другие Метка .

Затем вам нужно выбрать расположение новой метки. Для этого щёлкните на области экрана, где должна быть метка или выберите в контекстном меню какого-либо объекта действие добавления к нему (метки).

Добавление метки к окружности Добавление метки к окружности

Теперь мы перешли к диалогу текстовой метки. Здесь введите текст, и нажмите "Готово". В документе появится новая метка.

Диалог Метка Диалог Метка

В метках поддерживаются шаблоны. Например вы можете ввести текст "Сегмент имеет длину %1 см.", где "%1" будет динамически заменяться (в данном случае) на длину.

Введите текст с символами подстановки ("%1", "%2", "%3" и т.д.). Убедитесь, что они указаны в правильном порядке, и что вы не пропустили ни одного номера. Нажмите Далее.

Мастер отображает введённый вами текст с подстановками. Чтобы выбрать, что отображать, как определённый аргумент, щёлкните на аргументе, затем на объекте, информацию о котором вам нужно отобразить, и выберите пункт в контекстном меню. Например, чтобы выводить информацию о текущей длине отрезка, щёлкните на "аргумент 1", затем на отрезке в главном окне &kig; и выберите свойство "Длина". Для построения метки нажмите Готово.

Выбор свойства для подстановки в шаблон Выбор свойства для подстановки в шаблон

### Геометрическое место точек

ГМТ является частью аналитической геометрии, однако изучается ещё в 7 классе (у нас). Геометрическим местом точек называется фигура, которая состоит из всех точек плоскости, обладающих определённым свойством.Если для вас это звучит слишком сложно, возможно вы поймёте это на примере.

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

Построение ГМТ Построение ГМТ

Теперь, если вы будете перемещать точку, присоединённую к окружности, вторая точка будет перемещаться вместе с ней. Если вы переместите первую точку по окружности, будет нарисована новая окружность размером в два раза меньше существующей. Путь, по которому идёт вторая точка при перемещении первой по окружности есть ГМТ.

Построение ГМТ очень просто. Нажмите на соответствующей кнопке на панели инструментов или через меню - Объекты Прочее ГМТ . Затем выберите бегущую точку (если вы поместите курсор мыши над ней, появится текст "Бегущая точка"), и зависимую. После этого появится ГМТ. Вот некоторые ссылки по этой теме: Основные сведения Геометрическое место точек на плоскости,

## Скрипты

Вы также можете создавать другие типы используя язык Python. Такую возможность имеет только &drgenius;. Похоже, что эта система в &kig; гибче, чем у других, однако это может быть просто субъективность автора :-)

Скрипты Python в &kig; позволяют создать ваш собственный метод построения объектов (используя всё же базовые). Например, если у вас есть свой метод вычисления определённой точки на конусе, то вместо сложных конструкций и макросов, вы сможете написать его реализацию на Python, а &kig; отобразит её.

Пример. Предположим, вам не нравится как строится серединная точка в &kig;, вы хотите построить её между двумя данными точками. Нажмите на кнопку Скрипт Python на панели инструментов или через меню Объекты Прочее Скрипт-объект .Появится мастер, который поможет вам продолжить ваши действия.

Мастер скрипт-объекта Мастер скрипт-объекта

Первое, что вам нужно будет сделать - выбрать аргументы, требуемые для построения объекта. В нашем примере, это две точки. Выберите их в окне &kig; и нажмите Далее.

Далее отобразится текстовое окно для кода. Там уже будет шаблон с комментариями. Важно убедиться, что введённый вами код соответствует синтаксису Python. Например, каждая строка функции должна начинаться с табуляции. Первая же строка без неё сообщает об окончании определения функции.

Главная функция, которая должна быть определена, называется "calc", в нашем случае она принимает два аргумента. Это объекты, которые вы выбрали в предыдущем окне мастера. Они называются arg1 и arg2, но вы можете изменить их имена на более информативные.

В функциях вы можете выполнять все нужные вам типы расчётов, используя, при надобности, аргументы. Функция должна возвращать объект. В нашем случае - это точка. Мы можем использовать функцию Point.coordinate() для определения координат данных точек.

В нашем примере расчёт очень прост. Нужно сложить две координаты и разделить сумму на два. Затем строится точка. Код python такой:

    def calc( a, b ):
                    m = ( a.coordinate() + b.coordinate() ) / 2;
                    return Point( m )

Ввод кода Ввод кода для серединной точки в мастере скрипт-объекта...

После нажатия кнопки Готово, новый объект появится в документе &kig;. Если вы переместите одну из точек, новопостроенная серединная точка также переместится. Таким способом можно построить объекты намного сложнее, чем в примере, приглашаем вас сделать это.

Скрипт-объект построен Только что построенный скрипт-объект. Он ничем не отличается от обычной серединной точки, так что снимок экрана не выглядит очень уж интересным ;-)

В коде Python могут использоваться все объекты &kig;. Точки принадлежат к классу Point, и можно использовать, например, метод Point.coordinate(). Полный список классов и их методов, доступных в Python, находится здесь.

## Возможности &kig;

- &kig; программа с открытым исходным кодом (open source). Это означает, что вы можете бесплатно использовать и изменять её. Распространение &kig; несёт свои ограничения, основное - все должны иметь одинаковое право на использование &kig; и его модификаций.

  Свободное программное обеспечение делается с открытой душой, и его разработчики открыты для обратной связи. Если у вас есть вопросы, предложения, отправляйте их автору на devriese@kde.org (на английском).

- &kig; - приложение KPart, это означает, она может быть легко встроена в любое приложение &kde;. Если вы запустите файл `.kig` в &konqueror;, он откроется в том же окне &konqueror;.

- Работа с &kig; должна быть простой, создание объектов лёгким и интерактивным, также должна помочь возможность отмены выполненного действия

- &kig; поддерживает запись макросов. Они могут использоваться как обычные типы объектов, не сбрасываются при выходе. В Менеджере типов вы можете управлять ими - изменять, удалять, экспортировать, импортировать.

- &kig; использует формат &XML; для хранения данных.

- &kig; поддерживает ГМТ (геометрическое место точек)...

- Построенные объекты возможно экспортировать в изображение или в формат XFig. Это может быть полезно, так как не все программы поддерживают формат файлов &kig;.

- В &kig; имеется хорошая система преобразования.

- &kig; совместим со своими конкурентами. В частности, он поддерживает формат файлов &kgeo;, &kseg;, и автор работает над поддержкой других форматов.

## Содействие в разработке &kig;

### Бесплатное программное обеспечение

&kig; является открытым ПО. Это означает, что исходники программы доступны через Интернет, каждый может бесплатно использовать их, изменять и выпускать собственные дистрибутивы на их основе. Разработка программы - хобби автора, которая позволяет совершенствоваться в программировании на C++, KDE/Qt.

### Содействие в разработке &kig;

Цель этой главы - рассказать пользователям о правах, предоставляемых лицензией &kig;. Вы можете помочь в разработке программы устранением проблем, которые нашли, добавлением новых возможностей. Всё, что касается этого, вы можете прислать на devriese@kde.org, и он добавит ваш код в следующую версию программы.

Лицензию вы можете найти в файле COPYING в CVS-репозитории &kig; или в диалоге "О программе".

### Как помочь?

Отправьте автору новые пиктограммы, код, макросы и пр. Всё это будет распространятся по лицензии GNU GPL.

## Вопросы и ответы

&reporting.bugs; &updating.documentation;

## Лицензия и благодарности

&kig;

&kig; copyright 2002 Dominique Devriese devriese@kde.org

Документация (С) 2002-2003 Dominique Devriese. devriese@kde.org

Н. Шафоростов shafff@ukr.net

&underFDL; &underGPL;

## Установка

### Как получить &kig;

&install.intro.documentation;

### Сборка и установка

&install.compile.documentation;
&documentation.index;