Skocz do zawartości

Featured Replies

Napisano

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

 

 

  • Odpowiedzi 3
  • Wyświetleń 1,8k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano
  • 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

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
  • 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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności