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 ze standardowym stronicowaniem  |  Zaloguj się   Nowszy wątek  |  Starszy wątek 
 Strona 1 z 1 
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)

 
22-10-07 18:45  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Doszedłem do wniosku, że przed opisem rozwinięcia graniastosłupa trzeba jeszcze liznąć nieco teorii. Będą to proste rzeczy, ale niezbędne do zrozumienia dalszych etapów.

Wrócę więc jeszcze do programu rozwijania walca. Podany poprzednio przykład ma ten feler, że rozwija tylko jeden walec o konkretnych wymiarach. Może niektórzy chcieliby rozwinąć swój własny ;-)
Program musi więc być uniwersalny i umożliwić zrobienie tego dla różnych wysokości i średnic.
Zmodyfikujemy go tak, aby był w stanie rozwinąć wszystko :D .

Użytkownik wprowadza do programu dane o wysokości i średnicy. Ponieważ nie wiemy jakie to będą liczby, muszą one zostać zapamiętane. Jak program je zapamiętuje?
Służą do tego celu odpowiednie miejsca w pamięci zwane zmiennymi.
Tutaj garść naprawdę łatwej do ogarnięcia teorii, raptem jeden ekran :

Wiemy już, co to są zmienne, czas je zastosować.
Użytkownik wprowadził swoje dane (pal licho jak) i program zapamiętał je w zmiennych: Wysokosc oraz Srednica (gdzieś tam się pałętają po pamięci).
Przeliczmy je na piksele. Ponieważ rozdzielczość wynosi 1 piksel na 0,1 mm zapamiętamy ją też jako zmienną:
Rozdz:=0,1
Zmienne "spikselowane" oznaczymy jako WysP oraz SzerP , co by nie pisać zbyt długaśnych nazw (od razu obliczymy obwód walca, przyjmując że program zna wielkość "Pi"):
WysP:=Wysokosc/Rozdz
SzerP:=Pi*Srednica/Rozdz


Ważną rzeczą w programie są komentarze, które są ignorowane przez komputer ale programiście ułatwiają zapamiętanie co dany fragment robi. Przed komentarzem stawiamy znak //.
Ustalamy, że rysowanie zaczniemy tym razem od punktu w lewym dolnym rogu obszaru rysunku.
Oto wartości początkowe:
Xp:=50 // Xp - współrzędna x początkowa
Yp:=50 // Yp - współrzędna y początkowa


Ustaliliśmy "na stałe" wartości trzech zmiennych: Rozdz, Xp, Yp. Ma to ogromną zaletę: jeśli zajdzie potrzeba zmiany rozdzielczości albo punktu początkowego, to wystarczy to zmienić tylko w tym miejscu programu. Cała reszta będzie operowała na zmiennych wyrażonych przez nazwę. Można pozwolić też użytkownikowi na ustalenie swoich wartości w opcjach programu.
Do narysowania uniwersalnego prostokąta potrzebujemy jedynie znajomości 4 punktów. Oto one:


A oto nasz cały uniwersalny program, który narysuje rozwinięcie każdego walca (tym razem już bez numeracji linii):


Mam nadzieję, że nie bolało. Na dzisiaj wystarczy, bo co za dużo...
W następnym odcinku jeszcze się trochę zapętlę, ale potem już granistosłup, na który wszyscy czekają :)))



Post zmieniony (22-10-07 21:38)

 
23-10-07 11:45  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Dzisiaj będzie kilka słów o pętlach.
Nie chodzi tutaj o sposób, jak zgrabnie i szybko zawiązać pętlę by powiesić się, gdy program nie działa.
Garść teorii nie przekracza jak zwykle objętości jednego ekranu - po przeczytaniu kilku, może rzeczywiście trzeba by rozejrzeć się za sznurkiem ;-)



Uzbrojeni w pętlę możemy przystąpić do jej wykorzystania.
Napiszmy program, który wykona rysunek podobny to testowego z nowej wersji programu Kreski.NET:


U mnie będzie to jedna pozioma linia o długości 100 mm (1000 pikseli) a na niej 11 pionowych kresek o długości 20 mm (200 pikseli) w odstępach co 10 mm(100 pikseli).
Rysunek pomocniczy:


Oraz gotowy program


Jako sprawdzenie nabytej wiedzy :) proponuję przeanalizować, co narysuje następujący program:

Xp:=50
Yp:=50
Powtorz od i:=0 do 10
{
Punkt(Xp+i*30, Yp)
LiniaDo(Xp+70+i*30,Yp+200)
LiniaDo(Xp+140+i*30,Yp)
}

Odpowiedź w kolejnym odcinku, czy ok. niedzieli.
Nie samym programowaniem człowiek żyje.
Czasami trzeba też coś skleić :D



Post zmieniony (23-10-07 14:26)

 
26-10-07 16:47  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

podziwiam determinację, cierpliwość i zasób wiedzy
Ale trudno wymagać, aby modelarz stał się modelarzem -programistą. (moje zdanie)

Jak to mówią - człowiek klika i oczekuje efektów swojego kliknięcia ... (:-)
--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (26-10-07 17:08)

 
27-10-07 08:34  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Dzięki Dorszu za pierwszy komentarz, za którym - mam nadzieję - pójdą kolejne.
Czuję potrzebę małego wytłumaczenia celu tego wątku. Na telewizyjnym kanale Discovery emitowane są odcinki programu "Jak to jest zrobione?". Można się tam dowiedzieć jak powstaje np. żarówka, łańcuch do roweru, ponton czy gumka do wymazywania ołówka. Mnie ten program interesuje; jakoś tak przyjemniej używa mi się śrubokrętu, chodzi po dywanie albo jedzie samochodem, gdy wiem jak został zrobiony.
Ten temat ma być właśnie odpowiednikiem takiego programu telewizyjnego. Nie namawiam nikogo do zostania programistą, lecz zapraszam za kulisy i do zobaczenia jak powstał taki program jak Kreski (i być może także Siatki, choć tego nie wiem).
Samo pisanie służy także mi.
Mój wujek dał mi kedyś dobrą radę, jak nauczyć się angielskiego: weź książkę w tym języku na temat, który cię interesuje i ją przeczytaj.
Do tej pory z tej rady nie skorzystałem :((( dopiero teraz: uczę się języka programowania ale w temacie, który mnie interesuje.
Z drugiej strony pisanie takiego tekstu znakomicie porządkuje moją skromną wiedzę a także zmusza do wyrażania swoich myśli w sposób skrótowy. Na przykład każdy z tych "wykładów" pierwotnie był ok. 3 razy dłuższy niż końcowy. Strasznie trudno cenzuruje się samego siebie :)))
Zapraszam więc na kolejne odcinki, które napiszę niebawem...

 
28-10-07 08:54  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Poprawną odpowiedź na pytanie zadane ostatnio wyrysuje komputer, a dokładniej arkusz Excel'a.
Jak widać są to odwrócone literki V, przesuwane w pętli co 30 pikseli:


Rozkładamy graniastosłup foremny, czyli o takiej samej szerokości ścian bocznych.
Ściany Boczne


Wielkości niezbędne do wykonania rozwinięcia takiej bryły są trzy: wysokość, szerokość ściany bocznej oraz liczba boków:



Zacznijmy od prostszego, czyli rozwinięcia ścian bocznych. Składa się ono z szeregu prostokątów o wymiarach zależnych od wysokości i szerokości ściany.
Można jednak nie rysować całych prostokątów, lecz fragmenty w kształcie litery C:



Oczywiście do narysowania tych powtarzających się fragmentów wykorzystamy w programie pętlę. Liczba powtórzeń będzie zależna od wczytanej liczby boków LBok.
Oto kawałek programu:



Ściany boczne mamy załatwione: łatwizna :)

Podstawa graniastosłupa

Podstawy są dwie takie same i są to wieloboki foremne, czyli każdy bok ma taką samą szerokość.
Algorytm musi być uniwersalny i mieć możliwość narysowania wieloboku o dowolnej liczbie ścian, podanych przez użytkownika.
Dokładny przepis na wielobok będzie w następnym odcinku, natomiast na razie zrobiłem arkusz kalkulacyjny, który wykreśla wielobok o podanej szerokości ściany oraz zadanej liczbie boków.
Należy do niego wpisać liczbę boków i szerokość ściany. Pozostałe wielkości, promień, kąt zostaną wyjaśnione w następnym odcinku
Zrzut ekranu:



Arkusz można sobie ściągnąć (kliknąć poniższy link, potem "Click here to start download" a następnie "Zapisz") i poeksperymentować, wpisując swoje dane:
http://www.mediafire.com/?552cyt4dx2x

Arkusz ma komórki zabezpieczone przed modyfikacją, ale można to odblokować klikając Narzędzia>Nie chroń arkusza
c.d.n. :-)

 
30-10-07 18:22  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Widać chyba, jesteś skazany na moje komentarze,,,

Ponownie chylę czoła nad ogromem czasu i oryginalnemu pomysłowi, który towarzyszy temu wątkowi i autorowi od początku. Ale nie zmieniam zdania, nawet przy porównaniu do serii Discovery "Jak to jest zrobione"... według mnie przerost treści nad formą (oryginalnie, ale tak uważam)

Może lepiej jednak zająć się Rhino i zrobić na takim poziomie lekcję jak projektowania w nim modelu, zapewniam Cię, będziesz miał setki komentarzy i oglądalność wątku taką, że samemu do niego będzie Ci trudno się dostać... (:-)

Pozdrawiam,

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (31-10-07 08:01)

 
02-11-07 15:53  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Napisanie tutoriala do Rhino może być dla mnie trochę kłopotliwe, bo nie znam tego programu wcale ;-)
Bicie rekordów oglądalności pozostawiam TVN24 - obecna liczba odsłon całkowicie zaspokaja moją próżność :)))
Przerost formy nad treścią być może wystąpił, jednak jest to na razie przystawka przed właściwym obiadkiem. Temat jest pisany z myślą o nieprogramistach, dlatego trochę rzeczy trzeba było wyjaśnić.
Kolejne posty będą już bardziej konkretne i współczynnik nasycenia treścią wzrośnie.
Lecimy więc dalej.


Ciekawe, że łatwiejsza część programu, rysująca w pętli ściany boczne liczyła 4 wiersze poleceń. Część trudniejsza, rysująca wielobok liczy zaś ... tylko jeden wiersz.

Bardziej mozolna natomiast jest droga prowadząca do tej jednej linijki. Opiszę to dość szczegółowo, ponieważ algorytm ten będzie powtarzał się cały czas (a końca wątku nie widać ;-) ). Będzie wykorzystany do rozwijania ostrosłupa, stożka, oraz walców, stożków, graniastosłupów ściętych prosto albo ukośnie. Wszystko opiera się na tej jednej zasadzie.

Przy rysowaniu wieloboku foremnego wykorzystamy 2 fakty:
1. Można go wpisać w okrąg, tzn. każdy wierzchołek leży na jego obwodzie. Do wykreślenia potrzebny będzie promień takiego okręgu.
2. Prowadząc linie od środka okręgu do wierzchołków otrzymuje się trójkąty równoboczne. Trójkątów tych jest tyle ile, boków ma graniastosłup a suma kątów ich wierzchołków wynosi 360 stopni
Można więc łatwo wyznaczyć kąt Beta wierzchołka tych trójkątów oraz znaleźć promień okręgu R:


Narysowanie dowolnego wieloboku jest więc proste: obieramy na okręgu jakiś punkt początkowy P1 i obracamy go - niczym wskazówki zegara - o wielokrotności kąta Beta:
Przy pomocy cyrkla i kątomierza można łatwo narysować na kartce dowolny wielobok foremny. Trzeba tylko obliczyć wcześniej promień i kąt wierzchołka trójkąta.


Program jednak nie dysponuje cyrklem i trzeba to przerobić na współrzędne punktów. Jest to chyba łatwiejsze niż znalezienie w moim domu kątomierza, a robi to się tak:


Punkty “ślizgają” się po okręgu i łatwo wyznaczyć ich współrzędne wstawiając do wzorów wielokrotności kąta Beta:


Wiadomo już, jak narysować wielobok o środku w początku układu współrzędnych. Program może jednak operować tylko na współrzędnych dodatnich, trzeba więc przesunąć figurę do I ćwiartki:


Taki elaborat, żeby wyjaśnić sens jednej linijki programu :))


Niebawem zmierzę się z ostrosłupem.

 
02-11-07 18:32  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Teraz to podziwiam już nie tylko Twoja wiedzę, ale również konsekwencję.
Chyba jesteś już za dobrym programistą (wtedy traci się wyczucie) , skoro uważasz, że to co Tworzysz i proponujesz, jest dla tych, którzy nie mają za bardzo nic wspólnego z programowaniem, "tekstem dla nieprogramistów"
Jasne - rób to co zamierzałeś, skoro uważasz, że ktoś na tym skorzysta.

A Rhino , to nie TVN24 - sam się prosisz.... Rhino to nie TVN 24.Rhino to po prostu program, którego używają dziś projektanci, masowo zresztą

Skoro chcesz znów wynajdować koło, nie ma problemu,

Ja jednak polecam Ci zapoznanie się np. z Rhino, jak zobaczysz co ten program potrafi, to sam stwierdzisz, że to co piszesz, to są programy na ZX Spectrum (nie wiem, czy pamiętasz takie maszyny), w porównaniu, co "sam" potrafi zdcedować nawet przy wyborze danej formy geometrii (chodzi o dobór odpowiedniej powierzchni) Rhino...

jest 2007... jakby ktoś nie zauważył, koniec.

Z całym szacunkiem,

Dorsz

PS. Wszystko co do tej pory napisałeś, to nawet nie pojedyncze kliknięcia w Rhino, można powiedzieć... to sama idea wybrania danej opcji w rzeczy samej...
A ja może jestem niecodzienny w swojej opinii, ale nie matematyk, informatyk, technik. ale znakomity badacz, militarny "szajbus", który ślęczy nad zdjęciami i planami rok, jest w stanie zrobić, zaprojektować dobry model ....
Ja uważam, że narzędzia muszą być na poziomie (umiejętności informatycznych) tych "maniaków" (klikasz i masz). Inaczej to już połączenie już dwóch pasji - informatyki i modelarstwa, a to nie da nigdy takiego rezultatu.
Oczywiście, to tylko moja opinia.

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (02-11-07 19:15)

 
03-11-07 12:59  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Skoro nikt inny nie uczestniczy w tej dyskusji, to można odnieść wrażenie, że napadłem na Syzyfa... Zapewniam, że nie taki był zamiar, miałem raczej nadzieję ożywienie dyskusji,,,
Jeśli Syzyf poczuł się urażony (a może, bo przeczytałem wszystko) - z pokorą przepraszam,

--
Autoryzowany Instruktor Rhinoceros w Polsce

 
04-11-07 09:19  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Nie mogę czuć się urażony przez kogoś, kto pamięta czasy ZX Spectrum ;-)
Tym bardziej, że sam zaczynałem od ZX-81 z 1 KB pamięci.
Miłego łikendu, nie stresuj się i przeczytaj za ... kolejny odcinek :)

 
05-11-07 11:38  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Z pewnością masz we mnie wiernego czytelnika.

--
Autoryzowany Instruktor Rhinoceros w Polsce

 
09-11-07 21:48  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Witam ponownie - czas na naukę :D

Ostrosłup foremny

Samo rozwinięcie jest proste co do zasady: ściany boczne są trójkątami stykającymi się bokami, a podstawą jest wielokąt foremny znany z poprzedniego odcinka.
Podstawę więc pominę, skupiając się tylko na bokach:



Po wyprowadzeniu:



Jeśli ktoś nie pamięta co oznacza arcsin (czytaj: arkus sinus), to jest to funkcja odwrotna do sinusa. Idea tej odwrotności jest prosta jak budowa cepa:
sam sinus mówi jaki jest stosunek boków przy danym kącie.
Arcus zaś zwraca kąt przy danym stosunku boków (Alfa na rysunku poniżej jest kątem "ogólnym", nie z poprzedniego rysunku. Drobna niefortunność):



Samo rozwinięcie można zrobić niemal identycznie, jak wyrysowanie wieloboku. Jedyna różnica jest taka, że kąt którym “obracamy” punkt nie dojdzie do wartości 360 stopni:



Pozostało napisać kawałek “programu”:



A w następnym odcinku to, na co wszyscy czekali: ostrosłup ze ściętym płasko czubkiem ;-)

 
12-11-07 16:04  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Ostrosłup ścięty płasko

Zgodnie z obietnicą, dzisiaj będzie ostro: ścinamy gościowi czubek ;-)
W życiu chciałoby się nie raz, a tutaj można sobie bezkarnie pohulać.
Choć czubek ścięty, to nadal będzie on bardzo potrzebny. Można powiedzieć, że aby rozwinąć ostrosłup ścięty, trzeba mu czubek założyć z powrotem:





O rozwijaniu podstawy i powierzchni górnej nie ma co pisać, bo wiadomo co i jak z poprzednich odcinków.
Algorytm ten zawiera w sobie w pewnym sensie poprzedni. Jeśli przyjmie się szerokość ściany górnej równą 0, to powstanie rozwinięcie zwykłego ostrosłupa ze szpicem.

Następny odcinek co najmniej za tydzień, ale będę myślał nad kolejnym tematem.
Jeśli kogoś interesuje “jak to się robi?”, czyli opis jakiegoś konkretnego rozwinięcia – niech napisze.
Nie obiecuję, że będę w stanie to zrobić, bo głowa już nie ta, ale pomyśleć zawsze można :-)
No i jest pomocna ręka Forum...

 
23-11-07 23:36  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

No i znowu ja...
Dawka teorii jest ciągle ogromna, jestem bardzo zadowolony z kodów rozwijania, ale mam pytanie czy nie da się np kodu podawać już w formie np. skryptu do Rhinoceros? To chyba jedyny program, w którym można Twoje lekcje zrealizować praktycznie, według mnie, znacznie podniosłoby to stopień zrozumienia o tym, o czym piszesz.
Jakaś dawka praktyki, minimalna choć.
Rhinoscript, prosimy..., jeśli się da

Pozdrawiam i wszystko czytam, jak obiecałem, zapewniam...

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (23-11-07 23:37)

 
24-11-07 22:57  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Witaj stały czytelniku :) oraz inni rzecz jasna :)

Jeśli chodzi o Rhino, to na pewno nie napiszę żadnego skryptu, ponieważ - jak wspomniałem wcześniej - nie znam tego programu. Oczywiście kiedyś go sobie ściągnąłem i skorzystałem z 25 save-ów, ale to dla mnie o jakieś 500 za mało ;-)
Przeczytałem zgrubnie kawałek zastosowania i orientuję się, że w Rhino projektuje się cały model od razu (albo całe moduły). Jest to dość naturalne i przyszłościowe. Problem jednak w cenie (ok. 4500 zł), co czyni go nieprzydatnym do amatorskich zastosowań. Nie chcę się tutaj wdawać w dyskusje na temat darmowych alternatyw itp. bo temat nie ten.

Trochę dziwi mnie zdanie, które napisałeś:
To (Rhino) chyba jedyny program, w którym można Twoje lekcje zrealizować praktycznie, według mnie, znacznie podniosłoby to stopień zrozumienia o tym, o czym piszesz.
Jakaś dawka praktyki, minimalna choć.


Dawka praktyki jest jak najbardziej dostępna. Są to programy : Siatki oraz Kreski.
W przypadku Siatek mogę opierać się na przypuszczeniach ale Kreski działają na bardzo podobnych do opisanych przeze mnie algorytmach. Wiem to, bo znam ich kod źródłowy napisany w Borland Delphi (ok. 30 stron wydruku A-4). Nie są to więc jakieś moje teorie, lecz rzeczy sprawdzone w praktyce, które działają i każdy może się o tym łatwo przekonać. Wiem, że znasz te programy, bo widziałem Twoje wpisy w tych wątkach.

W temacie Siatek 4.0 wyraziłeś opinię bardzo entuazjastyczną, choć z Twojego punktu widzenia jest to chyba program anachroniczny, bo bazujący na "projektowaniu klocków" a nie całościowo jak w Rhino.
Mam wrażenie, że jest jakiś zgrzyt nieporozumienia między nami. Całkowicie dopuszczam możliwość niezrozumienia czegoś z mojej strony, a to można wyjaśnić jedynie poprzez wymianę zdań. Tak więc spokojnie czekam na wszelkie pytania, wątpliwości, sugestie, itp.

P.S. W następnych odcinkach pewnie opiszę stożek a potem stożek ścięty płasko.

 
25-11-07 11:46  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Mam wrażenie, że jest jakiś zgrzyt nieporozumienia między nami. Całkowicie dopuszczam możliwość niezrozumienia czegoś z mojej strony, a to można wyjaśnić jedynie poprzez wymianę zdań. Tak więc spokojnie czekam na wszelkie pytania, wątpliwości, sugestie, itp.

To się rzeczywiście zgadza, nie zrozumieliśmy się, ale wina leży po obu stronach.
Poprzez realizację praktyczną uważałem (stosując rzeczywiście skrót myślowy i pewną niekonsekwencję rozumowania) napisanie programu wewnątrz środowiska aplikacji (np. Rhino) , który to program (skrypt) nie tylko całkowicie praktycznie pokazałby krok po kroku mechanizm działania, podanego przez Ciebie algorytmu, ale również dałby czytelnikom okazję na własne, także praktyczne - próby, podkreślam wewnątrz środowiska Rhino. I to próby nie polegające na klikaniu na ikonki funkcji, ale na prostą zabawę z algorytmem, który podany byłby w formie skryptu. Innymi słowy - można by napisać nową funkcję Rhino (z własną ikonką nawet w pasku narzędzi) w oparciu o Twoje wykłady, przy powstaniu której użytkownik praktycznie przyjąłby wiedzę teoretyczną podaną przez Ciebie, równocześnie bez potrzeby stosowania środowisk programistycznych,

Przeczytałem zgrubnie kawałek zastosowania i orientuję się, że w Rhino projektuje się cały model od razu (albo całe moduły). Jest to dość naturalne i przyszłościowe.

Zupełnie nie o to chodzi, moim zdaniem, jeśli chodzi o przyszłość i naturalność projektowania. Możesz sobie cały model lub moduły całe zaprojektować i rozłożyć także w całkowicie darmowym i świetnym programie - Blender. Nowoczesność polega na maksymalizacji dokładności stosowanych rozwiązań, na prostocie ich stosowania, i co najważniejsze - automatyzacji najczęściej stosowanych (czyli najbardziej nużących) czynności. Ale o tym piszę niżej, bardziej dokładnie.

Problem jednak w cenie (ok. 4500 zł), co czyni go nieprzydatnym do amatorskich zastosowań. Nie chcę się tutaj wdawać w dyskusje na temat darmowych alternatyw itp. bo temat nie ten.

Cena Rhino - 4500 za licencję komercyjną - paradoksalnie właśnie przez taką cenę (w stosunku do innych rozwiązań tego typu) program ten zaczyna być dostrzegany przez, jak to określiłeś, nawet amatorskie zastosowania, szczególnie w ostatnich 2-3 latach (mówię o naszym rynku - w Europie, to wiadomo, komercyjne Rhino dla pracujących na Zachodzie Europy to koszt wersja EDU Rhino w naszym kraju).
Poza tym w naszym kraju, jest jeszcze wersja EDU, którą można kupić za niecałe 1 tys PLN, a i komercyjnie na niej pracować.
Co do wersji Trial - nawet bez możliwości już zapisu (czyli wygasła wersja próbna Rhino) potrafi wykonywać, importować, edytować i zapisywać (bez limitów) skrypty, ale tego nie dopisałem, to mój błąd. Używanym językiem jest zwykły VBScript .Polecam Ci ten wątek i gorąco zapraszam, aby jednak spróbować

Co do siatek i kresek, wiem, że te programie działają i wiem również, że działają na podobnych rozwiązaniach, jakie przedstawiasz nam wszystkim tutaj. Tylko ciągle nie czuję, w jakim celu są wykłady w takim razie, nie wiem, ktoś z modelarzy ma usiąść i napisać sobie w Borlandzie drugie Kreski, czy Siatki? Siatki są przecież tak tanie, że każdy, kto zajmuje się modelarstwem stosowanym i posiada komputer, może sobie na nie pozwolić i powinien!


W temacie Siatek 4.0 wyraziłeś opinię bardzo entuzjastyczną, choć z Twojego punktu widzenia jest to chyba program anachroniczny, bo bazujący na "projektowaniu klocków" a nie całościowo jak w Rhino.
Prawie wszystko się zgadza. Nie zmieniam i nie mam zamiaru zmieniać swojej bardzo pozytywnej opinii na temat siatek, ale wynika ona bardziej ze stosunku co można w nich osiągnąć i ceny, jaką za ten program należy zapłacić. Natomiast program ten pracuje na polygonach, na trójkątach, na siatce, która z definicji, jest bardzo grubym przybliżeniem tylko, a nie na NURBSach, siłą rzeczy więc mam prawo uważać, że nie jest to najnowocześniejsza technologia w tej branży dziś. Mam prawo do takiego zdania przecież.

To chyba póki co wszystko - w dalszym ciągu - zostaję stałym czytelnikiem i serdecznie pozdrawiam

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (25-11-07 11:58)

 
07-12-07 16:46  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Halo? Napisałem coś nie tak ? Nikt przecież nie jest nieomylny.
Zła wiadomość jest lepsza od braku wiadomości.

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (07-12-07 16:49)

 
07-12-07 22:13  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Rzeczywiście Dorszu The Odyńcu udało Ci się zastopować ten temat.
Ja nie bardzo potrafię odpowiadać na takie pytania(?).

Jednak brak reakcji z mojej strony jest nieczytelny - bardzo przepraszam.
Generalnie uważam, że piszesz nie na temat.
Ty piszesz o Rhino a wątek jest na temat działania programu typu Kreski. Być może także Siatki, choć wersja 4.0 oddaliła się od Kresek na spory dystans (tu szczere wyrazy szacunku dla KubyZ (oraz równie szczere dla angusa )).
Po raz kolejny pytasz mnie "czemu to służy", czy modelarze mają stać się programistami.
Odpowiadam: nie służy to niczemu. Podobnie jak sklejanie modeli. Ot, wyrabia się pewne umiejętności i rozwija intelektualnie.
Nikogo nie namawiam do bycia programistą. Ja programowaniem interesuję jedynie amatorsko. Podobnie - sklejanie modeli z papieru sprawia mi frajdę, choć trudno mi dociec dlaczego :)

P.S.
Tak na marginesie - nazwy tych programów to: Siatki i Kreski :) a nie: siatki i kreski :(.
Opis rozwijania stożka prawie gotowy, więc ciąg dalszy niebawem nastąpi.

 
10-12-07 10:06  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

Dzięki za odpowiedź. Postaram się na przyszłość nie stopować tematów.

W takiej sytuacji - jako stały czytelnik i jedyny (jak do tej pory) komentator - czekam z niecierpliwością na następne rozwinięcia.
Serdecznie pozdrawiam.

--
Autoryzowany Instruktor Rhinoceros w Polsce

 
16-12-07 08:09  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Syzyf 



Na Forum:
Relacje w toku - 4


 - 1

Witam w niedzielny poranek. Ludzkość sobie jeszcze smacznie śpi - Dorsz The Odyniec zapewne też ;-) - a ja rozwijam stożek :)

Stożek
Na stożek można popatrzeć, jak na graniastosłup który ma baaaardzo wiele ścian bocznych. Ponieważ w nowej wersji programu Siatki są bardzo fajne rysunki brył, które można sobie obejrzeć w 3D, postanowiłem z nich skorzystać. Mam nadzieję, że KubaZ mnie nie zbeszta :-)



Przyjęcie 1/5 długości piksela ma na celu jedynie to, aby w obwodzie nie powstała dziura. Program będzie więc czasami kilkukrotnie "dziobał" w ten sam punkt i go zaczerniał. Na szczęście piksele zaczerniane kilkukrotnie nie "rozlewają" się na boki niczym atrament z pióra, więc można to robić bezkarnie. Oczywiście wydłuża to czas rysowania, ale przy dzisiejszej szybkości komputerów...

 
23-01-09 13:45  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
MicZ 



Na Forum:
Galerie - 4


 - 4

Witam,
Dziękuję Syzyfowi za udostępnienie materiałów i algorytmów rozwijania brył.
Na ich podstawie chcę napisać klika wtyczek do darmowego programu do grafiki wektorowej Inkscape (format SVG). Na dzień dzisiejszy gotowe są dwie wtyczki: jedna rozwija walec a druga stożek. Poniżej wtyczka w akcji:

Siatki są rysowane jako ścieżki co umożliwia ich łatwe kolorowanie (rys 2). Pliki SVG są obsługiwane przez wiele popularnych programów do obróbki grafiki wektorowej. O ile się nie mylę te wtyczki działają niezależnie od systemu, więc mam prośbę do kogoś kto ma linuxa, żeby przetestował ich działanie.

Tutaj można je pobrać.
Zawartość archiwum należy rozpakować do katalogu <katalog instalacyjny Inkscape>\share\extensions\
Następnie po uruchomieniu Inkscape'a z menu Efekty>Rozwijanie brył wybieramy co chcemy rozwinąć, po ustawieniu żądanych wartości klikamy Apply i tyle:)

Wszelkie uwagi będą mile widziane. Liczę na kontynuacje wykładów Syzyfa co pozwoli mi implementować rozwinięcia kolejnych brył.
Pozdrawiam,

--
..:: Micz ::..

 
26-01-09 11:24  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
myh 



Na Forum:
Galerie - 2
 

MicZ hmmm widze ze to jest chyba przeznaczone do najnowszej wersji Inkscape bo w wersji 0.45.1 ktora posiadam po kliknieciu apply jest:

Traceback (most recent call last):
File "/home/users/maryush/.inkscape/extensions/walec.py", line 35, in ?
effect.affect()
File "/home/users/maryush/.inkscape/extensions/inkex.py", line 157, in affect
self.effect()
File "/home/users/maryush/.inkscape/extensions/walec.py", line 24, in effect
svg = self.document.getroot()
File "/usr/lib/python2.4/site-packages/_xmlplus/dom/FtNode.py", line 83, in __getattr__
AttributeError: class FtNode has no attribute 'getroot'

przy czym PyXML (z ktorego jest FtNode.py) mam w wersji:
python-PyXML-0.8.4-3.i686

dalo by rade zrobic cos by dzialalo tez na tej wersji? ja Pythona az tak dobrze nie znam...

--
Mariusz "Ma-rYu-sH" Witkowski
Na warsztacie:
- to co wpadnie w ręce...

 
26-01-09 17:50  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
MicZ 



Na Forum:
Galerie - 4


 - 4

Rzeczywiście wtyczki pisałem pod wersje 0.46, ale postaram się naprawić błędy.
Pozdrawiam!

--
..:: Micz ::..

 
26-01-09 19:48  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Dorsz Odyniec 

 

MicZ - gratuluje pomysłu, bo takie wtyczki pod taki konkretny program, jak Inkscape, to w końcu konkretne zastosowanie wiedzy, która możemy znaleźć w tym wątku.
Niestety - jak widać z oprogramowaniem OpenSource nigdy nic nie wiadomo i wada jest taka, że co wersja, to będą problemy.
Z drugiej strony, skoro soft jest darmowy, leniuszek myh mógłby sobie uaktualnić Inkosia do 0.46...

--

Autoryzowany Instruktor Rhinoceros w Polsce

Post zmieniony (26-01-09 19:52)

 
27-01-09 13:27  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
myh 



Na Forum:
Galerie - 2
 

Dorszu w tym problem ze nie moge uaktualnic (mam dosc specyficznie skonfigurowane srodowisko developerskie, a by to zrobic bym musial uaktualniac caly system bo siedze na starawej juz wersji i sie nowy Inkscape nie buduje co mnie smuci niespolmiernie, a wyznaje zasade - co dziala to nie tykac :) ) poza tym to moze nie byc wina samego Inkscape - ostatnia linijka o tym swiadczy - to problem jest z wykorzystaniem atrybutu klasy ktory nie istnieje przynajmniej w wersji PyXML jaka posiadam (notabene najnowszej: http://sourceforge.net/project/showfiles.php?group_id=6473) i prawdopodobnie chodzi o nowsza wersje pythona lub starsza wersje PyXML (chyba ze dosc mocno zmodyfikowali inkex.py).

Poza tym sam od dluzszego czasu dlubie cos podobnego:



docelowo ma miec mozliwosc definiowania grubosci kartonu i kreslenia elementow z jego uwzglednieniem, wstawianie kazdej siatki jako osobnej warstwy ze zgrupowanymi elementami i tym podobne, jednak notoryczny brak czasu powoduje ze projekt stoi w miejscu i sie kurzy...

--
Mariusz "Ma-rYu-sH" Witkowski
Na warsztacie:
- to co wpadnie w ręce...

 
27-01-09 16:33  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
MicZ 



Na Forum:
Galerie - 4


 - 4

Troszkę zmodyfikowałem kod, do pobrania tu
@Myh
Z tego co się orientuję to kolejne wersje Pythona (oprócz 3.0) są zazwyczaj zgodne wstecz. U siebie mam zainstalowanego Pythona 2.6, w Inkscape 0.46 jest Python w wersji 2.5, natomiast wydaje mi się, iż moje wtyczki korzystają z modułu lxml zamiast PyXML. Nie wiem czy to będzie działać pod starszym Inkscapem.

--
..:: Micz ::..

 
28-01-09 06:16  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
myh 



Na Forum:
Galerie - 2
 

MicZ z tego co sam dzisiaj walczylem to dodkladnie to ma sie tak:
- zgadza sie ze modul lxml (tego modulu wymaga Twoja wersja Inkscape by w ogole dzialaly rozszerzenia)
- zgadza sie tez to ze uaktualnili inkex'a (nie tak drastycznie jak myslalem - dodali import wlasnie tego powyzszego modulu, dodano chyba tylko jedna nowa wlasciwosc i to wszystko)
- z tego co ja wiem to miedzy wersjami 2.4, 2.5 i 2.6 sa roznice (jakies drobne ale sa)
- skrypty nie beda dzialaly na poprzedniej wersji Inkscape poniewaz wywala blad zwiazany z: 'sodipodi:XX' ze nie ma takowej wlasciwosci i pa pa (ztcw. to sa wewnetrzne skladowe udostepnione przez silnik Inkscape) - nie wykluczam ze w wolnej chwili uda mi sie dojsc do ladu i skladu i to poprawic by zadzialalo :)

--
Mariusz "Ma-rYu-sH" Witkowski
Na warsztacie:
- to co wpadnie w ręce...

 
21-03-09 11:46  Odp: [Tutorial]O tym, jak działa program do rysowania siatek brył
Czesiek 



Na Forum:
Galerie - 1
 

Witam Was.
Czytam ten wątek z zaciekawieniem. Więc nie tylko Dorsz jest jego wiernym czytelnikiem (oczywiście tego wątku). Brakuje mi tylko paru rzeczy.
1. Rozwinięcie metodami "analogowymi" jakiejś trudniejszej bryły (nie walca i nie stożka czy ostrosłupa - to są rzeczy bardzo proste) np.: segmentu kadłuba samolotu o wręgach niebędących okręgami i osi symetrii nieprostopadłej do tych wręg.
2. Rozwinięcie "poszycia" kabinki pilota.
3. Rozwinięcie połączenia skrzydła z kadłubem.
4. Rozwinięcie samego skrzydła.

Na naszym forum jest mój wątek poświęcony rozwinięciu części skrzydła "przykadłubowego", ale może "konkurencja" wymyśli coś nowego? Podobno moja metoda rozwijania "działa".
Pozdrawiam

 Tematy/Start  |  Wyświetlaj drzewo   Nowszy wątek  |  Starszy wątek 
 Strona 1 z 1Strony:  1 

 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