Jestem informatykiem, mieszkam w Poznaniu. Modelarstwem lotniczym zajmuję się od ponad 30 lat - skończyłem mój pierwszy kartonowy model w wieku 8 lat (1976). Od tego czasu udało mi się - w 1994r - uzyskać tytuł mgr inżyniera lotnictwa (specjalizacja: systemy CAD/CAM). Potem zająłem się ogólnymi technologiami informatycznymi, wykorzystywanymi przez biznes. Aktualnie zarządzam systemami ERP pewnej firmy dystrybucyjnej.

Gdy moje dzieci trochę podrosły, znalazłem znów nieco wolnego czasu dla mego starego hobby. Ten serwis to efekt kilku tygodni pracy – i sugestii mojej drogiej żony. Mała uwaga z września 2008: zostałem szczęśliwym tatą po raz trzeci, i znów mamy trochę mniej czasu wolnego, ale z doświadczenia już wiem, że dzieci szybko rosną. Za parę miesięcy sytuacja się unormuje :)

Moje realne modele

Gdy miałem kilkanaście lat, budowałem wiele modeli. Większość z nich powstawała "od zera", tylko na podstawie planów. Dlaczego? To z powodu specyficznej historii naszego kraju. Przed rokiem 1989 brakowało w sklepach wielu rzeczy, między innymi zestawów modeli do sklejania. W małej miejscowości na Mazurach, w której wówczas mieszkałem, taki zestaw był naprawdę rzadką rzeczą. Zazwyczaj, gdy się nawet pojawiły, był to bardzo wąski asortyment, głównie polskiej (czasami czechosłowackiej) produkcji. Ile razy można sklejać Jaka-1, PZL-37 "Łoś", czy PZL-23 "Karaś"!? Także w dziedzinie modelarstwa panowało w latach siedemdziesiątych wszechobecne "centralne planowania": producent miał wytworzyć określoną liczbę zestawów, i nie dbał specjalnie o odbiorcę, bo po co?

W książkach i czasopismach można było znaleźć trochę planów ciekawych samolotów. Sytuacja ta zmusiła mnie do opanowania arkanów budowy modeli od podstaw. Na początku eksperymentowałem z Avią B-534, w skali 1:50. Ostatecznie zdecydowałem się budować w skali 1:25 (później 1:24). I było całkiem fajnie, tylko sklepy stawały się coraz bardziej puste, a kolejki, w których trzeba było stać po różne rzeczy - coraz dłuższe. Od 1980r w miejscowym kiosku "Ruchu" nie pojawił się żaden model do sklejania. W 1982r znikły nawet magazyny lotnicze, w tym "Skrzydata Polska", którą prenumerowałem (ich publikacja została zawieszona z powodu stanu wojennego). Potem, od 1983, sytuacja zaczęła się powoli poprawiać.

Mój ostatni model - P-47 Thunerboldt, w skali 1:24 (wykonany w 1985r)

W tym czasie stworzyłem wiele modeli (Ił-2, P-61 “Black Widow”, Spitfire IX, MiG-3, F-4E Phantom,…). Były jeszcze niedoskonałe, lecz czasami naprawdę wielkie: P-61 miał rozpiętość rzędu 80cm! Żaden z nich nie przetrwał do dziś. Często doznawały kolejnych uszkodzeń podczas odkurzania.

Wiele z planów, których używałem, nie było dobrej jakości. Aby stworzyć dokładniejszy model, musiałem zbierać rysunki ze wszystkich możliwych źródeł, a także wszystkie dostępne zdjęcia. Potem zaczynałem porównywać te materiały, starając się z nich stworzyć nowe, bardziej poprawne plany. Powstała z nich “druga generacja” moich modeli, już w skali 1:24. Były o wiele dokładniejsze. Przetrwały więcej porządków niż pierwsze, ale też już się rozsypały, albo komuś je podarowałem.

Jedynym wyjątkiem jest mój ostatni (i najbardziej zaawansowany) model, który dzisiaj stoi w moim gabinecie. Widzisz go na ilustracji powyżej. To P-47M, z 8 Armii powietrznej USAF (61FS/56FG). Tym samolotem wiosną 1945r latał polski pilot – kapitan Boleslaw Gładych (w 61th FS nosił przezwisko "Mike"). (zobacz więcej informacji o tym pilocie).

Szczegóły modelu P-47 - zwróć uwagę na nity i linie łączenia blach poszycia

Model był uformowany na szkielecie z 1-mm sklejki, pokrytym tekturą (0.7 mm). Kadłub stworzyłem z dwóch symetrycznych połówek (aby lepiej zapanować nad kształtem), które później połączyłem. Powierzchnia była pokryta szpachlówką, a następnie szlifowana drobnym papierem ściernym. Potem naklejałem na nią imitację duralowych blach poszycia - kawałki grubej folii aluminowej. Nity i linie łączenia zostały odciśnięte na powierzchni folii. (Weź pilnik do paznokci, połóż na nim kawałek folii aluminowej, przeciągnij po nim igłą, wzdłuż linijki. W ten sposób stworzysz prosty rząd regularnych nitów). Efekty widać na zbliżeniu modelu (na drugiej ilustracji). Kroplowa osłona kabiny była trudna do uzyskania - próbowałem wiele razy uformować jej wygięty kształt. Ostatecznie udało się go wytłoczyć na gorąco z płaskiego kawałka celuloidu. Pilot, blok silnika, i inne małe części o bardzo złożonym kształcie zostały wykonane z “modeliny”. To rodzaj plasteliny, która się daje łatwo formować, lecz zastyga "na kamień" w wysokich temeraturach. Po ulepieniu, wszystkie te detale i pilota "upiekłem" jak ciastka, w piekarniku. Samolot pomalowałem farabami nitro (są to fraby do metalu). Wszystkie oznaczenia były malowane ręcznie, bardzo małym pędzelkiem. Barwy, których użyłem, były oparte na schemacie malowania opublikowanym na początku lat osiemdziesiątych w "Skrzydlatej Polsce". Patrząc dziś na schematy malowania tego samego samolotu, opracowane przez innych autorów, widzę różnice. Na przykład - okrągłe tło wokół rysunku pingwina powinno być błękitne, a nie białe.

Rysunki samolotów

W 1983 przeniosłem się do Warszawy. Było tu łatwiej o materiały o historycznych konstrukcjach lotniczych. Zebrałem wiele szczegółowych rysunków i zdjęć moich ulubionych samolotów. Używałem ich do przygotowania wielu nowych planów - część z nich nawet w tuszu. Następujący scenariusz powtarzał się wiele razy:

  1. Zainteresowałem się jakąś konstrukcją, i postanowiłem zbudować jej model;
  2. Zebrałem materiały źródłowe;
  3. Stworzyłem poprawione rysunki w kilku rzutach;
  4. Zainteresowałem się kolejną konstrukcją – powrót do p. 1.

W efekcie, nie tworzyłem już nowych modeli, lecz wiele poprawionych planów modelarskich!

Podczas pierwszego roku studiów na Politechnice Warszawskiej (wydział MEiL), natknąłem się na ogłoszenie oferujące studentom interesującą pracę dorywczą. Polegała na przerysowywaniu w tuszu rysunków samolotów do nowej książki o lotnictwie. Udałem się pod wskazany adres, i spotkałem redaktora tej książki. Okazał się nim p. Andrzej Glass, autor znanego już wówczas opracowania “Polskie konstrukcje lotnicze, 1893-1939”.(Ta dziwnie wczesna data początkowa została przyjęta ze względu na dziewiętnastowieczne eksperymenty z lotniami Czesława Tańskiego). Kolega ze szkoły podstawowej (tej na Mazurach) miał tę książkę, i pożyczałem ją od niego wiele razy. Zawierała dokładne rysunki wszystkich ważniejszych polskich samolotów z tego okresu.

Na poczatek, Andrzej Glass dał mi do przerysowania w tuszu prosty rysunek, aby przekonać się, co potrafię. Potem, gdy przeszedłem ten test, otrzymałem pierwsze w życiu zlecenie – przerysować w tuszu plany bombowca PZL-36 "Żubr". (Tzw. "podkładka", czyli wzorzec do przerysowania, był wykonany ołówkiem przez kogoś, kto te plany opracował). Gdy skończyłem to zadanie, Andrzej Glass zaproponował mi nowe: przygotować monografię jakiegoś samolotu. Miała zawierać tekst, plany w skali 1:72, przekrój perspektywiczny, widoki wnętrz kabiny, i propozycje schematów malowania. (Propozycje schematów malowania miały być przekazane do wyspecjalizowanego grafika, który tworzył profesjonalne, ładnie pocieniowane plansze barwne). Cały ten materiał miał się pojawić w pierwszym numerze nowego magazynu lotniczego.

Decyzję, który samolot wybrać, pozostawiono mi – i wybrałem McDonell Douglas F-4 “Phantom II”. Ukończenie tej pracy zajęło mi cały rok. (Równolegle przeszedłem wyczerpujący drugi rok studiów). Koledzy z naszego wydziału dużo mi pomogli, dostarczając wielu zdjęć i innych materiałów. (Wielu studentów lotnictwa jest także jego entuzjastami). Przygotowałem rysunki na arkuszach A3, w skali 1:48. W procesie przygotowywania do druku były zmniejszane do A4, dając w rezultacie skalę 1:72 – typowa praktyka, stosowana w tym czasie dla uzyskania większej dokładności. Pod koniec 1988r zacząłem pisać tekst mojego artykułu. To był jednocześnie mój pierwszy kontakt z pecetem, i z edytorem tekstów (czy ktoś jeszcze pamięta poczciwego ChiWritera?). Ostatecznie, na początku 1989r przekazałem wydawnictwu komplet materiałów.

Potem wystąpiły różne opóźnienia. Był to ostatni rok starej władzy w Polsce - na wiosnę 1989r nadal istniał oficjalny urząd cenzury (nazywał się bodajże "Urzędem kontroli publikacji i widowisk")! Mój artykuł także musiał przejść przez cenzurę. Wśród propozycji plansz barwnych umieściłem F-4E "MiG Killer", z Wietnamu, z trzema małymi gwiazdkami na wlocie powietrza. Pamiętam, że zastanawialiśmy się z Andrzejem Glassem, czy cenzor usunie ją, czy nie. Ostatecznie, ten nowy magazyn ukazał się jedynaście miesięcy później - w styczniu 1990r. Nosił nazwę “Aero Hobby”. Zawierał moją monografię, lecz inne plansze barwne. Nie wiem, czy oryginalne były wstrzymane przez cenzurę, czy redakcja zdecydowała się ten fragment zupełnie zmienić.

Nadal przechowuję oryginalne rysunki w ołówku, i kilka kserokopii przekroju perspektywicznego:

Oryginalny, wykonany ołówkiem wzorzec arkusza planów F-4E, i odpowiednia strona z Aero Hobby
Kserokopia oryginalnego przekroju F-4E, i ten sam przekrój zamieszczony w magazynie

Czy uwierzycie, że 20 lat później znalazłem "kopie z kopii" moich rysunków, na jako dwie strony z nieznanego źródła? Wygląda na to, że komuś się jeszcze przydają. To miłe. Tu możesz pobrać rysunki z mojej oryginalnej publikacji. Opisałem tam także błędy, które zawierają - po tylu latach zawsze wiesz więcej, niż w chwili tworzenia. Na marginesie: pisałem te słowa w 2008. W 2015, gdy odwiedziłem ten portal, wygląda na to że te rysunki zostały zastąpione przez te plany. Nadal wyglądają na przerysowane z mojego opracowania, ale zawierają mniej szczegółów.

Czemu wirtualne lotnictwo?

Monografia F-4 wymagała wykonania wielu precyzyjnych rysunków w tuszu. Czy kiedykolwiek tego próbowaliście? Myślę, że po tym doświadczeniu wiem lepiej, co czuł średniowieczny mnich, przepisując strony manuskryptów. Obydwa zajęcia wymagają podobnej cierpliwości i poświęcenia. Tym, co czyni je tak trudnymi, jest łatwość popsucia całej pracy jednym błędnym ruchem – wystarczy, że przez pomyłkę kapniesz tuszem na rysunek, i musisz wszystko zaczynać od nowa.

Na początku 1989r mogłem porównać to trudne (i nieodwracalne) rysowanie w tuszu z łatwoścą pracy w edytorze tekstów. Na komputerze zawsze możesz poprawić swój błąd. Możesz także zawsze poprzestawiać cały tekst - nawet na samym końcu pracy. Myśląc o tym, byłem zdecydowany wykonać moje następne rysunki w całości na pececie. W tym czasie pojawiły się także pierwsze drukarki laserowe. Dawały szansę uzyskania wydruków o rozdzielczości i kontraście spełniającym wymogi wydawców.

Zacząłem poznawać możliwości popularnego systemu CAD – AutoCADa, z firmy Autodesk. W tym czasie (1988) była to wersja 2.62. Stwierdziłem, że stworzenie na komputerze szczegółowej sylwetki samolotu zajmuje więcej czasu, niż metodą tradycyjną. Z drugiej strony, całkowita ilość pracy nad planami była porównywalna – ponieważ inne czynności wykonywało się łatwo. Na przykład – zazwyczaj w monografii trzeba zrobić arkusz z małymi sylwetkami wszystkich wersji opisywanej konstrukcji. Możecie sobie wyobrazić, jak trudno jest narysować ręcznie wiele identycznych sylwetek samolotów? Każda pomyłka może być zinterpretowana przez czytelników jako prawdziwa różnica w kształcie! Co było równie ważne, w systemie CAD można było zawsze poprawić popełniony błąd. Wyglądało na to, że w AutoCADzie można zrobić dokładne plany modelarskie, w czasie porównywalnym z metodą tradycyjną. Plany wykonane na komputerze były w dodatku dokładniejsze, szczególnie w różnych drobnych detalach.

Chciałem także stworzyć na komputerze rzut perspektywiczny. Podczas prac nad F-4 stwierdziłem, że dość trudno jest narysować poprawny kształt bryły samolotu, widzianej przez obserwatora z dowolnego punktu w przestrzeni. Nie można w takim przypadku użyć zdjęcia: są robione ze względnie długą ogniskową, właściwą dla obrazka rozmiaru kartki pocztowej, trzymanego w odległości 25-30 cm. Taki obraz wygląda dość nierealistycznie na stronie A3 - typowym formacie większych przekrojów perspektywicznych. Nie myślałem wówczas o wykonywaniu na komputerze małych detali, wypełniających każdy przekrój samolotu. Moc obliczeniowa ówczesnych PC była zbyt mała. Chciałem jedynie uzyskać realistyczny zarys "ogólnego kształtu", by wyglądał naturalnie na stronie magazynu. Sądziłem, że wszystkie małe szczegóły będzie trzeba dorysować później, tradycyjnymi metodami.

Na polu modelowania 3D AutoCAD 2.62 zupełnie "raczkował". Ta wersja posiadała tylko podstawowe polecenia, tworzące proste pudełko lub sferę. Oczywiście, było także takie, które pozwalało stworzyć dowolną siatkę. Problemem było to, że wymagało ręcznego wpisania współrzędnych każdego wierzchołka. Nie istniały żadne narzędzia ułatwiające pracę z siatkami. Oceniłem, że AutoCAD 2.62 nie nadaje się do modelowania przestrzennych brył samolotów.

Idea wygodnego, trójwymiarowego edytora, działającego na komputerze osobistym, stała się moją “idée fixe”. Nigdy już nie wykonałem następnych planów - zamiast tego zagłębiłem się w informatykę. Starając się znaleźć drogę do realistycznych, trójwymiarowych modeli samolotów, wybrałem dwa kierunki:

  • stworzenie aplikacji, któraw wzbogaciłaby AutoCAD o niezbędne funkcje;
  • poznanie innych, bardziej zaawansowanych systemów CAD;

Podążając w pierwszym kierunku – tworzenia aplikacji – doszedłem do kodowania oddzielnego edytora 3D który eksportowałby gotowe siatki do AutoCADa. Taka architektura rozwiązania była wymuszona przez słabą prędkość działania wewnętrznego interpretera skryptów AutoCADa, przeznaczonego do tworzenia jego rozszerzeń (AutoLISP). Był po prostu zbyt wolny, i brakowało mu mechanizmów do tworzenia takich podstawowych elementów interfejsu użytkownika, jak okna dialogowe. Pracując nad moim edytorem, szybko porzuciłem FORTRAN (mój pierwszy jezyk progrmowania, którego uczono na moim wydziale) na rzecz Pascala. (Dokładniej: Turbo Pascala firmy Borland. Nauczyłem się go z książek). Potem zacząłem używać C/C++…

Doświadczenie programistyczne, pochodzące z tego okresu intensywnego kodowania, umożliwiły mi znalezienie dobrze płatnych zleceń, jeszcze podczas moich studiów. Od tego czasu napisałem zawodowo tysiące linii kodu w bardzo różnych językach programowania (od komponentów większych systemów w obiektowych języków wysokiego poziomu, do sterowników w asemblerze Intela 80x86). Poznałem także złotą zasadę wszystkich "wolnych zawodów": twoja praca jest warta tyle, ile klient jest skłonny za nią zapłacić. Nie ma żadnego znaczenia, czy nad czymś będziesz pracował rok, czy jeden dzień. Czasmi bardzo ambitne projekty pozostaną bez żadnej zapłaty, a zwykłe "wyrobnictwo" będzie sowicie wynagradzane, bo akurat jest potrzebne. Trzeba się starać zachować proporcje pomiędzy jednym i drugim.

Połówka kadłuba PW-5, przed pocięciem na żebra. Osłona kabiny z "Juniora" jest już dopasowana

W 1992r mój edytor 3D został użyty, wraz z AutoCADem, do stworzenia kadłuba prototypu szybowca PW-5. Ten szybowiec został opracowany na moim wydziale, przez zespół inżynierów i studentów pod kierunkiem Romana Świtkiewicza. Moje zadanie w całym projekcie było proste: utworzyć, na podstawie szkiców projektantów, trójwymiarowy kształt kadłuba. Było jedno ograniczenie: miał pasować do osłony kabiny wziętej z innego szybowca (SZD-"Junior"). (To zapożyczenie obniżało koszt prototypu, byłby kłopot z zamówieniem dedykowanej osłony). Utworzyłem zadany kształt, a następnie wykreśliłem na ploterze wiele jego przekrojów w skali 1:1. Przekazałem je moim kolegom z warszatu, gdzie zostały naklejone na sklejkę, wycięte, i użyte jako żebra w formowaniu "pozytywnej makiety". Uzyskano z niej wklęsłą formę "negatywną", w której ostatecznie uformowano z kompozytu skorupę kadłuba. Po oblataniu prototypu, geometria PW-5 została odwzorowana na potrzeby produkcji seryjnej w systemie CADDS5. Od tego czasu zbudowano ponad 250 egzemplarzy tej konstrukcji.

Prototyp PW-5. Osłona kabiny pochodzi z "Juniora".
Seryjny PW-5. Użyto tu ulepszonej osłony (zwróć uwagę na kształt ramki za głową pilota)

Przez lata pracowałem nad architekturą “idealnego” edytora 3D. (Oczywiście, od czasu do czasu – miałem także wiele innych rzeczy do zrobienia). Chciałem użyć go do tworzenia modeli samolotów, ponieważ cena nawet najtańszego programu z sensownymi możliwościami 3D była zbyt wysoka jak na zabawę w domu. Nielegalnego oprogramowania wykorzystywać jakoś nie chciałem. Nieco żartując: to było programistyczne poszukiwanie Świętego Graala modelowania trójwymiarowego. Ciągle grzebałem się w szczegółach, ucząc Open GL, projektują szczegóły interfejsów w architekturze komponentów SOA, lub pracując nad jeszcze innymi aspektami Programu. Zawsze byłem daleko od ostatecznego celu, ciągle wpatrzony w wątłe światło przyszłych możliwości…Zabrzmiało to w stylu romancy o błędnych rycerzach, nieprawdaż?

Drugi kierunek pozukiwań – większe systemy CAD - doprowadził mnie do indywidualnej ścieżki studiów: “Systemy CAD w projektowaniu samolotów”. W jego trakcie poznałem przemysłowe systemy CAD/CAM stosowane w pierwszej połowie lat dziewiędziesiatych: Unigraphics, CADDS, Catia, Pro-Enginieer, i inne. W tym czasie sprzęt, na którym działały, były to silniejsze od peceta stacje robocza (HP lub Sun) z procesorem RISC i jakąś odmianą Unix-a. Po roku uświadomiłem sobie, że wszystkie takie systemy zostały opracowane z myślą o tworzeniu setek szczegółowych rysunków wykonawczych pojedynczych części, i póżniejszym ich wytworzeniu ich na maszynach CNC. Dla uzyskania bardziej złożonych, ogólnych kształtów (np. kadłuba) nie były zbyt wygodne. Byłem zaskoczony odkryciem, że geometria prototypów nowych samochodów jest digitalizowana z "glinianych modeli", formowanych ręcznie przez plastyków! Wierzchołki, uzyskane w ten sposób, były przetarzane, ze znacznym wysiłkiem, w wycinki powierzchni NURBS.

W tych latach pojawiły się także pierwsze programy do animacji w trzech wymiarach. Nie zwracałem na nie zbytniej uwagi. Na początku ich wersje na PC potrafiły tworzyć tylko dość toporne, proste obiekty. Nie miałem okazji zobaczyć ich w działaniu na silniejszym sprzęcie.

W końcu, po nieco przedłużonych studiach, obroniłem pracę magisterską. Na początek podjąłem pracę w firmie informatycznej, specjalizującej się w sprzedaży systemów CAD. (Współpracowałem z nią już podczas studiów). Spędziłem tam dwa lata, by przejść do koncernu ABB, i zająć się ogólną informatyką. (W tych latach ciągle brakowało specjalistów z tej dziedziny.) Potem pojawiły się dalsze projekty. Nigdy nie miałem okazji pracować jako inżynier lotniczy.

Przez kilka lat po ukończeniu studiów próbowałem kontynuować moje prace nad “idealnym edytorem 3D”. Przygotowałem, w 1996r, analizę porównawczą aktualnego stanu oprogramowania wykorzystywanego do modelowania w przestrzeni. Analiza koncentrowała się na interfejscie użytkownika, gdyż jest to chyba najważniejsza część każdego edytora - zależy od niej ogólna jakość programu. Porównywałem w niej systemy CAD, poznane podczas studiów, a także pierwsze 3D Studio Max, poznane z pierwszej pracy zawodowej (u autoryzowanego dealera Autodesku). Przeglądałem gwałtownie rosnącą zawartość Internetu, znajdując tam wiele ciekawch materiałów. W tamtym czasie nie istniały żadne edytory 3D udostępniane na zasadach Open Source. Kilka programów można było pobrać za darmo (to nie jest to samo, co Open Source) m.in. Rhinoceros w wersji beta. Wnioski, do jakich doszedłem w trakcie tej analizy to:

  • Systemy CAD miały bardzo stare interfejsy. Były zatłoczone dziesiątkami poleceń. Na przykład w AutoCADzie było pięć oddzielnych poleceń tworzących łuk (różniły się sposobem wskazania krańców, środka i promienia)! Zazwyczaj musiałeś odpowiedzieć na wiele pytań programu, lub wypełnić wiele pól w oknie dialogowym nim cokolwiek zostało stworzone. Nazwałem to podejścim “ucznia czarnoksiężnika” – wymawiasz skomplikowane "zaklęcia", a na koniec “puff!” – i patrzysz na rezultat. Zwykle nie odpowiadał dokładnie zamierzeniom, więc trzeba było go usunąć i próbować znowu. To nie był najbardziej wydajny sposób pracy. Alternatywne zastosowania manipulacji bezpośredniej, która jest o wiele lepszym rozwiązaniem niż okna dialogowe, były rozproszone i rzadkie;
  • Programy do animacji lub ogólne edytory siatek (jak 3D Studio Max, lub Rhinoceros) miały ograniczony zestaw poleceń. Ich twórcy śmielej sięgali po metody bezpośredniej manipulacji zawartością rysunku. To sprawiało, że interfejs użytkownika tych programów był bardziej zrozumiały;
  • Potrzebny był nowy model matematyczny, który był by w stanie opisać otwory i nierówności w gładkich powierzchniach. Używany do opisu powierzchni NURBS były w tym czasie standardem przemysłowym. Powierzchnie NURBS najlepiej się nadają do zamodelowannia czworokątnych, gładkich “wycinków”. Wszystkie otwory, nierówności, lub nieregularne krawędzie, były poważnym problemem, gdyż są dla matematyki NURBS "anomalią". Pojawienie się takich "anomalii" wymagało od programu triangulacji (automatycznego podziału na ściany trójkątne) całej powierzchni. Także “zszycie” dwóch powierzchni wzdłuż wspólnej krawędzi, lub stworzenie wzdłuż nich zaokrąglenia mogło prowadzić do nieprzewidywalnych rezultatów. Dlaczego? Ponieważ wszystkie te przypadki musiały być implementowane przez logikę “programu” (czytaj: programistów), a nie przez sam model matematyczny.Programiści myla się w kodzie co chwila, matematycy w swoich twierdzeniach - nigdy, bo muszą je udowadniać;
  • Pojawiły się nowe urządzenia we/wy (to był czas boomu “wirtualnej rzeczywistości”). Obsługa obrazu, otrzymywanego "na wyjściu" z programu nie była problemem. Cyfrowe okulary, ze stereoskopowym widokiem, były implementowane jako dwa oddzielne ekrany. Taki układ mógł być obsługiwany w sposób transparentny dla programów przez sterowniki OpenGL, dodane do sprzętu przez producenta. Bardzo obiecująco wyglądały manipulatory przekazujące siły ("force feedback" - FF).Są to urządzenia dwukierunkowe (wejście: wektor siły użytkownika, wyjście – wektor reakcji obiektu w komputerze). Ich integracja z istniejącym interfejsem użytkownika wymagała istotnych zmian w architekturze aplikacji. Żaden z analizowanych programów nie był dostosowany do tego rodzaji interakcji;

W 1997r po raz kolejny zmieniłem pracę, i zagłębiłem się w przepastnych otchłaniach systemów ERP. Miałem z nimi masę pracy przez wiele lat. W końcu zamknąłem ostatnią, wyczerpującą implementację w połowie 2006r. Od tego czasu dysponuję po godzinach pracy pewną ilością wolnego czasu, jak większość normalnych ludzi.

To było bardzo ciekawe doświadczenie: powrócić do starych zagadnień po niemal 10 latach "hibernacji"! Jak świat modelowania 3D zmienił się w tym czasie? Rozglądając się po Internecie, stwierdziłem że:

  • Domowy pecet stał się silną stacją graficzną. Do tej ewolucji zmusiły go wyśrubowane wymagania gier komputerowych; Obecnie ma akceleratory grafiki i dostatecznie dużo RAM, aby przechowywać w niej odpowiednio duże tekstury. (Duże tekstury - o wymiarach 2048x2048 px lub większych – są niezbędne do uzyskania realistycznych nierówności na powierzchni modelu, jak krawędzie blach czy nity);
  • Wysokie wymagania rynku animacji 3D przyspieszyły rozwój zaawansowanego oprogramowania, które umożliwia tworzenie filmów i spotów reklamowych;
  • Pojawiło się dużo dobrych programów rozpowszechnianych w oparciu o licencję GPL, a więc dostępnych dla wszystkich;
  • Nowy model matematyczny – powierzchnie podziałowe – został zastosowany do wygładzania powierzchni, szczególnie w oprogramowaniu do tworzenia animacji 3D. Niektóre z jego tzw. “schematów” (np. Catmulla-Clarka) można traktować jako uogólnioną wersję powłok NURBS. (Dla prostokatnego zespołu punktów kontrolnych obydwa modele matematyczne - NURBS i powierzchnie podziałowe Catmulla-Clarka - zwrócą takie same współrzędne powłoki). Matematyka powierzchni podziałowych pozwala opisać złożone kształty, z wieloma ostrymi krawędziami, wygładzeniami i otworami. PP bez żadnego problemu można “zszyć” wzdłuż jednej z krawędzi. Z punktu widzenia "weteranów" CAD/CAM, wadą powierzchni podziałowych jest brak klasycznej, analitycznej reprezentacji. Powierzchnie podziałowe możesz wyznaczyć z dowolną dokładnością, poprzez wyznaczenie coraz gęstszej siatki, lecz nie istnieje nic takiego jak “równanie powierzchni podziałowych”. Aby obliczyć np. ich pochodne, trzeba użyć rachunku nieskończoności. Brak postaci analitycznej to wada bardziej "ideowa" niż praktyczna. Z punktu widzenia programisty to nie jest żaden problem – przekazuje do "czarnej skrzynki" modelu matematycznego współrzędne i uzyskuje rezultat (wektory). Czy "czarna skrzynka" działa w oparciu o NURBS czy o powierzhnie podziałowe - to jej wewnętrzna sprawa. Po prostu obydwa modele mają tę funkcję "w standardzie". A "czarna skrzynka" powierzchni podziałowych ma więcej funkcji niż NURBS;
  • Nowe urządzenia wejścia/wyjścia nie stały się popularne. Pozostały produktem "niszowym" - w szczególności manipulatory FF (10 lat temu liczyłem na ich szybką popularyzację)

Podsumowując, jak zwykle były wiadomości dobre i wiadomości złe. Dobrą wiadomością jest pojawienie się dobrych programów GPL, powierzchni podziałowych i przekroczenie "wymaganej wydajności graficznej" przez polularne komputery domowe. Rozczarował mnie brak znaczącego rozwoju zaawansowanych urządzeń wejścia/wyjścia.

W połowie 2006r pożegnałem się na dobre z pomysłem stworzenia kolejnego edytora 3D. Potrafię teraz szacować zasoby potrzebne na napisanie zadanego programu, i lepiej sobie zdaję sprawę, ile czasu mogłoby to wymagać. Inne edytory 3D, rozpowszechniane na zasadach Open Source, nie wyglądają dokładnie tak, jak sobie to wymarzyłem. Jednak te programy po prostu już są i działają, i nie ma sensu wymyślać koła od początku. Zdecydowałem się więc znaleźć jakiś program GPL który byłby najbardziej zbliżony do tego, co potrzebuję by stworzć realistyczny model samolotu. Zacząłem od uważnego przyjrzenia się edytorom 3D eksponowanym na sourcefroge.net. Ostatecznie wybrałem Blendera. Dokładne wyjaśnienie kryteriów, którymi się kierowałem, znajdziesz tutaj.

We wrześniu 2006r zacząłem eksperymenty z Blenderem. W tym czasie miałem tylko pojęcie o modelowaniu w 3D. Nie wiedziałem nic o oświetleniu, teksturach, czy parametrach renderingu.

Zdecydowałem się zacząć powoli, by od początku wypracować właściwą metodę uzyskania ostatecznego efektu w Blenderze. Na swój pierwszy wirtualny model wybrałem myśliwiec Ła-5, bo nie ma zbyt dużo szczegółów. Przez ponad miesiąc "pastwiłem" się nad prostym zespołem jego śmigła i kołpaka. W tym czasie wypróbowywałem na tym obiekcie wiele różnych metod pracy z materiałami, teksturami i oświetleniem. Podczas tego procesu dodałem do "obowiązkowych" narzędzi dwa pomocnicze programy do pracy z obrazami tekstur. Pierwszym z nich był Inkscape - do tworzenia kształtów regularnych (wektorowych - prostokątów, okręgów, napisów...). Drugim był popularny GIMP - do obrazów rastrowych. Nie próbowałem używać Photoshopa. Gdy stwierdziłem, że odpowiadający mu GIMP jest wystarczająco dobry, zdecydowałem się używać do pracy wyłącznie oprogramowania Open Source.

Gdy zespół śmigła był "oteksturowany", oświetlony, i wielokrotnie zrenderowany ze wszystkich stron, uznałem że sposób tworzenia modelu mam już wypracowany. Teraz mogłem go użyć do stworzenia reszty samolotu. W czasie tych przymiarek robiłem metodycznie, dla samego siebie, wiele notatek (ze zrzutami z ekranu). Z czasem dokument, który je zawierał, zbliżył się do 100 stron. Zacząłem się zastanawiać, jak ten nowy rodzaj hobby zasygnalizować innym modelarzon: "zobaczcie, tu możecie znaleźć nowy świat dla waszych modeli!". Dodatkową zaletą była także moja początkowa decyzja używania wyłącznie darmowego oprogramowania. Wokół jest dużo modeli, stworzonych w programach komercyjnych. Przykłady wirtualnych samolotów w Blenderze lub innym oprogramowaniu Open Source były w 2006r bardzo rzadkie.Teraz jest z tym dużo lepiej, w dużej mierze dzięki uczestnikom forum blender.pl - w szczególności mrys

Kończąc w 2007r mój pierwszy model, osiągnąłem cel, który sobie wyznaczyłem 15 lat temu. Chciałbym w związku z tym podziękować wszystkim programistom, którzy włożyli swoja pracę w tworzenie oprogramowania GPL, w szczególności zespołowi rozwijającego Blendera. Ten serwis jest jedną z form wsparcia ich wysiłku. Wszystkie modele, poradniki i skrypty, są udostępniane tutaj na zasadach Blender Artistic License. Książka jest dostępna na podobnych, choć nie identycznych zasadach (Creative Commons License).

Będę bardzo się cieszył, widząc Wasze modele, zrobione w Blenderze - dajcie mi o nich znać!