Качала, В. В. Принципы создания пакета прикладных графических программ на языке Турбо-Паскаль (на примере задач геофизики) / под ред. А. А. Намгаладзе. – Апатиты : ПГИ КНЦ РАН, 1993. – 99 с.
вместоформированиятиповогоэлементавточкахT(Xi,yj), і-1,...,nx ; j-1,...,ny изображаютсястрелкидлинойL либо соответствующегоцветаилиформы. Ugol+dll . : Т(х„у,) V Ugol-dU f V y U g o1 кіх,.у^ ТСх„у,) Рис.4.9. Последовательностьпостроениястрелки РассмотримизображениестрелкисредствамиТурбо-Паскаля (пример4.7). Пустьизвестно: экранныекоординатыточки T(xt,yt). уголнаклонавектораaz-Ugol идлинастрелки L-Radias. СначаласпомощьюпроцедурыARC проводимдугув основанииголовнойчастистрелкирадиусомRadius-Dlst, где Dlst - длинаголовнойчастистрелки, вуглеотUgol-dU до Ugol+dU, гдеdU - некоторыймалыйугол (рис4.6а). Спомощью процедурыGetArcCoords определяемкоординатыконцовдуги, а поним- координатысерединыдуги. Затемопределяютсякоор динатыточкиК(хк,ук) концастрелки (рис.4.66). Используя процедуруLine, соединяемточкуТсК, апотом- Ксконцами дуги (рис.4.6в). Пример4.7 < Изображениестрелкизаданнойдлины (Radius), сзаданным углом (Ugol), имеющейначальныекоординатыxt иyt > procedure Strelka (xt, yt, Radius, Ugol : integer); const DISt - 10; var Xk, Yk, Rs, dU, UgolM : integer; ArcCoords : ArcCoordsType; begin Radius :- Radius + DISt + 2; Rs :- Radius - DISt; dU :- Round (50 / Rs * 3); UgolM :- Ugol - dU; if UgolM < 0 then UgolM :- 360 + UgolM; Arc (xt, yt, UgolM, Ugol+dU, Rs); GetArcCoords (ArcCoords); with ArcCoords do 72
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz