Качала, В. В. Принципы создания пакета прикладных графических программ на языке Турбо-Паскаль (на примере задач геофизики) / под ред. А. А. Намгаладзе. – Апатиты : ПГИ КНЦ РАН, 1993. – 99 с.
разеваниям (интерполяцииилиаппроксимации) внеграфической программы. Второйпуть, конечно, облегчаетсозданиеграфи ческойпрограммы, ноприэтомтеряетсяе интерактивность, пользовательлишаетсявозможностиоперативновмешиватьсяв качествостроящегосяграфика. Рассмотримдляпримера, какреализуетсяинтерполяцияв программахпостроенияизолиний (DALU иL), Еслиисходный массивдляпостроенияизолинийсодержитмалоданных, как, например, взадачеглобальногомоделированиягеофизических процессов (см. разд. 1.4 и5.2), гдетиповымвариантомявля етсяслучай, когдавмассиведанныхсодержатсятолько19 значенийодногоаргументаи24 - другого, тонаграфикепо лучаетсядовольногрубаякартина(см. приложение7). Для улучшениявизуализацииграфикавпрограммывведенблокин терполяции*. Приэтоммассивисходныхданныхразмещаетсяв ЭВМввиде"большогомассива", откудаониберутсядляпост роенияизолиний. Еслиполученнаякартинанеудовлетворяет пользователя, тоимеетсявозможностьвыполнитьинтерполяцию, указавкоэффициентувеличениядискретностипоосямX иY: Кх,Ку-2*10. Интерполирующийблоксчитываетданныес"большо гомассива" ивозращаетвнегоновыймассив, увеличенныйв числораз, равноепроизведениюкоэффициентовувеличения дискретности. Например, еслиисходныймассивсодержал19-24 значенийфункции, топослеинтерполяцииихбудет19-24-Кх-Ку. Еслиграфик, построенныйпоновом/ массиву, опятьбудетне достаточногладок, тосглаживаниеповторяется. Приэтомнадо помнить, чтосувеличениемдискретностирезковозрастает времяпостроенияграфика. Например, построениеизолинийна IBM PC 286/287 попрограммеL по19-24 значениямзанимает5 с, интерполяция с коэффициентамиКу-7 иКуб ипостроение изолинийтребует325 с. Работублокаинтерполяцииможнопос мотретьнапримерепостроенияизолинийпоисходномумассиву размером19-24 ипослеинтерполяции (приложения7 и8). * Интерполирующийпрограммныйблокразработансовместно сФ.С.Сагидуллиным. 39
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz