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