PDA

View Full Version : Timing issue


Uttama_vizard
04-07-2008, 03:01 PM
While working with avatars moving dynamically on the virtual screen, I want to record the x,y,z coordinates of say 'head' of an avatar. For this, I am using

print "male1_head_position:", head1.getPosition(viz.AVATAR_WORLD)

This is giving me the coordinates.

In addition, I want to record the system time instantaneously, so that I can correlate the 3D coordinates of say, head of an avatar at a particular instant with some tracking data. From the "help" coming with Vizard, I am getting the elasped time, but, I am not getting the particular instant associated with a particular 3D position of an object.

Can any one suggest me a solution to this?

Thanks in advance.

Uttama

farshizzo
04-07-2008, 03:03 PM
Use viz.getFrameTime() to get the current absolute time of the frame.

Uttama_vizard
04-07-2008, 03:17 PM
Thank you so much.

But, I am getting this display as output

male1_head_position: [0.0054466063156723976, 1.7178937196731567, -1.9990379810333252]
79.6599115251
2
male1_head_position: [0.0054466063156723976, 1.7178937196731567, -1.9990379810333252]
158.816147862

'2' indicates my second looping of the program. In fact, it shows that the frame time is doubled in the second looping of the program.

What, I wanted is to display the system time in hrs:mins:secs format.

Your suggestions are very helpful.

Thanks

Uttama

farshizzo
04-07-2008, 03:30 PM
The viz.getFrameTime() function returns the current time in seconds. You can use the time module to format it for display. The following code will format the time to hrs:min:secs:import time
print time.strftime('%H:%M:%S',time.gmtime(viz.getFrameT ime()))

Uttama_vizard
04-07-2008, 03:38 PM
I am getting the output as

male1_head_position: [0.0054466063156723976, 1.7178937196731567, -1.9990379810333252]
00:01:19
2
male1_head_position: [0.0054466063156723976, 1.7178937196731567, -1.9990379810333252]
00:02:39
3

But, this is the elasped time. I wanted the system time in hrs:mins:secs format.


Thanks

Uttama

farshizzo
04-07-2008, 03:40 PM
Have a look at the Python documentation for the time module. It describes all the functionality you need. In this case you would use the time.localtime() function:time.strftime('%H:%M:%S',time.localtime() )

Uttama_vizard
04-07-2008, 03:44 PM
Your suggestions are really valuable. It works great.

Lots of thanks

Uttama