Need some math help on rotation syncronisation

Please check anj‍ - Upsilon Rotate - watch face for Apple Watch, Samsung Gear S3, Huawei Watch, and more - Facer . What I try to accomplish is to synchronization the rotation of the Mondphase mask with the shape below without rotation the mask itself. I cannot get them to align one is always faster then the other… Also, even though I used the tag for smooth movement is is stepping …

OK, I have overcome the first challenge. I managed to sync the Moon-phase mask with the rotation of the shape below. Now, the next challenge is to get the other 2 holes filled the same way. I need some help to get the offset of 120° and 240° done.
Any help is appreciated…

1 Like

What formulae are you using?

BTW: You should use a double line ‘||’ (for 12) on your (moving) clock face.

Zodiak:

x-position: (160+(sin((60.05-#DWFMS#))*93))
y-position: (160+(cos((60.05-#DWFMS#))*93))
Rotation: -(((((#DM#+(clamp((#Dd#-19),0,1)))/12)*360)+180)-170)

Time:
x-position: (160+(sin((370.1-#DWFMS#))*93))
y-position: (160+(cos((370.1-#DWFMS#))*93))
Rotation: 0
Pointers will have the same x and y position as the dial has but rotation will be for minutes ahd hours

Moon Phase:
x-position: (160+(cos(#DWFMS#)93))
y-position: (160+(sin(#DWFMS#)93))
Rotation: (156+(((((((#DD#86400)+(#Dy#31557600))-((29286400)+(201731557600)))/(29.5530588853
86400))-floor(((((#DD#86400)+(#Dy#31557600))-((29286400)+(201731557600)))/(29.5530588853
86400))))*180)+20))

Zodiak - rotation:

-(((((#DM#+(clamp((#Dd#-19),0,1)))/12)*360)+180)-170)

simplified to …

((((#DM#+(clamp((#Dd#-19),0,1)))/-12)*360)+180-170)

Moon Phase - rotation:

(156+(((((((#DD#86400)+(#Dy#31557600))-((292*86400)+(2017*31557600)))/(29.5530588853*86400))-floor(((((#DD#86400)+(#Dy#31557600))-((292*86400)+(2017*31557600)))/(29.5530588853*86400))))*180)+20))

which is the same as …

(((((((#Dy#*365.25)+#DD#)-((2017*365.25)+292))*86400)%29.5306)*180)+156+20)

Instead, using better maths:

  • base date: J1721059.5 (1BCE-01-03 00:00:00.0 UTC)
  • lunar epoch: J2458046.300694 (2017-10-19 19:13:00.0 UTC) 2017, day 292, 07:13pm

moon age: (##.## days) ‘simplex method’ (same as you were using)

(floor((((1721059.5+floor(#Dy#*365.2425)+#DD#+((#DH#*3600+#Dm#*60+#Ds#)/86400))-2458046.3007)%29.5306)*100)/100) days

moon mask:

(round((((1721059.5+floor(#Dy#*365.2425)+#DD#+((#DH#*3600+#Dm#*60+#Ds#)/86400))-2458046.3007)%29.5306)*6.0954)+176)

What is the 176 degree correction?


UPDATE:

Use this instead for ‘moon age’ and ‘moon mask’:

(floor(((#DNOW#/8.64e7-6.8583)%29.5306)*100)/100) days

(floor(((#DNOW#/8.64e7-6.8583)%29.5306)*6.0954)+176)

see: [SOLVED] How To Tag Moon Phase Today Rotation

I appreciate your math-help for the moon phase. I have updated the face with your proposed statement and it works as expected.
Regarding the 176 degree correction, I am not sure regarding the correction. I went back to the design and could not find the statement above. I could think that this is a correction to start the image at the correct angle (i.e. if the sun is not on to in the image but rotated a little to the left).

Now, the real problem for me was not the moon phase or zodiac rotation. The problem was to sync the dials with the anker and to get the smooth rotation working (which it still doesn’t). Synchronizing works at this point but still not to my satisfaction. I would like the anker rotation go at the same speed as the seconds, but then I did not find a way to keep the dials positioned at the same speed. I think my sin and cos calcs are off…

Rotation was not going to work with your formulae. You were getting a full rotation in 22 seconds, not 60, and were using the rotation value for the ‘minute hand’.

Here it is corrected:

#DWFMS# :: 0..359.9999 degrees, full rotation in 3600s
#DWFSS# :: 0..359.9999 degrees, full rotation in 60s

sin() :: Sine value for degrees, for angular geometry

rad()::  degrees to radians ( rad(180) = 3.1415 ), for circular geometry

Zodiak: (offset by 1/3 rotation)

x-position:

(160+sin(-rad(#DWFSS#+120))*93)

y-position:

(160+cos(-rad(#DWFSS#+120))*93)

Time: (offset by 2/3 rotation)

x-position:

(160+sin(-rad(#DWFSS#+240))*93)

y-position:

(160+cos(-rad(#DWFSS#+240))*93)

Moon Phase: (no offset, to rotation)

x-position:

(160+sin(-rad(#DWFSS#))*93)

y-position:

(160+cos(-rad(#DWFSS#))*93)

That worked out perfectly. updated the face with your formulas and credited you for your help in the description.

here the new version, hope you like it …

2 Likes

Wow… smart design

Thanks, there is also a different version with a magnifying glass on the seconds

Nice design! Very clean, yet not lacking in information. Awesome design job. Thanks!