Placement Question for Complex Rotation

I am wondering how to set an expression tag for the rotation of an image, to go around the clock face once a day, to represent the Sun, while also allowing the Sun’s face to stay level? How would I craft the x/y Placement tag expressions? Any pointer appreciated!!

SMILEY_LEVELED

1 Like

Guess I am struggling to figure out how to set a hard X/Y value for the Placement tags. I see examples where the value merely moves the image x pixels from its previous position.

In this test script for X Placement, , the image moves forwards or backwards 10 pixels, but only when the value changes from the previous push, at 15, 30, 45 and 55 seconds.

(([s]>=0)*([s]<5)*10)+
(([s]>=5)*([s]<10)*10)+
(([s]>=10)*([s]<15)*10)+
(([s]>=15)*([s]<20)*(-10))+
(([s]>=20)*([s]<25)*(-10))+
(([s]>=25)*([s]<30)*(-10))+
(([s]>=30)*([s]<35)*10)+
(([s]>=35)*([s]<40)*10)+
(([s]>=40)*([s]<45)*10)+
(([s]>=45)*([s]<50)*(-10))+
(([s]>=50)*([s]<55)*(-10))+
(([s]>=55)*([s]<=59)*10)

My take on this test is that the placement tag refers only to the image’s starting position rather than an absolute X/Y position, that the tag says “move the image 10 pixels from where it was originally set for in the design properties.”

Is there any way to set an image’s X/Y positions to absolute values?

if you would accept the movement around circle to be split into 24 fixed positions in 24h,
then you could simply center the image and let it shift placement according following formula
for x: (([H]==0)*(0)+([H]==1)*(-0.26)+([H]==2)*(-0.5)+([H]==3)*(-0.71)+([H]==4)*(-0.87)+([H]==5)*(-0.97)+([H]==6)*(-1)+([H]==7)*(-0.97)+([H]==8)*(-0.87)+([H]==9)*(-0.71)+([H]==10)*(-0.5)+([H]==11)*(-0.26)+([H]==12)*(0)+([H]==13)*(0.26)+([H]==14)*(0.5)+([H]==15)*(0.71)+([H]==16)*(0.87)+([H]==17)*(0.97)+([H]==18)*(1)+([H]==19)*(0.97)+([H]==20)*(0.87)+([H]==21)*(0.71)+([H]==22)*(0.5)+([H]==23)*(0.26))*RADIUS in pixels
for y: (([H]==0)*(1)+([H]==1)*(0.97)+([H]==2)*(0.87)+([H]==3)*(0.71)+([H]==4)*(0.5)+([H]==5)*(0.26)+([H]==6)*(0)+([H]==7)*(-0.26)+([H]==8)*(-0.5)+([H]==9)*(-0.71)+([H]==10)*(-0.87)+([H]==11)*(-0.97)+([H]==12)*(-1)+([H]==13)*(-0.97)+([H]==14)*(-0.87)+([H]==15)*(-0.71)+([H]==16)*(-0.5)+([H]==17)*(-0.26)+([H]==18)*(0)+([H]==19)*(0.26)+([H]==20)*(0.5)+([H]==21)*(0.71)+([H]==22)*(0.87)+([H]==23)*(0.97))*RADIUS in pixels

1 Like

Excellent! Thanks again, Peter!

I was able to get the placement every 20 minutes by expanding on your hourly formula, for a smoother transition of time . . . Thanks again!

Here’s the X placement:

((([H]==0)*([m]<=20))*(0)+
(([H]==0)*([m]>20)*([m]<40))*(-0.09)+
(([H]==0)*([m]>=40))*(-0.18)+
(([H]==1)*([m]<=20))*(-0.26)+
(([H]==1)*([m]>20)*([m]<40))*(-0.34)+
(([H]==1)*([m]>=40))*(-0.42)+
(([H]==2)*([m]<=20))*(-0.5)+
(([H]==2)*([m]>20)*([m]<40))*(-0.57)+
(([H]==2)*([m]>=40))*(-0.64)+
(([H]==3)*([m]<=20))*(-0.71)+
(([H]==3)*([m]>20)*([m]<40))*(-0.76)+
(([H]==3)*([m]>=40))*(-0.81)+
(([H]==4)*([m]<=20))*(-0.87)+
(([H]==4)*([m]>20)*([m]<40))*(-0.9)+
(([H]==4)*([m]>=40))*(-0.93)+
(([H]==5)*([m]<=20))*(-0.97)+
(([H]==5)*([m]>20)*([m]<40))*(-0.98)+
(([H]==5)*([m]>=40))*(-0.99)+
(([H]==6)*([m]<=20))*(-1)+
(([H]==6)*([m]>20)*([m]<40))*(-0.99)+
(([H]==6)*([m]>=40))*(-0.98)+
(([H]==7)*([m]<=20))*(-0.97)+
(([H]==7)*([m]>20)*([m]<40))*(-0.93)+
(([H]==7)*([m]>=40))*(-0.9)+
(([H]==8)*([m]<=20))*(-0.87)+
(([H]==8)*([m]>20)*([m]<40))*(-0.81)+
(([H]==8)*([m]>=40))*(-0.76)+
(([H]==9)*([m]<=20))*(-0.71)+
(([H]==9)*([m]>20)*([m]<40))*(-0.64)+
(([H]==9)*([m]>=40))*(-0.57)+
(([H]==10)*([m]<=20))*(-0.5)+
(([H]==10)*([m]>20)*([m]<40))*(-0.42)+
(([H]==10)*([m]>=40))*(-0.34)+
(([H]==11)*([m]<=20))*(-0.26)+
(([H]==11)*([m]>20)*([m]<40))*(-0.18)+
(([H]==11)*([m]>=40))*(-0.09)+
(([H]==12)*([m]<=20))*(0)+
(([H]==12)*([m]>20)*([m]<40))*(0.09)+
(([H]==12)*([m]>=40))*(0.18)+
(([H]==13)*([m]<=20))*(0.26)+
(([H]==13)*([m]>20)*([m]<40))*(0.34)+
(([H]==13)*([m]>=40))*(0.42)+
(([H]==14)*([m]<=20))*(0.5)+
(([H]==14)*([m]>20)*([m]<40))*(0.57)+
(([H]==14)*([m]>=40))*(0.64)+
(([H]==15)*([m]<=20))*(0.71)+
(([H]==15)*([m]>20)*([m]<40))*(0.76)+
(([H]==15)*([m]>=40))*(0.82)+
(([H]==16)*([m]<=20))*(0.87)+
(([H]==16)*([m]>20)*([m]<40))*(0.9)+
(([H]==16)*([m]>=40))*(0.93)+
(([H]==17)*([m]<=20))*(0.97)+
(([H]==17)*([m]>20)*([m]<40))*(0.98)+
(([H]==17)*([m]>=40))*(0.99)+
(([H]==18)*([m]<=20))*(1)+
(([H]==18)*([m]>20)*([m]<40))*(0.99)+
(([H]==18)*([m]>=40))*(0.98)+
(([H]==19)*([m]<=20))*(0.97)+
(([H]==19)*([m]>20)*([m]<40))*(0.94)+
(([H]==19)*([m]>=40))*(0.91)+
(([H]==20)*([m]<=20))*(0.87)+
(([H]==20)*([m]>20)*([m]<40))*(0.82)+
(([H]==20)*([m]>=40))*(0.76)+
(([H]==21)*([m]<=20))*(0.71)+
(([H]==21)*([m]>20)*([m]<40))*(0.64)+
(([H]==21)*([m]>=40))*(0.57)+
(([H]==22)*([m]<=20))*(0.5)+
(([H]==22)*([m]>20)*([m]<40))*(0.42)+
(([H]==22)*([m]>=40))*(0.34)+
(([H]==23)*([m]<=20))*(0.26)+
(([H]==23)*([m]>20)*([m]<40))*(0.18)+
(([H]==23)*([m]>=40))*(0.09))*RADIUS in pixels
1 Like

I’m glad you could work with it further.
I hope the length of the formula does not cause any trouble on the watch.

HI Peter

Is there a way to set [m] (minutes) to rotate every 6 degrees per minute

Hi Johan, sure, just to rotate is easy, like [m] *6
To orbit is more tedious expression. I don’t have my Excel file at hand right now. Which one you actually wanted?

Hi Peter

I have been playing around with the Tag expressions last night and I managed to work it out, sorry to have asked before I tried myself, what I wanted to do was have my Week day display as my Minute, my Month as my Hour, and my Seconds as the day of the month, im so happy

Thank you for assisting.

1 Like

Hi.
How did you do it please

Going by what Peter posted, I was able to figure out how to do it for the seconds so I’m going to post it in case anyone is interested.

Seconds
X:

(([s]==0)*(0)+([s]==1)*(-0.1045)+([s]==2)*(-0.2079)+([s]==3)*(-0.3090)+([s]==4)*(-0.4067)+([s]==5)*(-0.5)+([s]==6)*(-0.5878)+([s]==7)*(-0.6691)+([s]==8)*(-0.7431)+([s]==9)*(-0.8090)+([s]==10)*(-0.8660)+([s]==11)*(-0.9135)+([s]==12)*(-0.9511)+([s]==13)*(-0.9781)+([s]==14)*(-0.9945)+([s]==15)*(-1)+([s]==16)*(-0.9945)+([s]==17)*(-0.9781)+([s]==18)*(-0.9511)+([s]==19)*(-0.9135)+([s]==20)*(-0.8660)+([s]==21)*(-0.8090)+([s]==22)*(-0.7431)+([s]==23)*(-0.6691)+([s]==24)*(-0.5878)+([s]==25)*(-0.5)+([s]==26)*(-0.4067)+([s]==27)*(-0.3090)+([s]==28)*(-0.2079)+([s]==29)*(-0.1045)+([s]==30)*(0)+([s]==31)*(0.1045)+([s]==32)*(0.2079)+([s]==33)*(0.3090)+([s]==34)*(0.4067)+([s]==35)*(0.5)+([s]==36)*(0.5878)+([s]==37)*(0.6691)+([s]==38)*(0.7431)+([s]==39)*(0.8090)+([s]==40)*(0.8660)+([s]==41)*(0.9135)+([s]==42)*(0.9511)+([s]==43)*(0.9781)+([s]==44)*(0.9945)+([s]==45)*(1)+([s]==46)*(0.9945)+([s]==47)*(0.9781)+([s]==48)*(0.9511)+([s]==49)*(0.9135)+([s]==50)*(0.8660)+([s]==51)*(0.8090)+([s]==52)*(0.7431)+([s]==53)*(0.6691)+([s]==54)*(0.5878)+([s]==55)*(0.5)+([s]==56)*(0.4067)+([s]==57)*(0.3090)+([s]==58)*(0.2079)+([s]==59)*(0.1045))*-160

Y:

(([s]==0)*(1)+([s]==1)*(0.9945)+([s]==2)*(0.9781)+([s]==3)*(0.9511)+([s]==4)*(0.9135)+([s]==5)*(0.8660)+([s]==6)*(0.8090)+([s]==7)*(0.7431)+([s]==8)*(0.6691)+([s]==9)*(0.5878)+([s]==10)*(0.5)+([s]==11)*(0.4067)+([s]==12)*(0.3090)+([s]==13)*(0.2079)+([s]==14)*(0.1045)+([s]==15)*(0)+([s]==16)*(-0.1045)+([s]==17)*(-0.2079)+([s]==18)*(-0.3090)+([s]==19)*(-0.4067)+([s]==20)*(-0.5)+([s]==21)*(-0.5878)+([s]==22)*(-0.6691)+([s]==23)*(-0.7431)+([s]==24)*(-0.8090)+([s]==25)*(-0.8660)+([s]==26)*(-0.9135)+([s]==27)*(-0.9511)+([s]==28)*(-0.9781)+([s]==29)*(-0.9945)+([s]==30)*(-1)+([s]==31)*(-0.9945)+([s]==32)*(-0.9781)+([s]==33)*(-0.9511)+([s]==34)*(-0.9135)+([s]==35)*(-0.8660)+([s]==36)*(-0.8090)+([s]==37)*(-0.7431)+([s]==38)*(-0.6691)+([s]==39)*(-0.5878)+([s]==40)*(-0.5)+([s]==41)*(-0.4067)+([s]==42)*(-0.3090)+([s]==43)*(-0.2079)+([s]==44)*(-0.1045)+([s]==45)*(0)+([s]==46)*(0.1045)+([s]==47)*(0.2079)+([s]==48)*(0.3090)+([s]==49)*(0.4067)+([s]==50)*(0.5)+([s]==51)*(0.5878)+([s]==52)*(0.6691)+([s]==53)*(0.7431)+([s]==54)*(0.8090)+([s]==55)*(0.8660)+([s]==56)*(0.9135)+([s]==57)*(0.9511)+([s]==58)*(0.9781)+([s]==59)*(0.9945))*-160

the -160 is the radius so it changes depending how big is the image or text and how close you want the image or text to be from the center of the watch-face.

Rotation
Angle:
[s]*6

you can also select in the movement effect drop-down whether you want normal or sweep mode.

if you want it for the minutes, it is the same as the seconds you just have to change all the [s] to [m]

1 Like