WorldViz User Forum Unable to perform 360 rotation using vizact.spinto
 Register FAQ Search Today's Posts Mark Forums Read

#1
09-28-2009, 04:11 PM
 vijaykiran Member Join Date: Sep 2009 Posts: 13
Unable to perform 360 rotation using vizact.spinto

Hello,

I am trying to make an object perform a single spin action for 360 degrees followed by a forward motion. The following piece of code doesn't seem to help and the object just stays put.

Code:
```model = viz.add('object.ive')
spinToYaw = vizact.spinto([0,1,0, 360], 50)
moveForward = vizact.move([0,0,4], 5)

I am however able to get up to 180 degrees of rotation with:
Code:
`spinToYaw = vizact.spinto([0,1,0, 180], 50)`

Any more than 180 degrees spins the object in the opposite direction:
Code:
`spinToYaw = vizact.spinto([0,1,0, 181], 50)`

To perform a 360 degree rotation, I thought i could get lucky if I run yaw actions two times using:
Code:
```spinToYaw = vizact.spinto([0,1,0, 180], 50)
...
The above did nothing but rotate the model by 180 degrees and then immediately moved forward as defined in
Code:
`moveForward`
action. The second call to
Code:
`model.addAction( spinToYaw )`
did not make any difference.

On the other hand, if I have a different axis for spinto as in the code below:
Code:
```spinToYaw = vizact.spinto([0,1,0, 180], 50)
spinToRoll = vizact.spinto([0,0,1, 180], 50)
...
So, here are my two questions:

1) I get a 180 degree yaw, followed by 180 degree roll and then forward movement. If this logic works, then shouldn't two 180 degree yaws work as a 360 degree rotation ?

2) If there is a reason why two 180 degree yaws will not equal to a 360 degree rotation, what do I need to do to obtain just one single 360 degree rotation followed by another action. I do not want to use viz.FOREVER because it will keep on spinning the model.

Thanks,
Vijay.
#2
09-28-2009, 04:26 PM
 farshizzo WorldViz Team Member Join Date: Mar 2003 Posts: 2,849
The vizact.spinto action will take the shortest path to reach the target orientation. If you are turning 360 degrees, then the shortest path is to do nothing.

Instead, use the vizact.spin action and calculate the duration and speed so the end result is 360 degrees ( speed * duration = 360 ).
#3
09-29-2009, 08:39 AM
 vijaykiran Member Join Date: Sep 2009 Posts: 13
Thanks farshizzo. That was what I was looking for.

 Thread Tools Display Modes Rate This Thread Linear Mode Rate This Thread: 5 : Excellent 4 : Good 3 : Average 2 : Bad 1 : Terrible

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is Off Forum Rules
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Announcements Vizard Precision Position Tracker (PPT) Plug-in development

 Similar Threads Thread Thread Starter Forum Replies Last Post VAmanda Vizard 3 09-21-2005 04:57 PM vjonshih Vizard 8 11-30-2004 04:08 PM tavaksai Vizard 1 08-03-2004 01:40 PM

All times are GMT -7. The time now is 07:46 AM.