Thread: Stickydots
View Single Post
  #5  
Old 01-20-2009, 03:59 AM
jaclyn.bill jaclyn.bill is offline
Member
 
Join Date: Oct 2007
Posts: 42
Hi,

Thanks, this has been really useful. I was just wondering however, if there is some command which resets to the orignal vertex values in the code.

The relevant section is here

HTML Code:
# for backward trials
			if Mot_sel < 2:
				R_spd = 0.0
				Z_spd = 0.0
				L_spd = 0.0
				ball1.clearAttribute(viz.ATTR_VERTEXPROGRAM,op=viz.OP_OVERRIDE)
#			# for rotation trial
			if Mot_sel == 2:
				Z_spd = 0.0
				L_spd = 0.0
				B_spd = 0.0
				Z_st = Z_pos[0,0]
				X_off = Side_id*X_offset[0,0]
				####Create random dot motion
				ball1.dynamic()
				def mytimer(num):
						#Change the position of a vertex
							for i in range (0, NUM_DOTS):
								x = random.random() - 0.5
								y = random.random() - 0.5
								z = random.random() - 0
								length = math.sqrt(x*x + y*y + z*z)
								x = x / length * RADIUS
								y = y / length * RADIUS
								z = z / length * RADIUS
								ball1.setVertex(i,x,y,z)
				viz.callback(viz.TIMER_EVENT,mytimer)
				viz.starttimer(0,0.2,viz.FOREVER)
				
So for mot_sel == 2 trials I have managed to create randomly moving dots withing a flatten ball (setting z to 0) for the mot_sel < 2 trails I want to reset the balls back to being spherical. Inserting the orignal dotball code at this point gives me a timing error for my trails. Is there a less computationally demanding way of doing this. I've tried some clearAttribute functions but not sure if I'm selecting the right command as I can't find much on these in the vizard help section.

My entire code is too long to post. Let me know if this would be useful for you.

Thank you.

Best, JB
Reply With Quote