Skocz do zawartości

Rekomendowane odpowiedzi

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
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano

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

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

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ę



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności