3D modelování v Rhinu - díl první
10.03.1999 Autor: Jan Březina - Typ:
V tomto novém seriálu se budete setkávat s modelováním konkrétních objektů z praxe 3D grafika.
Všechny modely budou vytvořeny v Rhinu pomocí NURBS geometrie. Dnes budeme modelovat umyvadlo na
základě dodaných výkresů. Budu předpokládat alespoň minimální znalost programu (kreslení křivek,
používání funkce Snap a podobně). Pokud si stáhnete soubor s připravenými křivkami a budete
postupovat přesně podle návodu, neměli byste mít s modelováním žádné problémy.
Nejprve jsem oskenoval řezy umyvadla z dodaného katalogu (půdorys a řez). V Photoshopu jsem oba
obrázky oříznul tak, aby měly stejnou velikost (konkrétně to bylo 400x400 bodů), samozřejmě
předpokládám, že jsou oba pohledy ve stejném měřítku. Tyto obrázky jsem pomocí příkazu
View/Background bitmap/Place umístil v Rhinu do pozadí odpovídajících pohledů (Top a Right).
Podkladové bitmapy musí mít stejnou velikost - to nejlépe zajistím tak, že zapnu uchopování mřížky
(ve spodní liště tlačítko Snap) a velikost podkladového obrázku v obou pohledech snadno
odpočítám pomocí uzlových bodů mřížky. Stačí zachovat rozměr v horizontálním směru, vertikální
rozměr se automaticky dopočítává podle poměru stran obrázku (v mém případě je to ale stejně čtverec).
Teď ještě musím oba podkladové obrázky nastavit přesně vůči sobě. K tomu mi pomohou osy špuntu
umyvadla - jsou vidět na obou pohledech, takže jejich střed umístím do počátečních bodů konstrukčních
rovin obou pohledů (Top a Right). Provedu to následovně (v pohledu Top):
- Pohled si dostatečně zvětším, abych viděl dobře osy špuntu.
- V roletovém menu vyberu příkaz View/Background bitmap/Move.
- Na výzvu Point to move from (Výchozí bod přesunutí) kliknu myší co možná nejpřesněji do středu os špuntu.
- Zapnu uchopování uzlů mřížky (ve spodním stavovém řádku klapnu na Snap)
- Na výzvu Point to move to (Cílový bod přesunutí) kliknu myší do počátku os konstrukční roviny (pomůže mi v tom zapnuté uchopování objektů z předchozího kroku).
- Totéž provedu v pohledu Right s druhým podkladovým obrázkem.
Teď mají oba obrázky stejnou velikost a jsou vůči sobě správně umístěny. Následuje poměrně
mechanická činnost - pomocí funkce Curve/Free-form/Control points obkreslím obrysy umyvadla
podle výkresu. Výkresy bohužel kvůli autorským právům nemohu přetisknout, zde jsou alespoň výsledné
křivky:
I když je obkreslení výkresů relativně jednoduché, čeká zde několik potencionálních problémů a
nástrah. Zde jsou některá doporučení, jak se jim vyhnout.
- pokud je křivka symetrická podle osy, nakreslete pouze její polovinu, tu ozrcadlete podle osy
souměrnosti (Transform/Mirror) a obě křivky spojte (Edit/Join). Chcete-li zajistit,
aby křivka začínala přesně v ose symetrie, použijte Snap (uchopování uzlů mřížky) nebo
nakreslete křivku s přesahem, v ose nakreslete rovnou čáru a křivku pomocí této čáry ostřihněte
funkcí Tools/Trim. Symetrie má jednu obrovskou výhodu - můžete si být jisti, že obě
poloviny mají přesně stejný tvar, což by se vám při ručním kreslení obou polovin v žádném případě
nepovedlo.
- dávejte však pozor na to, aby obě ozrcadlené části byly alespoň G1 spojité (to znamená, že
jejich koncové body sdílí společnou tečnu). Spojitost sice můžete zajistit až po ozrcadlení
příkazem Curve/Edit tools/Match (v dialogovém okně Match curve options byste
zatrhli položky Tangency a Average curves), avšak lze to řešit podstatně
elegantněji hned při tvorbě křivky (viz další odstavec), navíc při použití funkce Match
dojde ke změně tvaru vstupních křivek (velikost této změny závisí na tom, jak velký byl rozdíl
mezi směry tečen v obou koncových bodech).
- kreslete křivky pomocí aproximačních, nikoliv interpolačních bodů (příkaz
Curve/Free-form/Control points, ne Curve/Freeform/Interpolate point). Interpolační
body (zvané též Greville points) svádí svou zdánlivou "uživatelskou přítulností" - stačí jednoduše
klikat přesně na křivku v podkladovém obrázku a vytvořená NURBS křivka je víceméně stejná,
jako na podkladovém obrázku. Tento způsob však neposkytuje kontrolu nad parametrizací křivky
(křivka má pak neuniformní uzlový vektor, což může při některých operacích přinášet problémy)
a nemáte ani kontrolu nad umístěním řídicích bodů (ty jsou dopočítány automaticky). Z teorie
NURBS vyplývá, že dva segmenty křivky navazují se spojitostí G1, pokud leží tři jejich řídicí
body (společný bod a po jednom bodu z každé křivky) v jedné přímce. Proto stačí, abych v mém
konkrétním případě umístil dva řídicí body rovnoběžně s osou x a po ozrcadlení budou oba
segmenty G1 spojité. Těžko se to vysvětluje, podívejte se raději na obr. 2. To bych však
pomocí interpolačních bodů nemohl provést, neboť řídicí body se dopočítají až na základě
interpolačních bodů.
- některé křivky se navzájem dotýkají (například křivky č. 2 a 4, 1 a 7 atd.). Jak zajistit,
aby se dotýkaly, když jsou navzájem kolmé? Například křivku č. 7 nakreslím v pohledu Right,
zobrazím si její řídicí body (Edit/Visibility/Control points/Show), zapnu uchopování
objektů (ve stavovém řádku kliknu na Osnap a zatrhnu Near), a přesunu koncový bod
křivky č. 7 tak, aby se dotýkal křivky č. 1 (přitom je vhodné držet klávesu Shift, aby nedošlo
k "vybočení" koncového bodu mimo rovinu křivky).

Výsledný 3DM soubor s křivkami (9 kB) si můžete stáhnout zde. Příště budeme v modelování pokračovat
vytvářením jednotlivých ploch.
-Jan Slanina-
Autor je spolumajitelem společnosti Dimensio s.r.o., která produkt Rhinoceros na našem území
distribuuje.
-Jan Březina- (další články autora)
 |
aktuální hodnocení: 2.46 (106 hlasů) |
1 = výborný, 3 = dobrý, 5 = špatný |