etyr11 Napisano 25 Luty 2006 Napisano 25 Luty 2006 Przynajmniej tak mi sie wydaje, ze chodzi o to. Chcialbym obracac boxem w 2 plaszczyznach. I tutaj oto powstaje problem przy obrocie w plaszczyznie pionowej. O ile wszystko dziala poprawnie gdy nie uzyjemy obrotu 1 to juz przestaje. tzn obraca sie wedlug tej samej osi obrotu. chcialbym zeby os obrotu zmieniala sie w zaleznosci od kata obrotu w plaszczyznie poziomej. Ponizej zamieszczam kod, ktory wyjasni troche o co mi chodzi. Trudno opisac mi ten problem, mam nadzieje, ze bedzie to zrozumiale. Prosze o pomoc. rollout obrot "obrot boxa" ( button z1 " obrot" button z2 " obrot2" spinner kat "wartosc kata" range:[0,360,45] type:#integer on z1 pressed do ((select $'box01') for i = 0 to kat.value-1 do ( sleep 0.001 rotate $ (angleaxis 1[0,0,1]) completeRedraw() ) ) on z2 pressed do ( (select $'box01') for i = 0 to kat.value-1 do ( sleep 0.001 rotate $ (angleaxis 1[0,1,0]) completeRedraw() ) ) ) box() CreateDialog obrot width:200 height:90
etyr11 Napisano 25 Luty 2006 Autor Napisano 25 Luty 2006 Dopisze jeszcze,ze problem rozwiazuje wybranie opcji Local w reference coordinate system i obrocenie tego recznie za pomoca rotate. wtedy os obrotu ustawia sie odpowiednio. Ale jak to mozna zrobic za pomoca skryptu?
lechoo Napisano 26 Luty 2006 Napisano 26 Luty 2006 Jesli dobrze zrozumialem w czym lezy problem to wystarczy dodac in coordsys local przed rotate. Wtedy obrot bedzie wykonywany w lokalnym ukladzie wspolrzednych boxa.
etyr11 Napisano 26 Luty 2006 Autor Napisano 26 Luty 2006 Dzieki lechoo bardzo dobrze zrozumiales. Wlasnie przed chwila tez na to wpadlem. Ale dzieki bardzo i tak za odpowiedz. Pozdrawiam.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się