PDA

View Full Version : Mathing Dates, Zodiac Signs, Phases of the Moon



Tinkermancer
2019-10-12, 02:29 PM
Hello and thank you for stopping by!

In my custom setting, I've designed a custom zodiac system, moon phases, seasons, and calendar system. What I'd like to be able to do, is to have an equation that I could plug in today's date, plug in a character's birthday, and figure out what their zodiac was, the day of the week, and what the moon phase was for that day. If I give you all the pertinent information, can someone help me build this equation?

There are 270 days in a year. Each month is 27 days long. There are six days in a week.

The moon has a 16 day phase schedule (New to Waxing to full to waning ect.), and a 30 day energy schedule, where it rotates through 6 different elemental energies for 5 days each.

The Zodiac System has a 160 day rotating schedule.

I'm PROBABLY asking for a lot here, but I don't have the math background necessary to figure this out without MANY MANY hours of grinding away. I've seen some of the things this community is capable of, and I'm sure someone here can help me make this easy. Thank you in advance!

Feddlefew
2019-10-12, 07:07 PM
First, let's get a calendar set up. (https://donjon.bin.sh/fantasy/calendar/)

Now, how much zodiac info do you want?

Edit: I'd recommend creating a second "moon" to track the energy phase, BTW.

1of3
2019-10-13, 07:08 AM
I have made a little a programming library (https://github.com/Holothuroid/Covella) that can probably do what you want, if you define your calendar and run it. With the information you have already provided, it would look like so:



object TinkermancersCalendricStuff {

val days = AtomicDays.days // assuming you do not want hours or other subdivisions for your days

val months = 'month is (days,27) withOffset 1 // assuming you want to count days in month from 1, not 0

val years = 'year is (months,10) withOffset 1
private val yearCalendar = Calendar(year)

val weeks = 'week is (days,6) withOffset 1
private val weekCalendar = Calendar(weeks)

val moon = Satellites.make( satelliteName = "moon", cycleLength = 16, baseUnit = days, remainsNotable = 1.0 )
private val moonCalendar = Calendar(moon)

val elementalDays = 'elementalDay is (days,5) withOffset 1
val energies = elementalDays withNames ("fire","earth","water","wind") // correct for your elements
private val energeticCalendar = Calendar(energies)

val zodiacDays = 'zodiacDay is (days,160)
private val zodiacCalendar = Calendar(zodiacDays)

val calendar = yearCalendar synchronise weekCalendar synchronise moonCalendar synchronise energeticCalendar synchronise zodiacCalendar
// this assumes all calendars in this system start in sync at the beginning of year 0. You can define proper synchronisation points through the .setTimeStampZero method on Calendar objects.

}

jayem
2019-10-13, 12:10 PM
And for the when you don't want to get out the calculator no calculator stuff.
There are of course 10.0 'months', and 45.0 weeks in the year. And 4.5 weeks in a month.

Odd "Months*" always go Mon 1, Tue Wed.., Mon 7, Mon 13, Mon 19, Mon 25 Tue 26, Wed 27
Even Months always go Thur 1, Fri Sat.., Thur 7, Fri 13, Sat 19, Thur 25 Fri 26, Sat 27

The energy system has a 5.00 week schedule and so in any year the following Mondays are the same point
Jan 1st, Feb 4th, Mar 7th, Apr 10th, May 13th, June 16th, July 19th, Aug 22nd, Sept 25th,
(the elements don't line up nicely with the days though)

There are also 10 lunar months in a zodiac** year. The moons phases don't beat nicely to anything else.

The Solar and Zodiac line up every 16 Solar years (27 Zodiac years).
The calendar month and lunar month have the same ratio (I.E every 16 months the moon is in the same phase, the 27th full moon is on the same month day as the 1st)

______
After church, if no-one else has will look into writing out the formulae (they will be fairly simple). Multiply out to get universal day, then divide back down to get what you want and take remainder.

Also there are a few things that seem psychologically unlikely with the native system *, ** (but the Romans got by with a crap calender till Julius, so who can tell)
It seems off to have Months not tied to anything. Similarly weeks just offset from elemental phases unlikely.
While having the Zodiac year not (about) the same as the Seasonal year seems quite physically unlikely (although possibly with a giant planet to skew the orbit?), and having the calender year not related to either...

__________________________________________________ _____
(assuming everything is aligned on day '0')

EpochTime (year, month, day) = year * 270 + month*27 +day
EpochTime (year, week, day) = year * 270 + week*6 +day
EpochTime (cycles, phases, day) = cycles * 160 + phases * 16 + day
EpochTime (year, energies, element, day) = year * 270 + energies * 30 +element*5+day

To go the other way, e.g. for days and months. Divide the EpochTime by [daysInAMonth].
The whole part is the number of months since the EpochTime. Subtract this, so you only have the fraction. MultiplyBackUp by [daysInAMonth] to get the [day] of the [Month].

__________________________________________________ __

The year almost consists of 17 lunar-months (2 days out).
The phases and energies coincide every 240 days. I.E if Air peaks on a full moon it will next do so 240 days away
The phases and elements every 80. I.E if any element is peaking on a full moon then the next time an element peaks on a full moon will be 80 days away
The weeks and phases coincide every 48 days

[None of these seem to leap out as particularly interesting. The fact that first and last energy cycles of the year have the same lunar-phase configuration is perhaps the start of something]

Tinkermancer
2019-10-13, 06:07 PM
Thank you to everyone who replied!
Thank you Feddlefew for introducing me to that DonJon resource. That will definitely come in handy.
Thank you to 1of3 for that programming resource. I appreciate the time you put into that!
Thank you to jayem for your break down. It helped me see my data in a new way.



Also there are a few things that seem psychologically unlikely with the native system *, ** (but the Romans got by with a crap calender till Julius, so who can tell)
It seems off to have Months not tied to anything. Similarly weeks just offset from elemental phases unlikely.
While having the Zodiac year not (about) the same as the Seasonal year seems quite physically unlikely (although possibly with a giant planet to skew the orbit?), and having the calender year not related to either...


You are not wrong about any of these things. I agree that having these things line up as they are is strange and unlikely. ;)



(assuming everything is aligned on day '0')

EpochTime (year, month, day) = year * 270 + month*27 +day
EpochTime (year, week, day) = year * 270 + week*6 +day
EpochTime (cycles, phases, day) = cycles * 160 + phases * 16 + day
EpochTime (year, energies, element, day) = year * 270 + energies * 30 +element*5+day

To go the other way, e.g. for days and months. Divide the EpochTime by [daysInAMonth].
The whole part is the number of months since the EpochTime. Subtract this, so you only have the fraction. MultiplyBackUp by [daysInAMonth] to get the [day] of the [Month].


And what if we assume it does NOT align on day 0?
For example, here are the values for the outset of the campaign.
Year 56 PSC Era
5th of the 3rd Month
Day – 1 of 6
Sign – 151 out of 160
Moon – 11 of 16 phase, 12 of 30 energy.

Does this change the outset values of your equations? For instance, can you give me an example of how, using this information, I could calculate what Year 23, 18 of the 8th month would look like across all values?

Thank you in advance for your time!

Lord Torath
2019-10-13, 08:21 PM
You can also check out the Spelljammer Orbit Tracker in the link in my signature. The Krynnspace tab tracks the phases of Krynn's three moons. Adjust the orbital period (how long it takes the moon to complete a full cycle) as desired.

jayem
2019-10-14, 05:29 PM
Thank you to everyone who replied!


And what if we assume it does NOT align on day 0?
For example, here are the values for the outset of the campaign.
Year 56 PSC Era
5th of the 3rd Month
Day – 1 of 6
Sign – 151 out of 160
Moon – 11 of 16 phase, 12 of 30 energy.



The way I'd do it ( think), other than using one of the other suggestions.

5/3/56 [UK style] comes to day 15206
If everything had the decency to start on weekday 0 (weekday 6)
Then by my reckoning day 15206 is on day 2 of week 2534. But it should be day 1 So our week calender is -1 off.
Similarly the sign is apparently on sign 6. So our sign calendar is -15 out
The Moon meanwhile is also on phase 6 So out phase calendar is 5 out
Tangent: [f one of your tribes used a lunar calendar and so day 15206 was actually 11/100 in that calendar. Which corresponds to day 100*16+11=1611. So it's actually -13595 out. Which is easy to remember if you have a motorcycle suit handy, but arguably 5 is more convenient.

Finally the Energy is on energy 26, So our energy calender is -14 out

NB you could of course do each of these by different calendar days.


As before 5/3/56 is day 15206
To find the week day we add our offset (-1) and then find the remainder when dividing by 6 daysinaweek. 1
To find the sign, we add that offset (-15) then find the remainder when dividing by 160 daysinazodiac 151
...
etc (do check I am careless)


Year 23, 18 of the 8th month [18/8/23] is day 6444
To find the week day we add our offset (-1) and then find the remainder when dividing by 6 daysinaweek. 5
To find the sign, we add that offset (-15) then find the remainder when dividing by 160 daysinazodiac 29
To find the moon ... 1
To find the energy ... 10



For the weekday we don't care about the year, and we're in an even month.
Our starting day is 13 below, and in an odd month and is 'weekday 1"
(so add 3 for the conversion from odd to even). So we need to move on 16 days (or 2 weeks 4 days) onto day 5.

For the energy, again we don't case about the year. We want to move 5 months 13 days.
So that's (-3 days/month slippage)*5 + 13 = -2
We were on energy 12. So we should be on 10

[NB this bit actually took me far longer than it should (mainly because I forgot to add the days on in the last part, so it saved some embaressment). But it is something you ought to be able to learn]