Napisano 25 Luty 200619 l 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
Napisano 25 Luty 200619 l Autor 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?
Napisano 26 Luty 200619 l Jesli dobrze zrozumialem w czym lezy problem to wystarczy dodac in coordsys local przed rotate. Wtedy obrot bedzie wykonywany w lokalnym ukladzie wspolrzednych boxa.
Napisano 26 Luty 200619 l Autor Dzieki lechoo bardzo dobrze zrozumiales. Wlasnie przed chwila tez na to wpadlem. Ale dzieki bardzo i tak za odpowiedz. Pozdrawiam.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto