projektowanie parametryczne, parametric design
Home > Grasshopper, O co chodzi > Grasshopper – Podstawy cz. 3

Grasshopper – Podstawy cz. 3

Grasshopper ? Podstawy cz. 3



Grasshopper ? Podstawy cz. 1
Grasshopper ? Podstawy cz. 2
Grasshopper ? Poradnik cz. 1 ? Atraktory /średnio zaawansowany/

Przejdź do spisu treści

Opis wybranych komponentów

Opracowane dla aktualnie najstabilniejszej wersji Grasshopper’a – built 0.8004

Ten tutorial jest ostatnim tutorialem opisującym podstawy znajomości Grasshoppera. Następnę będą już o bardziej skomplikowanych zadaniach jakie możemy rozwiązać za pomocą tego wspaniałego programu.

Dlaczego postanowiłem opisać poszczególne komponenty ?

Jeśli czytaliście wcześniejsze poradniki, mogliście wywnioskować z nich, że nie mam zamiaru opisywać pojedynczych komponentów. Po licznych przemyśleniach na ten temat postanowiłem jednak – dla zachowania porządku – wytłumaczyć do czego niektóre z nich służą. Znalazłem parę argumentów żeby się tego podjąć :
- Nie każdy zna na tyle dobrze język angielski, żeby zawsze wiedzieć o co chodzi ze skrótowego opisu w GH
- Własne doświadczenie wskazuje na to, że często można coś zrobić dużo prościej znając dobrze wszystkie komponenty (część z nich da się zrobić ręcznie, używając innych komponentów)
- Zakładam, że tutoriali będzie “naście” – co powoduje, że będzie to najprawdopodobniej największy zbiór polskich tutoriali na temat GH w internecie. Dlatego dla zachowania pewnego porządku “wypada” opisać ważniejsze komponenty

Sposób organizacji tej części poradnika

Aby uczynić przeglądanie tego tutoriala łatwiejszym, wprowadzam na początku spis treści z linkami przewijającymi do danego działu.

Kategoria Params

Idź do spisu treści

Paleta Special

SLIDER


Slider można tak skonfigurować, aby wartości były liczbami parzystymi, nieparzystymi lub całkowitymi
BOOLEAN TOGGLE

Przełącznik prawda/fałsz po przekonwertowaniu na Integer daje wartości 1 i 0
SCRIBBLE

Ten komponent daje nam możliwość robienia notatek bezpośrednio na “płótnie”
TIMER

Timer nie podaje aktualnej godziny, czy też czasu od włączenia – wymusza on wykonywanie np. skryptu co dany odcinek czasu
READ FILE

Komponent “Read file” umożliwia odczytywanie zawartości pliku tekstowego
GALAPAGOS

Galapagos otwiera możliwość pisania algorytmów genetycznych

Kategoria Math

Idź do spisu treści

Paleta Operators (działania matematyczne)

MASS ADDITION

“Mass addition” dodaje wszystkie wartości podłączone do jego wejścia (podłączamy je po kolei, trzymając klawisz “shift”)

Paleta Script

F1 (a także 2, 3 oraz n)

Komponent ten umożliwia obliczanie prostych funkcji. W tym przykładzie jest to funkcja Ceiling, znajdująca pierwszą, większą liczbę całkowitą od zadanej wartości

Paleta Trig

SIN (COS, TG itd.)

W palecie Trig znajdziemy funkcje trygonometryczne. Na ilustracji przykładowe obliczanie sinusów.

Paleta Util

PI

Wartość Pi – przydatne szczególnie przy obracaniu obiektów
GOLDEN RATIO

Złoty podział do szóstego miejsca po przecinku.
MIN / MAX

Te komponenty zamieniają wartości z listy na wejściu “A” – “Min” podmienia wartości przekraczające górną granicę (wejście “B” to górna granica) na wartość “B”. Analogiczne działa “Max”, tyle że na odwrót. Szczególnie przydatne przy atraktorach.
AVERAGE

Średnia arytmetyczna.

Kategoria Sets

Idź do spisu treści
Kategoria ta zawiera komponenty potrzebne do porządkowania list danych, edycji wartości oraz edycji “drzew” danych.

Paleta List

LIST ITEM / REVERSE LIST / LIST LENGHT

Na podanym przykładzie widać jak działa każdy z tych komponentów – “List item” wydobywa elementy o zadanym indeksie, “Reverse list” odwraca listę, “List lenght” podaje ilość wartości na liście.
SORT LIST

“Sort list” porządkuje rosnąco wartości z listy, synchronicznie można sortować drugą listę – jest ona wtedy zależna od zmiany kolejności wartości z pierwszej listy.
WEAVE

“Weave” czyli w wolnym tłumaczeniu “przeplatanka”. Na wejściu “P” podajemy wzór (pattern) przeplatania elementów z list “0″ i “1″.

Paleta Sequence

CULL PATTERN

“Cull pattern” usuwa elementy z listy wg. podanego wzoru (pattern).
SERIES

“Series” czyli seria liczb. “S” – liczba początkowa; “N” – ilość generowanych wartości; “C” – Skok pomiędzy kolejnymi wartościami. Daje duże możliwości w porządkowaniu list wg. własnych wymagań (w połączeniu z “List item”).
RANDOM

“Random” generuje ciąg losowych wartości z przedziału “R”. “N” to liczba generowanych wartości; “S” – ziarno; “I” – ogranicz wyniki do liczb całkowitych.

Paleta Strings

CONCATENATE

Ten komponent daje możliwość połączenia dwóch wartości w jedną. Jak widać na przykładzie, przydatne chociażby przy przygotowywaniu elementów do fabrykacji.

Paleta Tree

FLATTEN / GRAFT

Funkcje tych dwóch komponentów są także dostępne z menu po naciśnięciu na dowolny komponent prawym klawiszem myszy.”Graft” tworzy z każdej wartości osobną “gałąź”, natomiast “Flatten” usuwa wszelką hierarchię listy danych.
FLIP MATRIX

“Flip matrix” zamienia kolumny z wierszami. Działa tylko wtedy kiedy adresy wartości na listach są stosunkowo proste. (ilość istotnych miejsc w adresach na liście nie może być większa niż 1)
PATH MAPPER

“Path mapper” umożliwia bezpośrednią ingerencję w adresy na listach danych.

Kategoria Vector

Idź do spisu treści

Paleta Point

DECOMPOSE / POINT XYZ

Dwa komponenty o przeciwstawnym działaniu. “Decompose” wydobywa współrzędne punktów ,”Point XYZ” natomiast na podstawie podanych współrzędnych wykreśla nowe punkty.
CLOSEST POINT

“Closest point” znajduje najbliższy danemu punktowi punkt z listy.
TEXT TAG

“Text tag” oznacza geometrię (w tym wypadku punkty) wg podanego schematu – przykładowo użyłem tutaj indeksów. Jest to bardzo przydane przy przygotowywaniu do fabrykacji.

Kategoria Curve

Idź do spisu treści

Paleta Analysis

CONTAINMENT

“Containment” określa zależność punktów z listy w stosunku z podaną krzywą zamkniętą. “0″ oznacza, że punkt leży na krzywej; “1″ oznacza, że jest w środku; oznaczenie “2″ otrzymują punkty znajdujące się na zewnątrz krzywej.

PERP FRAME / PERP FRAMES (z palety “Division”)

Te dwa komponenty działają podobnie – z tymże “Perp frames” rozmieszcza na danej krzywej płaszczyzny równomiernie (wg zadanej liczby płaszczyzn), natomiast “Perp frame” umieszcza płaszczyzny w miejscu określonym parametrem danej krzywej.

Paleta Division

DIVIDE CURVE / DIVIDE DISTANCE / DIVIDE LENGHT

“Divide curve” dzieli krzywą na zadaną ilość segmentów, “Divide lenght” na odcinki o zadanej długości; “Divide distance” rozmieszcza punkty na danej krzywej znajdujące się względem siebie w podanej odległości;
PERP FRAMES -> Patrz “PERP FRAME”

Paleta Primitive

LINE SDL

“Line SDL” wykreśla odcinek na podstawie punktu “S”, kierunku określonego wektorem “D” oraz długości “L”. Na obrazku widać 2 punkty poniżej linii, są to punkty wyznaczające wektor “D”
CIRCLE CNR

“Circle CNR” kreśli okrąg na podstawie zadanego środka “C”, wektora prostopadłego do płaszczyzny kreślenia – “N” oraz promienia “R”.
POLYGON

“Polygon” kreśli dowolny wielokąt na podstawie ilości boków “S”, płaszczyzny kreślenia “P”, promienia “R” oraz zaokrąglenia narożników “Rf”

Paleta Util

EXPLODE

“Explode” rozłącza poszczególne składowe polilinii na łuki i odcinki.
EXTEND

“Extend” przedłuża podaną krzywą o zadane wartości. Sposób w jaki to robi określamy zadając cyfrę na wejściu “T” (przytrzymując kursor dłużej nad tym wejściem, możemy przeczytać jakie sposoby przedłużania są dostępne).
OFFSET

“Offset” tworzy krzywą znajdującą się na całej swojej długości w równym, zadanym odstępie od bazowej krzywej. Na podanym obrazku jest to zółta krzywa.

Kategoria Surface

Idź do spisu treści

Paleta Analysis

BOX CORNERS / BOUNDING BOX

“Bounding box” tworzy prostopadłościan zawierający w sobie całą zadaną bryłę. Boki prostopadłościanu są zorientowane wg podanej płaszczyzny “P”. “Box corners” natomiast wydobywa z jakiegokolwiek prostopadłościanu jego narożniki (w tym wypadku jest to bounding box, niemniej jednak może to być dowolny prostopadłościan o prostokątnej podstawie).
BREP AREA

“Brep area” mierzy pole powierzchni zadanej krzywej, czy też płaszczyzny. Ponadto kreśli też centroidę danej geometrii.
INSIDE

“Inside” sprawdza które z danych punktów znajdują się w obszarze zadanej bryły.

Paleta Primitive

BOUNDING BOX -> Patrz “BOX CORNERS”

Paleta Util

ISOTRIM

“Isotrim” dzieli daną powierzchnię na mniejsze. Ilość podziałów określa się zadając “Divide domain2″ – tam w “I” musimy ustalić przedziały U i V na “0 to 1″. Należy też pamiętać o “reparametryzacji” powierzchni – aby tego dokonać klikamy prawym klawiszem na wejście “S” “Isotrim” i zaznaczamy “Reparametrize”.
SURFACE FRAMES

Ten komponent rozmieszcza płaszczyzny (układy współrzędnych) na zadanej powierzchni. Przydatne kiedy chcemy rozmieścić na powierzchni jakąkolwiek geometrię.

Kategoria Mesh

Idź do spisu treści

Paleta Triangulation

VORONOI

“Voronoi” wykreśla diagramy Woronoja dla zadanych punktów. Podłączając np. “Slider” pod wejście “R” możemy kontrolować promień maksymalny komórek.
PROXIMITY 2D

“Proximity 2d” tworzy połączenia między punktami znajdującymi się najbliżej lub w zadanym przedziale odległości. To w jaki sposób to robi możemy zmieniać ustawiając “G” (ilość połączeń dla każdego punktu), “R-” i “R+” użyjemy kiedy będziemy chcieli generować połączenia miedzy punktami znajdującymi się w odległości mniejszej lub większej od zadanych.
QUAD TREE

“Quad tree” generuje dla danych punktów drzewo czwórkowe.

Kategoria Intersect

Idź do spisu treści

Paleta Boolean

SOLID DIFFERENCE

“Solid difference” – czyli odejmowanie bryły “B” od bryły “A”. Z reguły działa poprawnie (chyba każdy program ma z boolean’ami problem), skutecznie zamulając komputer przy większej ilości brył do odjęcia.
REGION DIFFERENCE

“Region difference” odejmuje krzywą “B” od krzywej “A”. Podobnie jak odejmowanie od siebie brył, potrafi czasem nieźle zamulić komputer.

Paleta Mathematical

BREP | PLANE

“Brep | Plane” znajduje krzywą (lub krzywe) wynikającą z przecięcia bryły przez płaszczyznę.

Kategoria XForm

Idź do spisu treści

Paleta Euclidean

ROTATE

“Rotate” obraca zadaną geometrię. Kąt należy podać w radianach, lub po drodze wykonać konwersję radianów na stopnie ( prawym klawiszem klikamy na wejście “A” i w okienku “Expression editor” wpisujemy “rad(A)”

Paleta Morph

BOX MORPH

“Box morph” jest jednym z najbardziej widowiskowych komponentów w programie. Transformuje on pojedynczą geometrię rozmieszczając jej kopie na dowolnej powierzchni.
  1. marcin
    March 28th, 2011 at 00:59 | #1

    stary !!!!!!! ale zes sie napracował chyle czoła pelen szacun i wielkie dzieki !

  2. marcin
    March 28th, 2011 at 01:03 | #2

    aa i jeszcze jedno chyba admina troche przygniotłes chyba sie bedzie musial wziasc za tutoriale do gc hehehe pozdro panie adminie !

  3. April 4th, 2011 at 11:01 | #3

    pozdro pozdro :-) pan admin nie miał czasu, bo siedział w Kopenhadze na Smart Geometry i oglądał zmagania ludzi z Grasshopperem i GC… oj dzieje się dzieje! Czekam teraz na jakiś tutorial z Kangaroo ;-) A sam zmajstruję jakiś nowy post o GC wkrótce, jak tylko trochę ochłonę.
    A powyższy tekst jest super, respekt!

  4. June 4th, 2014 at 11:18 | #4

    Right here is the right web site for anyone who wants to understand this topic.
    You know so much its almost hard to argue with you (not
    that I personally would want to…HaHa). You definitely put a new spin on a subject that’s been written about for decades.
    Great stuff, just excellent!

  5. August 7th, 2014 at 23:06 | #5

    Wow, fantastic blog structure! How lengthy have you ever been running a blog for?
    you made blogging glance easy. The full glance of your
    site is wonderful, let alone the content!

  6. Imra
    August 18th, 2014 at 21:43 | #6

    Hej mam ważne pytanie : mam taką strukturę parametryczną z pipe wyciągniętych wzdłuż spline. Całość ma formę spłaszczonego grzyba. Jak to rozłożyć, żeby móc wydrukować albo poskładać już w rzeczywistości? Mam również model, gdzie zamiast pipe są podłużne drewniane elementy z drewna klejonego. Gdyby były w 2 wymiarach nie byłoby problemu, wystarczyłoby rzutować na płaszczyznę, ale elementy te są przemieszczone w 3 wymiarach …Od bardzo długiego czasu poszukuję tutoriali na ten temat, ale niestety nic konkretnego nie udało mi się znaleźć.

  7. December 13th, 2014 at 19:32 | #7

    What a stuff of un-ambiguity and preserveness
    of precious know-how concerning unexpected emotions.

  8. May 5th, 2015 at 14:38 | #8

    Cenię poprawny styl w którym piszwsz bloga. To rzeczywiście pożyteczne,
    abyy ktoś opisywał ten temat. Mam już swoje 62 latek, ale myślę, że cudownie jest poszukać
    po stronach internetowych i odkrywać takie perełki jak na przykład Twój post.

  9. May 6th, 2015 at 15:14 | #9

    Nieźle, widać że technologia druku 3 d prowadzi w coraz bardziej skomplikowanym kierunku.

  10. May 8th, 2015 at 21:10 | #10

    Ciekawie postujesz. Pewnie że wiesz o czym prawisz.

    Bardzo ładnie pozostanie jeśli poznasz więcej zbliżonych kazusów,
    a może kwestiami takimi jak problematyka osób niepełnosprawnych.

  11. May 11th, 2015 at 00:15 | #11

    Witaj, to niezwykle intrygujący temat postu. Uważam, że
    powinieneś napisać także o tym jak mają się kłopoty osób niepełnosprawnych.
    Zobacz też na tym serwisie internetowym jak wygląda temat pokonywania granic architektonicznych.

  12. June 24th, 2015 at 18:58 | #12

    someone with a little originality. useful job for bringing something new to the internet!

  13. August 13th, 2015 at 17:17 | #13

    Czzym można ładnie i dość tajim kpsztem odnowić białą skórę?

    Mamm fotele z białej skóry i potrzebowałbym jee odnowić, byy były ‘bardziej białe’.

  14. June 29th, 2017 at 13:17 | #14

    Wow, niezła prezentacja i profesjonalne rysunki.Czy grasshoper jest darmowy? ile czasu zajela ci nauka tego programu? też chciałbym się nauczyć.Przydatna pomoc naukowa. Tak trzymać

  1. March 27th, 2011 at 22:26 | #1
  2. April 1st, 2011 at 04:03 | #2