ABC PROJEKTOWANIA   
Regulamin i rejestracja regulamin forum  jak wstawiac grafike, linki itp do wiadomosci grafika i linki w postach

Nauka projektowania przy wykorzystaniu różnych programów, doskonalenie technik i tricków związanych z projektowaniem modeli kartonowych. Zrób To Sam - czyli samodzielne projektowanie dodatkowych elementów. Rozwijanie siatek brył. Zmiana kolorystyki, powiększanie i zmniejszanie.

Uwaga! W tym dziale nie wpisujemy postów: "kartonowych", relacji z budowy (dopuszczalne relacje z procesu projektowania). Informacje o programach wpisujemy wyłącznie w zakresie bezpośrednio związanym z konstruowaniem modeli kartonowych.




 Działy  |  Tematy/Start  |  Nowy temat  |  Przejdź do wątku  |  Szukaj  |  Widok rozszerzony (50 postów/stronę)  |  Zaloguj się   Poprzednie wiadomości  |  Następne wiadomości 
 Strona 1 z 3Strony:  1  2  3  ->  => 
21-10-07 12:03  [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Witajcie :-)
Osoby korzystające z programów takich, jak Siatki czy Kreski mogą przy ich użyciu w prosty sposób rozwinąć na płaszczyznę ostrosłup czy stożek. Wystarczy podać podstawowe wymiary a resztę błyskawicznie zrobi za nas komputer, generując automatycznie rysunek. Użytkownik nie musi wiedzieć jak program to robi, ale może kogoś interesuje właśnie to. Mnie interesuje.
Kiedyś trochę nad tym myślałem, kombinowałem jak napisać taki program w Delphi, ale niestety jestem marnym programistą-amatorem. Dzięki uprzejmości Tomka Terleckiego (angusa), autora programu Kreski mogłem zapoznać się z jego kodem źródłowym (też w Delphi). To utwierdziło mnie w przekonaniu, że "kierunek niuchania" miałem mniej więcej słuszny, ale umiejętności programistyczne duuuużo za cienkie. Jednak przy pomocy książek udało mi się pokonać barierę nieznajomości języka na tyle, aby móc się dogadać z obcym. Czyli mniej więcej ogarnąłem, jak taki program może to robić. Sposobów bowiem może być wiele.

Postanowiłem więc opisać w dużym uproszczeniu ogólną zasadę działania takiego programu. Nie będzie to dokładna kopia algorytmów z Kresek. Raczej przepuszczę to przez swoje zwoje i postaram się wypichcić opis lekkostrawny, zrozumiały dla wszystkich.
Programiści mogą się czasami poczuć nieswojo, ale zakładam że odbiorca o programowaniu nie wie prawie nic. Kolejne odcinki będę zamieszczał, gdy czas pozwoli.
Komentarze wskazane.

Dzisiaj elementarz oraz pierwsze rozwinięcie.

Jak komputer widzi rysunek
Każdy w szkole spotkał się z układem współrzędnych XY. Na takim układzie można łatwo zaznaczyć kropką punkt P, znając jego współrzędne x i y. Jednak w takim układzie liczby x i y mogą być dodatnie albo ujemne oraz mieć wartości ułamkowe, np. x=3,26 a y=-5,67.
Dla przypomnienia ;-)


Programy posługują się podobną zasadą, z tym że współrzędne mogą przybierać jedynie wartości całkowite i dodatnie. Operują więc tylko na jednej ćwiartce tego układu, gdzie x i y są dodatnie.
Ćwiartka taka ma również takie ograniczenie, że nie jest nieskończenie wielka - programista musi określić z góry jej wymiary.


Wymiary te muszą być liczbami całkowitymi a "jednostką długości" jest tzw. piksel. Jaka jest długość piksela? Nie ma jej z góry narzuconej. Pisząc program sami decydujemy, jakie są jego wymiary. Na przykład ustalamy sobie, że 1 piksel będzie miał "długość" 0,1 mm. Jeśli więc na rysunku ustawimy obok siebie 100 pikseli, to będzie to odcinek o długości 10 mm. "Rysunek" dla komputera jest więc tabelką o wyznaczonej z góry liczbie kolumn i wierszy, gdzie jedna komórka to piksel.


Jak komputer rysuje i dlaczego trzeba znać aż dwa polecenia
Rysowanie odbywa się w bardzo prosty sposób: podajemy programowi współrzędne piksela i każemy mu przybrać jakiś kolor (pikselowi). Dla uproszczenia przyjmijmy, że na wstępie cały obszar przeznaczony na rysunek ma piksele białe a rysowanie następuje poprzez zmianę koloru piksela na kolor czarny. To dość trudne, bo do poprawnego działania takiego programu trzeba znać aż 2 polecenia!
Brzmią one tak:
1. „Zaczernij piksel o współrzędnych x, y” - nazwijmy je roboczo Punkt(x,y). Wydanie polecenia Punkt(23, 67) zaczerni piksel o takich współrzędnych
2. „Narysuj linię do piksela x, y” - LiniaDo(x,y). Początkiem jest ostatni zaczerniony piksel albo koniec ostatniej linii.

Działanie programu przypomina sterowanie ręką trzymającą ołówek, poruszającą się nad kartką papieru: przesuń się tu czy tam i dziabnij ołówkiem w punkt. Albo: dziabnij, przyciśnij i rysuj do innego miejsca.

I to jest cała potrzebna wiedza do tego, żeby rysować po wyznaczonym obszarze.
Pierwszy program
Oto przykładowy program w roboczym języku i jego wykonanie (komendy wykonywane są po kolei)


Zatem chcąc np. narysować prostą choinkę, należy znać współrzędne potrzebnych punktów i pisać program z głową:


Program pisany bez głowy, podczas tłumaczeniu dziecku skąd się biorą dzieci itp. da taki efekt:


W rzeczywistości istnieje wiele poleceń ułatwiających życie programiście, rysujących od razu gotowe prostokąty czy kółka, ale o tych wyrafinowanych narzędziach nie będę pisał.

Podsumowując: aby narysować cokolwiek należy znać współrzędne pikseli i z sensem je zaczernić i kolejno połączyć. Kluczową sprawą jest więc sposób wyznaczania współrzędnych punktów oraz kolejności wykonywania połączeń między nimi.
A do tego trzeba mieć łeb ;-) .

Rozwijamy pierwszą bryłę
Pora więc na pierwszą bryłę: program ma narysować rozwinięcie walca o średnicy 32 mm i wysokości 54 mm.
Rozwinięcie walca jest prostokątem: jeden wymiar to wysokość a drugi to obwód podstawy:
-wysokość= 54 mm
-obwód=PI*32mm=100,48 mm
Zadanie to sprowadza się więc do narysowania prostokąta.
Program przelicza te wymiary na pikselową długość (1 piksel=0,1 mm). Daje to wymiary 1005x540 pikseli. Jak widać dokładność rysowania zależy od ustalonej liczby pikseli na 1 mm. Im więcej, tym rysunek bardziej dokładny.
Program jest zatem dziecinnie prosty:


Gotowy element drukujemy i sklejamy nie zapominając pochwalić się swoim dokonaniem na Forum:


W następnym odcinku spróbuję opisać rozwijanie siatki graniastosłupa foremnego o 5 bokach. Albo więcej ;-)
Plus obie podstawy rzecz jasna :-))
Wszelkie uwagi, w tym również o wypisywaniu herezji - wskazane :razz: .

A teraz zapraszam na wybory...



Post zmieniony (21-10-07 13:36)

 Odpowiedz na tę wiadomość  |  Tematy/Start  |  Wyświetlaj płasko   Nowszy wątek  |  Starszy wątek 

 Tematy Autor Odsłon Data
 [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 23267 21-10-07 12:03
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 784 22-10-07 18:45
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 495 23-10-07 11:45
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Dorsz Odyniec 951 26-10-07 16:47
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 493 27-10-07 08:34
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 907 28-10-07 08:54
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Dorsz Odyniec 499 30-10-07 18:22
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Syzyf 1617 02-11-07 15:53
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Dorsz Odyniec 591 02-11-07 18:32
 Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył  nowe
Dorsz Odyniec 2775 03-11-07 12:59

 Działy  |  Chcesz sie zalogowac? Zarejestruj się 
 Logowanie
Wpisz Login:
Wpisz Hasło:
Pamiętaj:
   
 Zapomniałeś swoje hasło?
Wpisz swój adres e-mail lub login, a nowe hasło zostanie wysłane na adres e-mail zapisany w Twoim profilu.


© konradus 2001-2024