Forum użytkowników programu Rhinoceros 3D
RHINOCEROS => Rhinoceros w praktyce => Wątek zaczęty przez: HAV w 21 Sierpień 2009, godz.17:46
-
Kojarzy ktoś może, czy r4 ma fcję pozwalającą na wrysowanie krzywej o konkretnej długości (zdefiniowanej przez siebie), pomiędzy już istniejące krzywe? Trochę to zagmatwane chyba... chodzi mniej więcej o coś jak w załączniku: czerwona i niebieska krzywe są już wrysowane, zielona to krzywa o zdefiniowanej przeze mnie długości (przyjmijmy dodatkowo, że ma być prostopadła do którejś z krzywych, choć na rys. tego nie widać) i wrysowana przez rhino. Jest w ogóle coś takiego?
-
Jest prostopadła "do" i "od" krzywej gdzie można określić jej długość
Ale chyba aż takiego automatu aby umiejscawiał tą krzywą - to nie ma.
Jest to bajecznie proste do wykreślenia, więc i skrypt pewnie jakiś się da napisać...
Ale do tego to już musisz wołać Jarka :)
-
O prostopadłych wiem, że jest łatwe do wykreślenia też... choć jednak trochę upierdliwe (http://www.forum.armacenter.pl/images/smiles/jezor2.gif)
-
póki są to proste a nie krzywe to możesz zrobić to uśredniając dwie linie, a następnie skalując wynikową linię w 1 wymiarze. oczywiście o ile o taki efekt ci chodzi ;)
-
HAV - Jezeli dobrze zrozumialem o co chodzi, to ten skrypt powinien Ci pomoc ( z tego co wiem tylko z komend Rhino nie da sie tego latwo zrobic ).
Wybierasz punkt przeciecia, punkty definiujace linie przyprostokatna i przeciwprostokatna, a nastepnie podajesz dlugosc poszukiwanego odcinka...
( botak - wywolales wilka z lasu :-)
-
Jarek jest jak Spiderman. Zawsze zjawia się tam gdzie ktoś ma kłopot ;D
-
amen ;D :) ;)
-
O dzięki Ci o Wielki Jarku, Ty nasz guru rs'a (http://www.forum.armacenter.pl/images/smiles/icon_lolek.gif)
zaraz oblukam coś dobrego mi tu zaserwował (http://www.forum.armacenter.pl/images/smiles/icon_twisted1.gif)
-
Ooops, przepraszam, cos pomieszalem ( trygonometria w szkole byla dawno ).
Ta wersja ma poprawke, poprzednia nadaje sie do kosza. Sprobuj jeszcze raz.
http://www.screencast.com/users/jarek/folders/Jing/media/9c3f2177-4629-4295-b0c1-9fae3881dfe0
-
No tak, ale to działa w określonych przypadkach
1. "Krzywe" muszą być prostymi
2. Muszą się przecinać
3. Musi być wrysowana przeciwprostokątna
A jak by tak napisać coś takiego co znajduje wspólne punkty pomiędzy zbiorem punktów równo oddalonych od danej prostej a drugą prostą? Połączenie takiego punktu wspólnego wektorem prostopadłym do danej prostej jest już raczej mało skomplikowane.
Generalnie to wyglądało by to tak jak na zrzucie, a pisząc prościej znajdujemy taki odcinek robiąc:
1. "pipe" do okoła prostej lub krzywej do której ma być prostopadły szukany odcinek o promieniu długości szukanego odcinka
2. Znajdujemy punkty wspólne pipe'u i drugiej prostej/krzywej ("object intersection")
3. z powstałego punktu prowadzimy odcinek prostopadle do naszej pierwszej krzywej/prostej ("Line/Perpendicular tu Curve")
no i mamy
na płaszczyźnie jest to jeszcze prostsze, bo nie tworzymy "pipe", tylko wystarczy zwykły offset o wielkości szukanego odcinka, i z punktu w którym przetną się dwie krzywe prowadzimy prostopadłą do naszego odcinka.
Sprawa by się troszkę skomplikowała jeśli byśmy szukali odcinka o określonej długości, ale nie koniecznie prostopadłego. Ale to tylko dla tego, że takich odcinków mogło by być więcej.
-
Super, wszystko działa, dokładnie o to mi chodziło (http://www.forum.armacenter.pl/images/smiles/icon_usmiech.GIF)
jeśli tylko dane nam będzie kiedyś się spotkać, masz u mnie browar... opcjonalnie mogę pocztą przesłać (http://www.forum.armacenter.pl/images/smiles/icon_rotfl2.gif)
-
HAV - ciesze sie, ze o to Ci chodzilo. A borwar to przy okazji jakiegos zlotu fanow Rhino w Polsce :-)
botak - to juz troche inna bajka, tez sie pewnie da, ale problem ze zrozumieniem o co chodzi chyba wynika z tego, ze HAV piszac o liniach pisal 'krzywe' a Ty o dowolnych krzywych 'proste' itp. W przypadku Rhino, ktore 'Curves' to maga byc Linie, Polilinie, Krzywe NURBS, Krzywe Bezier itd. Mozna sie troche pogubic...
-
jak najbardziej masz racje
-
chlopaki, wlasnie organizuje cos takiego, ale sam nie daje rady, osoby chetne w pomocy, niech zglosza sie na priva
-
A tak jeszcze przy okazji - Jarek, możliwe jest zaadaptowanie takiego skryptu, gdy jedna/obie krzywe są wrysowane jako Control Point Curve, łuk, wycinek koła etc. (załóżmy, że nadal się przecinają)?
prawdę mówiąc, trochę zmęczony jestem i sam już nie wiem, czy botak właśnie o tym nie pisał wyżej (http://www.forum.armacenter.pl/images/smiles/jezor2.gif)
-
Offtopic:
chlopaki, wlasnie organizuje cos takiego, ale sam nie daje rady, osoby chetne w pomocy, niech zglosza sie na priva
Może lepiej najpierw sprawdzić ilość wstępnie zainteresowanych?
-
HAV - niestety poprzedni skrypt dziala tylko na liniach prostych i nie da sie go latwo zaadaptowac do dowolnych krzywych.
W tym przypadku jest mozliwych duzo wariantow ( brak odcinkow o zadanej odleglosci, jeden, kilka, albo nieskonczenie wiele na odcinkach gdzie dwie krzywe sa rownloegle do siebie i dzieli je zadana odleglosc ). Napisanie czegos takiego byloby mozliwe, ale zajeloby pewnie z dzien.
Zamiast tego, metoda ktora zaproponowal botak sprawdza sie swietnie:
http://www.screencast.com/users/jarek/folders/Jing/media/17500a4b-4af7-4493-a7c4-cebc65d7b409
dopisalem tylko maly kawalek skryptu ktory punkty przeciecia "pipe" laczy hurtem z zadana krzywa ( w zalaczniku ).
-
Dobra, przeczytałem raz jeszcze na spokojnie... dzięki Ci Jarek za skrypcik i Tobie botak za 'pomysła' (http://www.forum.armacenter.pl/images/smiles/icon_usmiech.GIF)