Bajtek 3/1987
Bajtek 3/1987

Ufff... Kovidowo i niezdrowo - pomimo pewnych uchybień postanowiłem opublikować kolejny reduks Bajtka - to już, aż, dopiero, 3 numer z 1987 roku. Który być może gdyby nie randka z GEOSem i poszukiwania Fantastic Voyage (bo to musiała być taka fajna ...

Zobacz stronę związaną z tym artykułem w Reduksach Try2emu
Spis treści:

PROGRAMOWAĆ MOŻE KAŻDY

Marcin Waligórski

Transformacja

Poniższy program zrodził sie z potrzeby chwili. Przy okazji pisania artykułu „ZOSTAŃ FILMOWCEM” (zob. bieżący numer Bajtka) zainteresował mnie problem automatycznej generacji obrazów animowanych. Chodziło oczywiście o zaoszczędzenie czasu przy tworzeniu filmów.

Schemat rozwiązania problemu znalazłem m.in. w książce I.O. Angella „Wprowadzenie do grafiki komputerowej”. Z kolei publikacja J.R. Truckenbroda „Computer-Assisted Education In The Visual Arts” naprowadza na szereg innych ciekawych zastosowań tej techniki programistycznej.

Pomysł polega na przedstawieniu pewnych wybranych (najczęściej skrajnych) stadiów ruchu obiektu w postaci łamanych, a następnie na ich podstawie wyliczenia i wykreślenia żądanej ilości „stadiów pośrednich”.

Do zapisania programu wybrałem Logo, ze względu na kilka jego ważnych zalet. Po pierwsze grafika żółwia umożliwia posługiwanie się układem współrzędnych prostokątnych. Po drugie, program w Logo zawsze stanowi strukturę otwartą; użytkownik ma swobodę manipulowania procedurami programu oraz jego rozszerzenia, co jest szczególnie ważne przy tworzeniu grafiki.

Program stanowi zbiór procedur narzędziowych, pozwalających na tworzenie i transformację wyżej opisanych łamanych. Łamaną opisujemy przy pomocy listy, stanowiącej ciąg punktów. Punkt z kolei, zgodnie z konwencją Logo, zapisany jest w formie listy dwuelementowej, zawierającej jego współrzędne.

Opiszmy działanie procedur programu.

PRZEOBRAZ :L1 :L2 :Usuwanie :IleKroków

 

Utworzenie i wykreślenie na ekranie łamanych :L1 i :L2 oraz wszystkich faz pośrednich, których ilość wyznacza parametr :IleKroków. Parametr :Usuwanie może przyjąć wartość „T lub „N i określa czy fazy pośrednie rysunku mają być ukazywane kolejno czy wszystkie naraz (wszystkie zamieszczone ilustracje powstały przy osuwanie = „N). Przykładem wywołania może być:

 

PRZEOBRAZ :Kwadrat1 :Kwadrat2 „N 10

RYSUJ :StanPióra :L

 

Narysowanie łamanej :L. Stan pisaka żółwia określa parametr :StanPióra. Procedurę wywołujemy np.

RYSUJ [PENDOWN] [[40 40] [40 40]]

PRZESUŃ :L :Wektor

Przesunięcie wszystkich punktów łamanej o nazwie :L o wektor określony przez drugi parametr. Należy zwrócić uwagę, że :L oznacza nazwę zmiennej a nie jej wartość, np.

 

PRZESUN „Kwadrat1 [60 0]

KASUJ :L

 

Nadaje zmiennej o nazwie L wartość listy pustej (pustej łamanej). 

 

NOTUJ :L

 

Dołączenie do łamanej o nazwie :L punktu wskazanego przez aktualną pozycję żółwia. Oto przykład użycia w powiązaniu z procedurą KASUJ:

 


KASUJ „Kwadrat1 HOME

NOTUJ „Kwadrat1

REPEAT 4 [FD 40 RT 90 NOTUJ „Kwadrat1]

RYSUJ [PD] :Kwadrat1

 

Zamieszczone ilustracje (czytelnik na pewno domyśli się, jak je we własnym zakresie odtworzyć) ukazują zastosowanie programu nie tylko w celu uzyskania efektów animacji, lecz także — zgodnie z propozycją J.R. Truckenbroda — do produkcji ciekawych grafik komputerowych, mogących służyć jako studium rytmu i proporcji w rysunku.

Marcin Waligórski

Czytaj także w dziale PROGRAMOWAĆ MOŻE KAŻDY
„Prolog - programowanie w języku logiki”
Adam Krauze - Bajtek 1/1986

PROLOG jest językiem nietypowym, programowanie w nim przypomina bardziej rozmowę niż operowanie nazwami zastrzeżonymi czy rozkazami jak w BA-SIC-u i PASCAL-u. Służy on do przetwarzania języków naturalnych, list danych itp...

Prolog - programowanie w języku logiki
„Trzeci wymiar”
Marcin Waligórski - Bajtek 1/1986

Starannie przemyślana grafika stanowi bardzo poważny atut Logo. Od niej też rozpoczyna się kurs tego języka w większości podręczników. Niniejszy artykuł adresowany jest do tych, którzy posiedli już umiejętność posługiwania się Logo w podstawowym zakresie. Treścią jego jest realizacja prostej grafiki trójwymiarowej.

„Ul - Mikrokomputerowy Model Rodziny Pszczelej”
Andrzej Migacz, Ryszard Tadeusiewicz{Zakład Biocybernetyki AGH w Krakowie} - Bajtek 1/1988

Utarł się pogląd, że mikrokomputery mogą być wykorzystywane głównie do zabawy i nauki, a jeśli powierza im się poważne funkcje, to zwykle dotyczą one codziennych prac domowych lub biurowych. Wyraźnie upośledza to inne zastosowania. Warto zatem podejmować próby przełamania tych stereotypów. Prezentowany program pozwala wykorzystać domowy komputer w... pszczelarstwie.

„LOGO – słownik minimum”
Marcin Waligórski - Bajtek 3-4/1986

Posługiwanie się LOGO przestaje powoli być problemem. Cykl publikacji w „Przeglądzie Technicznym”, „Informatyce” i „Bajtku” ułatwia poznanie podstawowych zasad posługiwania się tym językiem. Brak jeszcze kompletnego, systematycznego opisu Logo, a w szczególności jego dialektów innych niż SINCLAIR LOGO Oto ów Słownik Minimum:  

„Prolog cz. III”
Adam Krauze - Bajtek 3-4/1986

Zanim przejdziemy do tak ważnej części w Prologu jaką jest przetwarzanie list. omówimy jeszcze dwa warunki: forall oraz or.

„LOGO — Słownik minimum cz. II”
Marcin Waligórski - Bajtek 5-6/1986

Drugi odcinek wykazu procedur LOGO obejmuje definiowanie procedur oraz ich modyfikację, instrukcje wejścia/wyjścia oraz instrukcje warunkowe, iteracyjne i sterujące.

„LOGO - Słownik minimum cz. III ”
Marcin Waligórski - Bajtek 7/1986

Trzeci odcinek słownika dotyczy przetwarzania list, słów i liczb.  

„Zmienne dynamiczne”
Marek Wyrwidąb - Bajtek 2/1988

Zwolennikom i przeciwnikom Pascal-a z pewnością obrzydło już nieustanne wyliczanie zalet tego języka na łamach pism komputerowych (Znacie? No to posłuchajcie: modularność. przejrzysta struktura programów. definiowanie typów danych, zasada predefinicji pojeć, możliwość użycia rekurencji...)

„Transformacja”
Marcin Waligórski - Bajtek 3/1987

Poniższy program zrodził sie z potrzeby chwili. Przy okazji pisania artykułu „ZOSTAŃ FILMOWCEM” (zob. bieżący numer Bajtka) zainteresował mnie problem automatycznej generacji obrazów animowanych. Chodziło oczywiście o zaoszczędzenie czasu przy tworzeniu filmów.