WorldViz User Forum sequence
 Register FAQ Search Today's Posts Mark Forums Read

#1
10-16-2007, 08:08 AM
 jaclyn.bill Member Join Date: Oct 2007 Posts: 42
sequence

hi,

I'm new to vizard and need to solve what is possibly a silly problem.

I'm hoping to create stimuli for an experiement in which a series of ball travel towards the viewer, disappear, reappear at the beginning and travel towards the viewer again- multiple times with varying speed and distance etc.

The code below carries this out fine. I'm running into trouble with my "for" function however. I would like it to run for x=1, m=.5 then x=-1, m=-.5 etc. (in the example below) so that the for functions run parallel. However, as it stands it runs 2 x=1 (for m= .5 then -.5) then 2 x = -1 (for m=.5 then m = -.5) etc. Is there any way to get these for sequences to run parallel so that the stimuli don't get presented in blocks?

I would appreciate any comments on this.

Thank you.

Jaclyn.

mport viz
import vizact
import vizmat
from random import random
import time
import math

viz.go()

Start_Z = 100.0
Stop_Z = 10.0
s = 100.0
d = Start_Z-Stop_Z
t = d/s
Spin = 150.0
Angle = Spin*t

viz.move(0,0,0)## sets viewpoint at z meters away
#gball.setPosition (0,0,0) ####sets object position if do not want the Start_Z
viz.eyeheight(0) ####sets eye height, default is 1.82 (6ft)

gball.translate(0,0,0)####sets object position

for x in [1, -1, 0]:

for m in [.5, -.5, -.2]:

moveForward=vizact.goto(x,0,Stop_Z,.8+m,viz.TIME)
#moveForward=vizact.goto(x,0,Stop_Z,.8+m,viz.SPEED )
moveStart=vizact.goto(0,0,Start_Z,0.01,viz.TIME)
moveOut=vizact.goto(0,0,-1000,0.001,viz.TIME)
wait1 = vizact.waittime(0.5)
wait2 = vizact.waittime(5)
motionseq=vizact.sequence(moveStart,wait1,moveForw ard,moveOut,wait2,moveStart,wait1)
#2
10-16-2007, 02:28 PM
 farshizzo WorldViz Team Member Join Date: Mar 2003 Posts: 2,849
Can you please repost your code using the [code][/code] tags. It preserves the formatting and makes the code easier to understand.
#3
10-17-2007, 01:28 AM
 jaclyn.bill Member Join Date: Oct 2007 Posts: 42
repost

sorry about that, here's the code again

Code:
```#### x left and right stop position
##### d = distance
##### s = speed
#### t = time

#### m randomisation factors for time

import viz
import vizact
import vizmat
from random import random
import time
import math

viz.go()

Start_Z = 100
Stop_Z = 10.0
s = 100.0
d = Start_Z-Stop_Z
t = d/s
Spin = 150.0
Angle = Spin*t

viz.move(0,0,0)## sets viewpoint at z meters away
#gball.setPosition (0,0,0) ####sets object position if do not want the Start_Z
viz.eyeheight(0)

#gball.translate(0,0,0)####sets object position

for x in [1, -1, 0]: #######will be -4 - 4 in .2 increments

for m in [.5, -.5, -2]:

moveForward=vizact.goto(x,-10,Stop_Z,.8+m,viz.TIME)
moveStart=vizact.goto(0,0,Start_Z,0.01,viz.TIME)
moveOut=vizact.goto(0,0,-1000,0.001,viz.TIME)
wait1 = vizact.waittime(0.5)
wait2 = vizact.waittime(5)
motionseq=vizact.sequence(moveStart,wait1,moveForward,moveOut,wait2,moveStart,wait1)
#4
10-18-2007, 08:19 AM
 jaclyn.bill Member Join Date: Oct 2007 Posts: 42
done

Done, I was being a bit stupid!

 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

All times are GMT -7. The time now is 08:45 PM.