# Руководство пользователя &kig;

## Введение

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

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

- Быть инструментом для рисования геометрических фигур и встраивания их в другие документы.

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

Так как &kig; поддерживает макросы и создание геометрических мест точек, он позволяет определять довольно сложные макросы. Если вы создали интересный макрос, который, как вы считаете, может быть полезен другим людям, пожалуйста, напишите письмо автору по адресу электронной почты toscano.pino@tiscali.it. Он постарается включить его в дистрибутив программы (если вы это сделаете, он будет иметь лицензию, совпадающую с лицензией программы — GPL, и другие люди смогут свободно его использовать).

## Основы

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

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

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

- Через меню Объекты Точки Точка или через соответствующую кнопку на панели инструментов. После этого щёлкните на необходимой позиции в окне.

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

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

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

Точка Точка

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

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

Окружность Окружность

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

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

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

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

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

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

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

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

Когда под указателем мыши находятся более одного объекта, можно легко выбрать, какой из них выделить или добавить в выделение. Нажмите левую кнопку мыши, удерживая клавишу &Shift;, чтобы получить контекстное меню, содержащее все объекты под указателем мыши. Выделите нужный объект. Как говорилось выше, поведение клавиши &Ctrl; будет влиять на выделение.

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

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

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

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

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

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

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

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

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

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

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

### Показ и скрытие объектов

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

Чтобы показать все скрытые объекты, выберите пункт меню Правка Показать все.

#### Ночное видение

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

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

Переключиться в режим ночного видения можно командой меню Настройка Инфракрасные очки.

### Отмена и повтор

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

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

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

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

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

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

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

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

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

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

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

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

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

Например, вам нужно сделать макротип, который бы создавал окружность по трём точкам на ней. Вам нужно построить три точки, и, используя перпендикуляры и середины отрезков, найти центр окружности, а затем построить окружность по её центру и точке. Теперь вы можете использовать уже готовую команду «Окружность по трём точкам». Должно получиться следующее построение:

Работа с макротипом Работа с макротипом

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

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

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

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

Использование макротипа Использование макротипа

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

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

Управление макротипами Управление макротипами

### Надписи

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

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

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

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

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

Создание надписи Создание надписи

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

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

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

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

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

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

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

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

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

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

## Сценарии

Вы также можете создавать свои типы (макротипы или просто макросы) на языке Python. Такую возможность, кроме &kig;, имеет только &drgeo;.

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

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

Мастер создания объекта из сценария Мастер создания объекта из сценария

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

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

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

В функциях вы можете выполнять все нужные вам типы расчётов, используя, при надобности, аргументы. Функция должна возвращать объект. В нашем случае — это точка (типа `Point`, два наших аргумента также имеют этот тип). Мы можем использовать функцию `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; — программа с открытым исходным кодом. Это означает, что вы можете бесплатно использовать и изменять её. Распространение &kig; несёт свои ограничения, основное из них — все должны иметь одинаковое право на использование &kig; и его модификаций.

  Свободное программное обеспечение делается с открытой душой, и его разработчики обычно открыты для обратной связи. Поэтому, если у вас есть вопросы, жалобы и т.п., отправляйте их автору по адресу электронной почты toscano.pino@tiscali.it.

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

- Работа с &kig; проста и понятна, создание объектов лёгкое и интерактивное.

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

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

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

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

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

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

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

Ещё не написано

## Авторы и лицензирование

&kig;

&kig;: © Доминик Деврез (Dominique Devriese) devriese@kde.org, 2002-2004

Документация: © Доминик Деврез (Dominique Devriese) devriese@kde.org, 2002-2004.

Документация: © Пино Тоскано (Pino Toscano) toscano.pino@tiscali.it, 2004-2005.

Редакция: Филип Родригес (&Philip.Rodrigues;) &Philip.Rodrigues.mail;.

Перевод на русский язык: Николай Шафоростов shafff@ukr.net

&underFDL; &underGPL;

## Установка

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

&install.intro.documentation;

### Компиляция и установка

&install.compile.documentation;

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

### Свободное программное обеспечение

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

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

Цель этой главы — рассказать пользователям о правах, предоставляемых лицензией &kig;. Вы можете (и это приветствуется) исправлять найденные во время использования ошибки в программе, добавлять новые возможности, которых вам не хватает, распространять программу с внесёнными вами изменениями, отправлять эти изменения автору по адресу электронной почты toscano.pino@tiscali.it. Автор включит их в следующую версию программы, и другие люди смогут ими воспользоваться. Имейте ввиду, у автора лично нет никакого меркантильного интереса к данному проекту.

Если вы сомневаетесь в предоставляемых правах использования этого программного обеспечения или правах других людей изменять код, прочтите лицензию. Вы можете найти её в файле `COPYING` в исходном коде &kig; или на вкладке «Лицензия» в диалоге О программе.

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

Приветствуется любая помощь. Отправляйте автору новые значки, изменения в код и документацию, макротипы и прочее. Всё это будет распространяться по лицензии &GNU; GPL, которую можно найти в файле `COPYING` в исходном коде &kig; или в главе Авторы и лицензирование.

&documentation.index;