★ APPLICATIONS ★ PROGRAMMATION ★ KROžNICE, ELIPSE, MNOGOKOTNIKI (MOJ MICRO) ★ |
Krožnice, elipse, mnogokotniki (Moj Micro) | Applications Programmation |
Pri delu z računalnikom pride trigonometrija v poštev šele tedaj, kadar rišemo krožnice. elipse in mnogokotnike (poligone). V Mojem mikru ste že brali, kako l uporabo formule iz analitične geometrije rišemo krožnice Tokrat pa se bomo omejili na trigonometrični funkciji sinus in kosinus. Pri risanju omenjenih likov se trigonometričnih funkcij sicer najraje izognemo. pač zaradi počasnosti, ki je posledica uporabe realnih števil. V našem primeru pa problem rešimo s tabelarnim računanjem trigonometričnih funkcij. Tabela vsebuje 90 vrednosti za sin(1) do sin(90). Druge vrednosti sinusa in kosinusa računamo s trigonometričnimi formulami. opiraje se na parnost kosinusa in neparnost sinusa ter periodičnost teh funkcij. Tudi o takšnem načinu računanja je bilo v Mojem mikru že brati, vendar v zvezi s spectrumom in tudi tabela je bila precej večja (256 bytov), povrh pa je bilo delo oprto na radiane in ne na stopinje. Za risanje krožnic morate uporabiti parametrski enačbi krožnice: x = xo + r* cos (t) Kadar se parameter t »suče« od 0 do 2* pri radiana oziroma za 360 stopinj, dobita x in y vrednosti, s katerimi lahko narišemo krožnico. Točka (xo. yo) je središče krožnice, r pa polmer (radij). Podobni enačbi uporabimo tudi za elipse x = xo + ra * cos (t) Razlika je torej samo ta. da krožnico določa en polmer, elipso pa dva (ra in rb). Poligone rišemo tako. da na krožnici (elipsi) določimo točke, ki se povežejo s črtami Razmiki med temi točkami so enaki in tako narišemo pravilne mnogokotnike. Mnogokotnik z veliko stranicami je podoben krogu (elipsi), če ga narišemo v koordinatnem sistemu z računalnikom - pač zaradi slabe ločljivosti , zaslona. Mnogokotnik lahko tudi rotiramo pod takšnim ali drugačnim kotom Pri tem si pomagamo s parametrskima enačbama za transformacijo koordinatnega sistema x = x' * cos (a) - y' * sin(a) Točka (x' , y') je pri tem tista, ki jo želimo zarotirati. (a) pa je Kot. pod katerim bomo to naredili. Če pri računanju vsake točke mnogokotmka pred risanjem uporabimo ti formuli, bo narisani mnogokotnik zarotiran pod določenim kotom. Vse. kar smo doslej povedali je zajeto v programu na listingu 1. Opraviti imamo s še enim ukazom RSX. ki na zaslonu riše mnogokotnik. Sintksa je takšna: POLY , < število stranic 3 ... 255 > , < polmer 1 1... 32767 > , <polmer 2 1... 32767 > , < kot 0 ... 359 > Število stranic mnogokotnika je katerokoli v okviru 3 ... 255. vendar moramo upoštevati, da je mogoče zapreti samo like. pri katerih je število 360 del|ivo s številom stranic Listing 1 je namenjen za analizo programa, na listingu 2 pa je tisti del programa v basicu , ki ga moramo pretipkati in posneti s SAVE"POLY.BAS". Po resetiranju vtipkamo program z listinga 3. Če je listing pravilno vtipkan, bo program sam posnel strojno verzijo POLY.BIN. Ta program je kot običajno relokatibilen Na listingu 3 je demonstracija uporabe ukaza POLY. V naslednjem nadaljevanju bomo podrobneje pisali o pomikanju (scrolls) in ogledalih.
|