Translation by Artem Sereda with my minor changes
[kde-ru.git] / docs / kdeedu / kig / index.docbook
blobeefc47aff51171597ff3410ae5596be821bae13b
1 <?xml version="1.0" ?>
2 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
3 <!ENTITY kseg "<application
4 >KSeg</application
5 >">
6 <!ENTITY cabri "<application
7 >Cabri</application
8 >">
9 <!ENTITY drgeo "<application
10 >Dr.Geo</application
11 >">
12 <!ENTITY package "kdeedu">
13 <!ENTITY kappname "&kig;">
14 <!ENTITY % addindex "IGNORE">
15 <!ENTITY % Russian "INCLUDE">
16 <!-- change language only here -->
20 <book lang="&language;">
22 <bookinfo>
23 <title
24 >Руководство &kig;</title>
26 <authorgroup>
27 <author
28 ><firstname
29 >Dominique</firstname
30 > <surname
31 >Devriese</surname
32 > <affiliation
33 > <address
34 ><email
35 >devriese@kde.org</email
36 ></address>
37 </affiliation>
38 </author>
39 <othercredit role="translator"
40 ><firstname
41 >Николай</firstname
42 ><surname
43 >Шафоростов</surname
44 ><affiliation
45 ><address
46 ><email
47 >shafff@ukr.net</email
48 ></address
49 ></affiliation
50 ><contrib
51 >Перевод на русский язык</contrib
52 ></othercredit
54 </authorgroup>
57 <copyright>
58 <year
59 >2002</year
60 ><year
61 >2003</year
62 ><year
63 >2004</year
64 > <holder
65 >Dominique Devriese</holder>
66 </copyright>
68 <legalnotice
69 >&FDLNotice;</legalnotice>
71 <date
72 >2004-06-29</date
73 > <releaseinfo
74 >0.9.0</releaseinfo>
76 <abstract>
77 <para
78 >&kig; &mdash; это программа интерактивной геометрии. </para>
79 </abstract>
81 <keywordset>
82 <keyword
83 >KDE</keyword
84 > <keyword
85 >KDE-Edu</keyword>
86 <keyword
87 >Kig</keyword
88 > <keyword
89 >интерактивная геометрия</keyword>
90 <keyword
91 >KGeo</keyword
92 > <keyword
93 >Cabri</keyword>
94 <keyword
95 >Dr.Geo</keyword
96 > <keyword
97 >KSeg</keyword>
98 </keywordset>
99 </bookinfo>
101 <chapter id="introduction">
102 <title
103 >Введение</title>
105 <para
106 >&kig; &mdash; это программа интерактивной геометрии. Она создана для двух целей: </para>
108 <itemizedlist>
109 <listitem
110 ><para
111 >Дать учащимся возможность исследовать математические концепции с помощью компьютера. </para
112 ></listitem>
114 <listitem
115 ><para
116 >Быть инструментом <acronym
117 >WYSIWYG</acronym
118 > (What You See Is What You Get &mdash; что видишь, то и получаешь) для построения математических функций и встраивания их в другие документы.</para
119 ></listitem>
120 </itemizedlist>
122 <para
123 >Вы можете сообщить об ошибках в &kig;, используя стандартный диалог сообщения об ошибках (<menuchoice
124 ><guimenu
125 >Справка</guimenu
126 ><guimenuitem
127 >Сообщить об ошибке...</guimenuitem
128 ></menuchoice
129 >), или просто написать по адресу <email
130 >devriese@kde.org</email
131 > (на английском языке). </para>
132 <para
133 >&kig; поддерживает макротипы и геометрическое место точек. Если вы создали интересный (и сложный) макротип, который может быть полезен другим, отправьте его <ulink url="mailto:devriese@kde.org"
134 >автору</ulink
135 >, и он будет добавлен в официальный выпуск программы (под лицензией <ulink url="http://www.gnu.org/licenses/licenses.html#GPL"
136 >GPL</ulink
137 >, что значит, что другие смогут изменять его и адаптировать). </para>
138 </chapter>
140 <chapter id="using-kig-basic">
141 <title
142 >Основы</title>
143 <section id="constructing-objects">
144 <title
145 >Построение объектов</title>
146 <section id="constructing-points">
147 <title
148 >Построение точек</title>
149 <para
150 >Вы можете сделать это несколькими способами:</para>
151 <itemizedlist>
152 <listitem>
153 <para
154 >Через меню <menuchoice
155 ><guimenu
156 >Объекты</guimenu
157 > <guisubmenu
158 >Точки</guisubmenu
159 ><guimenuitem
160 >Точка</guimenuitem
161 ></menuchoice
162 > или через соответствующую кнопку на панели инструментов. После этого щёлкните на необходимой позиции в окне.</para
163 > <note
164 ><para
165 >Таким способом можно построить и другие объекты: выбрать необходимый инструмент можно через пункт меню или нажать кнопку на панели инструментов.</para
166 ></note>
167 </listitem>
168 <listitem>
169 <para
170 >Так как точки требуется строить чаще, есть также способ сделать это быстрей. Нажмите в области окна <mousebutton
171 >средней</mousebutton
172 > кнопкой мыши. </para>
173 </listitem>
174 <listitem>
175 <para
176 >Вы можете создавать точки при построении других объектов, Подробности указаны в разделе <xref linkend="constructing-other-objects"/>. </para>
177 </listitem>
178 </itemizedlist>
180 <screenshot>
181 <screeninfo
182 >Точка построена</screeninfo>
183 <mediaobject>
184 <imageobject>
185 <imagedata fileref="constructed_a_point.png"
186 format="PNG"/>
187 </imageobject>
188 <textobject>
189 <phrase
190 >Точка построена</phrase>
191 </textobject>
192 </mediaobject>
193 </screenshot>
194 </section>
196 <section id="constructing-other-objects">
197 <title
198 >Построение других объектов</title>
199 <para
200 >Вы можете построить определённый объект, выбрав его из меню <guimenu
201 >Объекты</guimenu
202 > или нажав на одну из кнопок панели инструментов. </para>
203 <screenshot>
204 <screeninfo
205 >Построение окружности</screeninfo>
206 <mediaobject>
207 <imageobject>
208 <imagedata fileref="constructing_a_circle.png"
209 format="PNG"/>
210 </imageobject>
211 <textobject>
212 <phrase
213 >Построение окружности</phrase>
214 </textobject>
215 </mediaobject>
216 </screenshot>
217 <para
218 >Начнётся построение объекта выбранного типа. Все объекты требуют указания параметров. Например, если вы выбрали построение окружности по центру и точке, вы должны передать две точки &mdash; для центра и радиуса. </para>
219 <para
220 >Выбор этих параметров очень прост. Нужно поместить курсор мыши над объектом, который вы хотите использовать. Если этот объект может быть использован для построения, появится изображение с видом объекта. Для объектов, которым требуются точки как аргументы, вы можете построить новую точку в текущей позиции курсора и выбрать её нажатием <mousebutton
221 >левой</mousebutton
222 > кнопки мыши. </para>
223 <para
224 >Вы всегда можете отменить построение нового объекта нажатием клавиши &Esc; или нажатием кнопки <guiicon
225 >Отменить построение объекта</guiicon
226 > (красный круг с 'X' посередине) на панели инструментов. </para>
227 <screenshot>
228 <screeninfo
229 >Построение окружности.</screeninfo>
230 <mediaobject>
231 <imageobject>
232 <imagedata fileref="constructing_a_circle_2.png"
233 format="PNG"/>
234 </imageobject>
235 <textobject>
236 <phrase
237 >Построение окружности</phrase>
238 </textobject>
239 </mediaobject>
240 </screenshot>
241 </section>
242 </section>
244 <section id="selecting-objects">
245 <title
246 >Выбор объектов</title>
247 <para
248 >Есть два способа выбора объекта: </para>
249 <itemizedlist>
250 <listitem>
251 <para
252 >Вы можете просто щёлкнуть на объекте, при этом, чтобы предыдущее выделение не снималось, нажмите &Ctrl; при щелчке. </para>
253 </listitem>
254 <listitem>
255 <para
256 >Щёлкните по пустой области окна и, не отпуская кнопки мыши, переместите курсор, при этом появится "прямоугольник", а объекты, попадающие в него, будут выбраны. Клавиша &Ctrl; также предотвращает снятие предыдущего выделения. </para>
257 </listitem>
258 </itemizedlist>
260 <screenshot>
261 <screeninfo
262 >Выбор объектов</screeninfo>
263 <mediaobject>
264 <imageobject>
265 <imagedata fileref="selecting_objects.png" format="PNG"/>
266 </imageobject>
267 <textobject>
268 <phrase
269 >Выбор объектов</phrase>
270 </textobject>
271 </mediaobject>
272 </screenshot>
273 </section>
275 <section id="moving-objects">
276 <title
277 >Перемещение объектов</title>
278 <para
279 >Для перемещения объектов <link linkend="selecting-objects"
280 >выберите</link
281 > их. </para>
282 <para
283 >Затем щёлкните на одном из выделенных объектов и, нe отпуская <mousebutton
284 >левую</mousebutton
285 > кнопку мыши, перетащите их. </para>
286 <note
287 ><para
288 >Перемещение некоторых объектов (особенно сложных геометрических мест точек), может быть медленным, т.к. при этом делаются необходимые расчёты. </para
289 ></note
290 > <note
291 ><para
292 >Вы можете сделать это, щёлкнув <mousebutton
293 >правой</mousebutton
294 > кнопкой мыши на выбранном объекте, выбрать в контекстном меню <guimenuitem
295 >Переместить</guimenuitem
296 >. После этого любое перемещение мыши приведёт и к перемещению объекта. Чтобы прекратить перетаскивание, щёлкните <mousebutton
297 >левой</mousebutton
298 > кнопкой мыши. </para
299 ></note>
300 </section>
301 <section id="deleting-objects">
302 <title
303 >Удаление объектов</title>
304 <para
305 ><link linkend="selecting-objects"
306 >Выберите</link
307 > объекты и: <itemizedlist>
308 <listitem>
309 <para
310 >нажмите клавишу <keycap
311 >Delete</keycap
312 > </para>
313 </listitem>
314 <listitem>
315 <para
316 >либо нажмите кнопку удаления на панели инструментов. </para>
317 </listitem>
318 <listitem>
319 <para
320 >либо выберите <guimenuitem
321 >Удалить</guimenuitem
322 > в <link linkend="objects-context-menus"
323 >контекстном меню</link
324 >. </para>
325 </listitem>
326 </itemizedlist>
327 </para>
328 </section>
329 <section id="showing-hiding-objects">
330 <title
331 >Отображение и скрытие объектов</title>
332 <para
333 >В &kig; объекты можно скрывать. При выборе объектов выберите пункт меню <guimenuitem
334 >Скрыть</guimenuitem
335 > в <link linkend="objects-context-menus"
336 >контекстном меню</link
337 > объекта. </para>
338 <para
339 >Чтобы показать все скрытые объекты, выберите пункт меню <menuchoice
340 ><guimenu
341 >Правка</guimenu
342 ><guimenuitem
343 >Показать все</guimenuitem
344 ></menuchoice
345 > </para>
346 </section>
347 <section id="undo-redo">
348 <title
349 >Отмена/Повтор</title>
350 <para
351 >Вы можете отменить почти любое сделанное вами изменение. Используйте кнопки на панели инструментов или комбинации клавиш. </para>
352 </section>
353 <section id="full-screen-mode">
354 <title
355 >Полноэкранный режим</title>
356 <para
357 >&kig; содержит возможность полноэкранного режима. Чтобы воспользоваться ею, нажмите соответствующую кнопку на панели инструментов или выберите пункт меню <menuchoice
358 ><guimenu
359 >Настройка</guimenu
360 ><guimenuitem
361 >Полный экран</guimenuitem
362 ></menuchoice
363 >. </para>
364 <para
365 >Чтобы выйти из полноэкранного режима, щёлкните <mousebutton
366 >правой</mousebutton
367 > кнопкой мыши на пустом месте документа и выберите в выпадающем контекстном меню <menuchoice
368 ><guimenuitem
369 >Полноэкранный режим</guimenuitem
370 ></menuchoice
371 > или просто нажмите клавишу &Esc;. </para>
372 </section>
373 </chapter>
375 <chapter id="kig-object-types">
376 <title
377 >Типы объектов &kig;</title>
378 <para
379 >&kig; поддерживает много различных типов объектов. Вы можете опробовать их самостоятельно. Помните, что не все типы объектов есть на панели инструментов, отсутствующие можно найти в меню <guimenu
380 >Объекты</guimenu
381 >. Однако, как и любое приложение &kde;, &kig; поддерживает изменение набора кнопок на панелях инструментов. Это можно сделать через пункт меню <menuchoice
382 ><guimenu
383 >Настройка</guimenu
384 > <guimenuitem
385 >Настроить панели инструментов...</guimenuitem
386 ></menuchoice
387 >. </para>
388 </chapter>
390 <chapter id="using-advanced">
391 <title
392 >Дополнительные возможности</title>
393 <section id="objects-context-menus">
394 <title
395 >Контекстные меню</title>
396 <para
397 >В &kig; предусмотрены контекстные меню для объектов. Для их вызова щёлкните <mousebutton
398 >правой</mousebutton
399 > кнопкой мыши на объекте. Меню содержит команды построения, установки цветов, скрытия, перемещения и удаления объектов. Кроме того, некоторые объекты имеют дополнительные специфические пункты (например вы сможете изменять точки их построения). </para>
400 </section>
401 <section id="document-context-menus">
402 <title
403 >Контекстные меню документа</title>
404 <para
405 >Нажатием <mousebutton
406 >правой</mousebutton
407 > кнопки в документе (не на объекте) вы откроете контекстное меню, которое вы можете использовать для построения новых объектов, изменения координатной системы, отображения скрытых объектов и изменения масштаба документа. </para>
408 </section>
409 <section id="defining-macros">
410 <title
411 >Запись макротипов</title>
412 <para
413 >С помощью макротипов вы можете ускорить процесс создания объектов, которые вы часто используете. </para>
414 <para
415 >Например, вам нужно сделать макротип, который бы создавал окружность по трём точкам на ней. Вам нужно построить три точки, и используя перпендикуляры и середины отрезков, найти центр окружности, а затем построить окружность по её центру и точке. </para>
416 <screenshot>
417 <screeninfo
418 >Работа с макротипом</screeninfo>
419 <mediaobject>
420 <imageobject>
421 <imagedata fileref="test_run_macro.png" format="PNG"/>
422 </imageobject>
423 <textobject>
424 <phrase
425 >Работа с макротипом</phrase>
426 </textobject>
427 </mediaobject>
428 </screenshot>
430 <para
431 >После этих действий вам нужно определить макротип. Выберите <guimenuitem
432 >Запись макротипа</guimenuitem
433 > из меню <guimenu
434 >Сервис</guimenu
435 > или нажмите на соответствующей кнопке на панели инструментов. В появившемся мастере вам будет предложено выбрать входные объекты. В нашем случае, это три точки. (для выбора щёлкните на них). Нажмите <guibutton
436 >Далее</guibutton
437 > и выберите выходной объект (окружность). </para>
439 <screenshot>
440 <screeninfo
441 >Мастер записи макротипа</screeninfo>
442 <mediaobject>
443 <imageobject>
444 <imagedata fileref="macro_wizard.png" format="PNG"/>
445 </imageobject>
446 <textobject>
447 <phrase
448 >Мастер записи макротипа</phrase>
449 </textobject>
450 </mediaobject>
451 </screenshot>
453 <para
454 >Нажмите <guibutton
455 >Далее</guibutton
456 >. Введите имя и описание вновь созданного типа, затем нажмите <guibutton
457 >Готово</guibutton
458 >. </para>
460 <para
461 >Для использования макротипа, нажмите кнопку на панели инструментов, или выберите его из меню <guimenu
462 >Объекты</guimenu
463 >. Его значок будет выглядеть как выходной объект. Вы можете выполнять над макротипами такие же действия, как и с обычными объектами. </para>
464 <screenshot>
465 <screeninfo
466 >Использование макротипа</screeninfo>
467 <mediaobject>
468 <imageobject>
469 <imagedata fileref="macros_at_work.png" format="PNG"/>
470 </imageobject>
471 <textobject>
472 <phrase
473 >Использование макротипа</phrase>
474 </textobject>
475 </mediaobject>
476 </screenshot>
477 </section>
478 <section id="working-with-types">
479 <title
480 >Работа с макротипами</title>
481 <para
482 >Макротипы, записанные однажды, сохраняются автоматически, и при следующем запуске программы вы также сможете их использовать. При выборе команды <guimenuitem
483 >Управление типами</guimenuitem
484 > из меню <guimenu
485 >Сервис</guimenu
486 >, появится диалог, где вы сможете изменить ваши макротипы: удалить, экспортировать и импортировать из файла. </para>
487 <screenshot>
488 <screeninfo
489 >Управление типами</screeninfo>
490 <mediaobject>
491 <imageobject>
492 <imagedata fileref="edit_types_dialog.png" format="PNG"/>
493 </imageobject>
494 <textobject>
495 <phrase
496 >Управление типами</phrase>
497 </textobject>
498 </mediaobject>
499 </screenshot>
500 </section>
501 <section id="text-labels">
502 <title
503 >Надписи</title>
504 <para
505 >Вы можете подписывать построения. В &kig; также есть возможность просматривать разную информацию об объектах (<quote
506 >Свойства</quote
507 >). </para>
508 <para
509 >Для создания надписи нажмите соответствующую кнопку на панели инструментов, или в меню <menuchoice
510 ><guimenu
511 >Объекты</guimenu
512 ><guisubmenu
513 >Другие</guisubmenu
514 ><guimenuitem
515 >Надпись</guimenuitem
516 > </menuchoice
517 >. </para>
518 <para
519 >Затем вам нужно выбрать расположение новой надписи. Для этого щёлкните на области экрана, где должна находится надпись или выберите в контекстном меню какого-либо объекта действие добавления к нему надписи. </para>
520 <screenshot>
521 <screeninfo
522 >Добавление надписи к окружности</screeninfo>
523 <mediaobject>
524 <imageobject>
525 <imagedata fileref="text_label_attaching.png" format="PNG"/>
526 </imageobject>
527 <textobject>
528 <phrase
529 >Добавление надписи к окружности</phrase>
530 </textobject>
531 </mediaobject>
532 </screenshot>
533 <para
534 >Теперь мы перешли к диалогу надписи. Здесь введите текст, и нажмите "Готово". В документе появится новая надпись. </para>
535 <screenshot>
536 <screeninfo
537 >Диалог 'Создать надпись'</screeninfo>
538 <mediaobject>
539 <imageobject>
540 <imagedata fileref="text_label_wizard.png" format="PNG"/>
541 </imageobject>
542 <textobject>
543 <phrase
544 >Диалог 'Создать надпись'</phrase>
545 </textobject>
546 </mediaobject>
547 </screenshot>
548 <para
549 >В надписях поддерживаются шаблоны. Например, вы можете ввести текст <quote
550 >Сегмент имеет длину %1 см.</quote
551 >, где <token
552 >%1</token
553 > будет динамически заменяться (в данном случае) на длину. </para>
554 <para
555 >Введите текст с символами подстановки (<token
556 >%1</token
557 >, <token
558 >%2</token
559 > и т.д.). Убедитесь, что они указаны в правильном порядке, и что вы не пропустили ни одного номера. Нажмите <guibutton
560 >Далее</guibutton
561 >. </para>
562 <para
563 >Мастер отображает введённый вами текст с подстановками. Чтобы выбрать, что отображать, как определённый аргумент, щёлкните на аргументе, затем на объекте, информацию о котором вам нужно отобразить, и выберите пункт в контекстном меню. Например, чтобы выводить информацию о текущей длине отрезка, щёлкните на <guilabel
564 >аргумент 1</guilabel
565 >, затем на отрезке в главном окне &kig; и выберите свойство <guilabel
566 >Длина</guilabel
567 >. Для построения надписи нажмите <guibutton
568 >Готово</guibutton
569 >. </para>
570 <screenshot>
571 <screeninfo
572 >Выбор свойства для подстановки в шаблон</screeninfo>
573 <mediaobject>
574 <imageobject>
575 <imagedata
576 fileref="text_label_wizard__select_property.png"
577 format="PNG"/>
578 </imageobject>
579 <textobject>
580 <phrase
581 >Выбор свойства для подстановки в шаблон</phrase>
582 </textobject>
583 </mediaobject>
584 </screenshot>
585 </section>
586 <section id="locuses">
587 <title
588 >Геометрическое место точек</title>
589 <para
590 >&kig; поддерживает геометрическое место точек (ГМТ). Геометрическим местом точек называется фигура, которая состоит из всех точек плоскости, обладающих определённым свойством. Если для вас это звучит слишком сложно, возможно вы поймёте это на примере: </para>
591 <para
592 >Рассмотрим следующее геометрическое построение: Мы строим окружность и точку на ней (которая может перемещаться по его поверхности) расположением курсора мыши на окружности и нажатием <mousebutton
593 >средней</mousebutton
594 > кнопки мыши. При этом, если вы попытаетесь переместить эту точку, вы не сможете убрать её с окружности. Затем мы создаём отрезок из той точки к центру окружности и его серединную точку. </para>
595 <screenshot>
596 <screeninfo
597 >Построение ГМТ</screeninfo>
598 <mediaobject>
599 <imageobject>
600 <imagedata
601 fileref="simple_locus_construction.png"
602 format="PNG"/>
603 </imageobject>
604 <textobject>
605 <phrase
606 >Построение ГМТ</phrase>
607 </textobject>
608 </mediaobject>
609 </screenshot>
610 <para
611 >Теперь, если вы будете перемещать точку, присоединённую к окружности, вторая точка будет перемещаться вместе с ней. Если вы переместите первую точку по окружности, будет нарисована новая окружность размером в два раза меньше существующей. Путь, по которому идёт вторая точка при перемещении первой по окружности, есть её ГМТ. </para>
612 <para
613 >Построение ГМТ очень просто. Нажмите на соответствующей кнопке на панели инструментов или через меню &mdash; <menuchoice
614 ><guimenu
615 >Объекты</guimenu
616 > <guisubmenu
617 >Другие</guisubmenu
618 > <guimenuitem
619 >ГМТ</guimenuitem
620 > </menuchoice
621 >. Затем выберите бегущую точку (если вы поместите курсор мыши над ней, появится текст <guilabel
622 >Бегущая точка</guilabel
623 >), и зависимую. После этого появится ГМТ.
625 Вот некоторые ссылки по этой теме: <ulink url="http://www.mccme.ru/free-books/prasolov/planim/gl7.htm"
626 >Основные сведения</ulink>
627 <ulink url="http://homepages.irk.ru/mialo/models/geommest.htm"
628 >Геометрическое место точек на плоскости</ulink
629 >. </para>
630 </section>
631 </chapter>
633 <chapter id="scripting">
634 <title
635 >Сценарии</title>
636 <para
637 >Вы также можете создавать свои типы (макротипы, или просто макросы) на языке Python. Такую возможность, кроме &kig;, имеет только &drgeo;. </para>
638 <para
639 >Сценарии Python в &kig; позволяют создать ваш собственный метод построения объектов (используя всё же базовые). Например, если у вас есть свой метод вычисления определённой точки на конусе, то вместо сложных конструкций и макротипов, вы сможете написать его реализацию на Python, а &kig; отобразит её. </para>
640 <para
641 >Пример. Предположим, вам не нравится как строится серединная точка в &kig;, вы хотите построить её между двумя данными точками. Нажмите на кнопку <guibutton
642 >Сценарий Python</guibutton
643 > на панели инструментов или через меню <menuchoice
644 > <guimenu
645 >Объекты</guimenu
646 > <guisubmenu
647 >Другие</guisubmenu
648 > <guimenuitem
649 >Сценарий Python</guimenuitem
650 > </menuchoice
651 >. Появится мастер, который поможет вам продолжить ваши действия. </para>
652 <screenshot>
653 <screeninfo
654 >Мастер создания объекта из сценария</screeninfo>
655 <mediaobject>
656 <imageobject>
657 <imagedata fileref="script_wizard.png" format="PNG"/>
658 </imageobject>
659 <textobject>
660 <phrase
661 >Мастер создания объекта из сценария</phrase>
662 </textobject>
663 </mediaobject>
664 </screenshot>
665 <para
666 >Первое, что вам нужно будет сделать, &mdash; выбрать аргументы, требуемые для построения объекта. В нашем примере, это две точки. Выберите их в окне &kig; и нажмите <guibutton
667 >Далее</guibutton
668 >. </para>
669 <para
670 >Отобразится текстовое окно для ввода кода. Там уже будет шаблон с комментариями. Важно убедиться, что введённый вами код соответствует синтаксису Python. Например, каждая строка функции должна начинаться с табуляции. Первая же строка без неё сообщает об окончании определения функции. </para>
671 <para
672 >Главная функция, которая должна быть определена, называется <quote
673 >calc</quote
674 >, в нашем случае она принимает два аргумента. Это объекты, которые вы выбрали в предыдущем окне мастера. Они называются <parameter
675 >arg1</parameter
676 > и <parameter
677 >arg2</parameter
678 >, но вы можете изменить их имена на более понятные для вас. </para>
679 <para
680 >В функциях вы можете выполнять все нужные вам типы расчётов, используя, при надобности, аргументы. Функция должна возвращать объект. В нашем случае &mdash; это точка (типа <classname
681 >Point</classname
682 >, два наших аргумента также имеют этот тип). Мы можем использовать функцию <function
683 >Point.coordinate()</function
684 > для определения координат данных точек. </para>
685 <para
686 >В нашем примере расчёт очень прост. Нужно сложить две координаты и разделить сумму на два. Затем строится точка. Код на Python будет следующий:</para>
688 <programlisting
689 >def calc( a, b ):
690 m = ( a.coordinate() + b.coordinate() ) / 2;
691 return Point( m )
692 </programlisting>
694 <screenshot>
695 <screeninfo
696 >Ввод кода</screeninfo>
697 <mediaobject>
698 <imageobject>
699 <imagedata fileref="script_wizard_entering_code.png" format="PNG"/>
700 </imageobject>
701 <textobject>
702 <phrase
703 >Ввод кода для серединной точки в мастере создания объекта из сценария...</phrase>
704 </textobject>
705 </mediaobject>
706 </screenshot>
707 <para
708 >После нажатия кнопки <guibutton
709 >Готово</guibutton
710 >, новый объект появится в документе &kig;. Если вы переместите одну из точек, вновь построенная серединная точка также переместится. Таким способом, можно построить объекты много сложнее, чем в примере. Попробуйте сделать это самостоятельно. </para>
711 <screenshot>
712 <screeninfo
713 >Объект из сценария построен</screeninfo>
714 <mediaobject>
715 <imageobject>
716 <imagedata fileref="constructed_script_object.png" format="PNG"/>
717 </imageobject>
718 <textobject>
719 <phrase
720 >Объект из сценария построен </phrase>
721 </textobject>
722 </mediaobject>
723 </screenshot>
724 <para
725 >В коде Python могут использоваться все объекты &kig;. Точки принадлежат к классу <classname
726 >Point</classname
727 >, и можно использовать, например, метод <function
728 >Point.coordinate()</function
729 >. Полный список классов и их методов, доступных в Python, находится <ulink url="http://edu.kde.org/kig/manual/scripting-api/index.html"
730 >здесь</ulink
731 >. </para>
732 </chapter>
734 <chapter id="kig-features">
735 <title
736 >Возможности &kig;</title>
738 <itemizedlist>
739 <listitem>
740 <para
741 >&kig; &mdash; программа с открытым исходным кодом. Это означает, что вы можете бесплатно использовать и изменять её. Распространение &kig; несёт свои ограничения, основное из них &mdash; все должны иметь одинаковое право на использование &kig; и его модификаций. </para>
742 <para
743 >Свободное программное обеспечение делается с открытой душой, и его разработчики открыты для обратной связи. Если у вас есть вопросы, предложения, отправляйте их автору на <email
744 >devriese@kde.org</email
745 > (на английском). </para>
746 </listitem>
747 <listitem>
748 <para
749 >&kig; &mdash; приложение KPart. Это означает, что она может быть легко встроена в любое приложение &kde;. Например, если вы запустите файл <literal role="extension"
750 >.kig</literal
751 > в &konqueror;, он откроется в том же окне &konqueror;. </para>
752 </listitem>
753 <listitem>
754 <para
755 >Работа с &kig; должна быть простой, создание объектов лёгким и интерактивным, также вам должна помочь возможность отмены выполненного действия </para>
756 </listitem>
757 <listitem>
758 <para
759 >&kig; поддерживает запись макротипов. Они могут использоваться как обычные типы объектов, не сбрасываются при выходе. В разделе <xref linkend="working-with-types"/> вы можете управлять ими &mdash; изменять, удалять, экспортировать, импортировать. </para>
760 </listitem>
761 <listitem>
762 <para
763 >&kig; использует формат &XML; для хранения данных. </para>
764 </listitem>
765 <listitem>
766 <para
767 >&kig; поддерживает ГМТ (геометрическое место точек). </para>
768 </listitem>
769 <listitem>
770 <para
771 >Построенные объекты можно экспортировать в изображение, в формат <application
772 >XFig</application
773 >, <application
774 >LaTeX</application
775 > или <acronym
776 >SVG</acronym
777 >. Это может быть полезно, так как не все программы поддерживают формат файлов &kig;. </para>
778 </listitem>
779 <listitem>
780 <para
781 >В &kig; имеется хорошая система преобразования. </para>
782 </listitem>
783 <listitem>
784 <para
785 >&kig; совместим со своими конкурентами. В частности, он поддерживает формат файлов &kgeo;, &kseg;, частично форматы &drgeo; и &cabri;, автор работает над поддержкой других. </para>
786 </listitem>
787 </itemizedlist>
788 </chapter>
791 <chapter id="faq">
792 <title
793 >Вопросы и ответы</title>
794 &reporting.bugs; &updating.documentation; <para
795 ></para>
796 </chapter>
798 <chapter id="credits">
799 <title
800 >Лицензии и авторы</title>
802 <para
803 >&kig; </para>
804 <para
805 >&kig; (С) 2002-2004 Dominique Devriese <email
806 >devriese@kde.org</email
807 > </para>
809 <para
810 >Документация (С) 2002-2004 Dominique Devriese. <email
811 >devriese@kde.org</email
812 > </para>
814 <para
815 >Редакция - &Philip.Rodrigues; &Philip.Rodrigues.mail;.</para>
816 <para
817 >Перевод на русский язык: Н. Шафоростов <email
818 >shafff@ukr.net</email
819 ></para
820 > &underFDL; &underGPL; </chapter>
822 <appendix id="installation">
823 <title
824 >Установка</title>
826 <sect1 id="getting-kig">
827 <title
828 >Как получить &kig;</title>
829 &install.intro.documentation; </sect1>
831 <sect1 id="compilation">
832 <title
833 >Сборка и установка</title>
834 &install.compile.documentation; </sect1>
836 </appendix>
838 <appendix id="contributing">
839 <title
840 >Содействие в разработке &kig;</title>
841 <section id="kig-is-free">
842 <title
843 >Открытое программное обеспечение</title>
844 <para
845 >&kig; является <ulink url="http://www.gnu.org/philosophy/philosophy.html#AboutFreeSoftware"
846 >программой с открытым исходным кодом</ulink
847 >. Это означает, что исходный код программы доступен через Интернет, каждый может бесплатно использовать их, изменять и выпускать собственные дистрибутивы на их основе. Разработка программы &mdash; хобби автора, которая позволяет совершенствоваться в программировании на C++ и &kde;/&Qt;. </para>
848 </section>
849 <section id="contribute-to-kig">
850 <title
851 >Содействие в разработке &kig;</title>
852 <para
853 >Цель этой главы &mdash; рассказать пользователям о правах, предоставляемых лицензией &kig;. Вы можете помочь в разработке программы устранением проблем, которые нашли, добавлением новых возможностей. Всё, что касается этого, вы можете прислать на <email
854 >devriese@kde.org</email
855 >, и он добавит ваш код в следующую версию программы. </para>
856 <para
857 >Лицензию вы можете найти в файле <filename
858 >COPYING</filename
859 > в CVS-репозитории &kig; или в диалоге <guilabel
860 >О программе</guilabel
861 >. </para>
862 </section>
863 <section id="howto-contribute">
864 <title
865 >Как помочь?</title>
866 <para
867 >Отправляйте автору новые пиктограммы, код, макротипы и пр. Всё это будет распространятся по лицензии &GNU; GPL, которую можно найти в файле <filename
868 >COPYING</filename
869 > в CVS-репозитории &kig; или в главе <link linkend="credits"
870 >Лицензии и авторы</link
871 >. </para>
872 </section>
873 </appendix>
875 &documentation.index;
876 </book>
877 <!--
878 Local Variables:
879 mode: xml
880 End: