Wandering Hours

I just can’t get my head around this and I’ve given in and am asking for help. I’m trying to make a watch face with wandering hours like the Xeric Vendetta.

I have the three hour dials spinning correctly around the centre and I can get them to rotate once every hour. However, I can’t offset the other two dials so they only rotate when each one gets to the 12 o’clock position.

If you reset the clock to 12:00:00 and go back a minute you can see what I mean. Also, as a side note, I would like it if each of the dials rotated smoothly if possible (possibly using interpAccel, but haven’t tried it).

Hmmm, perhaps @bradtc can help you, he has a watch face like that:

Appreciate the reply, but it seems that watch is in the same state as mine (minus the extra fine turning mine needs to work properly as a face).
Perhaps it’s not possible then …

It does what you want, except at the golden arrow, not at 12. It does not move all 3 at the same time like yours does now.
It is very possible, it just takes some time to dive into

Hi guys! Yes, the Xeric inspired my version of the triaxial wandering hours too. It is a challenging watch to emulate, which makes it all the more fun!

I took a look at your code in inspection mode. Looks like you have 3 dials and you are trying to rotate each of them. However only the dial labelled Hour2.png is rotating.

I noticed the brackets are all messed up for the rotation field of Hour1 Hour2 & Hour3 dials as there is an extra bracket at the end of the resultant value. I added a bracket at the beginning to adjust the expressions to even the brackets out. I then get the following expressions:

hour2.png rotation:
(((#DWFMS#+180)+((#DK#+4)*270)+((floor(#Dm#/60)))*270))

hour1.png rotation:
(((#DWFMS#+60)+((#DK#+4)*270)+((floor(#Dm#/60)))*270))

hour3.png rotation:
(((#DWFMS#+300)+((#DK#*270)+((floor(#Dm#/60)*270)))))

After this I found that all dials rotated 90 degrees as the hour2.png dial hit the 12:00 position.

I did the wandering hours a bit differently. I simply made static circles that didn’t rotate - they just orbited the centre of the watch. Then I added text elements to the circles at different radii from the watch centre and called them Dial#Number# codes such as those below and rotated them appropriately relative to #DWFKS# so that they look like they are staying still. For instance the rotation field for the D1N1 text element is (4*#DWFKS#-60). D1N2 rotation is (4*#DWFKS#-150).
D1N1
D1N2
D1N3
D1N4
D2N1
D2N2
D2N3
D2N4
D3N1
D3N2
D3N3
D3N4

Then the final trick was to added text change expressions in the text fields

For D1N1 text I used:
$#DhZ#=12?12:$$#DhZ#=01?12:$$#DhZ#=02?12:$$#DhZ#=03?3:$$#DhZ#=04?3:$$#DhZ#=05?3:$$#DhZ#=06?6:$$#DhZ#=07?6:$$#DhZ#=08?6:$$#DhZ#=09?9:$$#DhZ#=10?9:$$#DhZ#=11?9:$

For D1N2:
$#DhZ#=12?9:$$#DhZ#=01?9:$$#DhZ#=02?9:$$#DhZ#=03?12:$$#DhZ#=04?12:$$#DhZ#=05?12:$$#DhZ#=06?3:$$#DhZ#=07?3:$$#DhZ#=08?3:$$#DhZ#=09?6:$$#DhZ#=10?6:$$#DhZ#=11?6:$

For D1N3:
$#DhZ#=12?6:$$#DhZ#=01?6:$$#DhZ#=02?6:$$#DhZ#=03?9:$$#DhZ#=04?9:$$#DhZ#=05?9:$$#DhZ#=06?12:$$#DhZ#=07?12:$$#DhZ#=08?12:$$#DhZ#=09?3:$$#DhZ#=10?3:$$#DhZ#=11?3:$

for D1N4:
$#DhZ#=12?3:$$#DhZ#=01?3:$$#DhZ#=02?3:$$#DhZ#=03?6:$$#DhZ#=04?6:$$#DhZ#=05?6:$$#DhZ#=06?9:$$#DhZ#=07?9:$$#DhZ#=08?9:$$#DhZ#=09?12:$$#DhZ#=10?12:$$#DhZ#=11?12:$

The remaining text fields D#N# were adjusted similarly depending on what numbers I wanted in those dials. This text substitution simulated rotating the numbers, where in reality I simply changed the values of the numbers appropriately depending upon the real #DhZ# value. Its kind of a trick.

Any way, hope this all helps!

1 Like

Oh of course, my mistake. My eyes playing tricks on me :sweat_smile:

@bradtc Thanks for your reply. Yes I added and removed brackets no end, so I’m not surprised they’re all messed up! It’s a bit awkward trying to figure out a formula in that tiny text box. Ahhh, your method is brilliant! I hadn’t even thought of doing it that way. Much appreciated :+1:

Great!

Yeah, I also tried your method of rotation of the 3 dials to no end before I gave up and went this way. I feel your pain in trying to fit everything into that little expression box! I have had expressions as long as a whole page of text trying to fit in there. It can be tough. What I usually do is have the windows notepad program open on another screen and am constantly cutting and pasting to/from notepad into that little box! I need to edit it all in one view or else I’ll go nuts! Ha ha!

1 Like

I’m not quite ready to give up. I have them all rotating and I made them rotate at 1/3 the speed, but the dials reset to their original positions on each hour, literally swap places with each other and I don’t understand why?!

Maybe I should just give up :sweat_smile:

Edit: I’m giving up for today, I’m tired :sleeping:

I think you might be able to use (#DhZ#+1) instead of #DhZ# in all the above equations to flip the numbers 1 hour earlier at the 12 o’clock position…?

I haven’t given up yet… The problem with what you had is that you are only rotating each part 1/3 of the way (you can see that clearly if you give each minute hand another color, they go back and forth between 120 degrees).
I managed to make it all go round. All I need to add now is the interpAccel


This one is showing 6:30.
Where do you want the hour to rotate (currently at 12), and where do you want the time to be displayed (currently between 12 and 4)?

2 Likes

I had a busy day today so I’ve got no further, but I’m glad to see you’ve made progress. Yes that makes sense now. Well done, top work!!

On the Xeric Vendetta there is a small pin at 12 o’clock that actually pushes the dial round as the minutes rotate, so I was going to try to achieve something like that. The time is displayed between 4 o’clock and 8 o’clock positions. Lastly on the Vendetta there is an option to switch the minutes between 3 different colour options around the watch, I wanted to implement that as well with maybe a tap, but currently I don’t have Creator Pro (maybe I’ll just make three faces different colours :stuck_out_tongue_winking_eye: )

1 Like

You legend, that’s great! How’d you do it?

I probably overestimated my skill trying to make this as my third watch face :sweat_smile:

I turned on inspection.
On my watch it does a little odd jump around due to this issue though:

Thanks for your hard work, I’m checking out your code now :+1:

I see you even got the interpAccel working, spot on!! I definitely bit off more than I could chew with this one :sweat_smile:

Going to try and break down what you’ve done and try and understand why :face_with_monocle:

I use Notepad++ which colours matching brackets; helps a lot when trying to find a missing one. :wink:

2 Likes

Ohh, that’s handy, thanks for the tip :+1:

1 Like