Ero sivun ”Keskustelu mallineesta:Qvaih” versioiden välillä

Kotivalosta
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
pEi muokkausyhteenvetoa
 
(11 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
{{qvaih|4564|1|13}}
Kotivalon kuiden vaiheiden laskenta. <nowiki>{{1}} = vuosi, {{2}} = kuukausi, {{3}} = päivä.</nowiki>
 
Daran ja Mang olivat molemmat täysiä 13.1.4564. Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.
 
On yksinkertaisinta laskea kuiden vaiheiden vuosikohtaiset päivät muualla ja panna ne muuttujiin.
 
Kummankin kuun vaiheille lienee joku yhden rivin laskukaava kun otetaan vuosi, kuukausi ja päivä. Wikin matematiikkafunktiot eivät ehkä riitä mutta php:llä ne saisi. Alla on huono "brute force" -ratkaisu.
 
<pre>
<nowiki>
<?php
//Kotivalon kuiden vaiheiden laskenta.
//Daran ja Mang olivat molemmat täysiä 13.1.4564.
//Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.
 
function kuuhullu() {
    global $daran, $mang, $dd, $kk;
 
    //Täysi
    if ($daran==31) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}'; $daran = 0; }
    if ($mang==29) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}'; $mang = 0; }
 
    //Viimeinen neljännes
    if ($kk%2!=0) $dmod=7; else $dmod=8;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9681;</span>}}';
    if ($kk%2!=0) $dmod=7; else $dmod=8;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9681;</span>|}}';
 
    //Uusi
    if ($kk%2!=0) $dmod=15; else $dmod=16;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9677;</span>}}';
    if ($kk%2!=0) $dmod=14; else $dmod=15;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9677;</span>|}}';
 
    //1. Neljännes
    if ($kk%2!=0) $dmod=22; else $dmod=23;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9680;</span>}}';
    if ($kk%2!=0) $dmod=21; else $dmod=22;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9680;</span>|}}';
}
 
//Vuosi 4564:
$dd = 1;
$daran = (31-12);
$mang = (29-12);
 
//Vuosi 4565:
//$daran=5;
//$mang=25;
 
for ($kk=1;$kk<4;$kk++) {
  for ($dd=1;$dd<30;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
for ($kk=4;$kk<9;$kk++) {
  for ($dd=1;$dd<31;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
for ($kk=9;$kk<13;$kk++) {
  for ($dd=1;$dd<30;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
//Jumalkuu
for ($dd=1;$dd<30;$dd++) {
  kuuhullu($daran,$mang,$dd,$kk);
  $daran++; $mang++;
}
echo "\n";
echo $daran."\n";
echo $mang."\n";
?>
</nowiki>
</pre>

Nykyinen versio 6. tammikuuta 2025 kello 09.09

Kotivalon kuiden vaiheiden laskenta. {{1}} = vuosi, {{2}} = kuukausi, {{3}} = päivä.

Daran ja Mang olivat molemmat täysiä 13.1.4564. Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.

On yksinkertaisinta laskea kuiden vaiheiden vuosikohtaiset päivät muualla ja panna ne muuttujiin.

Kummankin kuun vaiheille lienee joku yhden rivin laskukaava kun otetaan vuosi, kuukausi ja päivä. Wikin matematiikkafunktiot eivät ehkä riitä mutta php:llä ne saisi. Alla on huono "brute force" -ratkaisu.


<?php
//Kotivalon kuiden vaiheiden laskenta.
//Daran ja Mang olivat molemmat täysiä 13.1.4564.
//Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.

function kuuhullu() {
    global $daran, $mang, $dd, $kk;

    //Täysi
    if ($daran==31) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">🞅</span>}}'; $daran = 0; }
    if ($mang==29) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">🞅</span>|}}'; $mang = 0; }

    //Viimeinen neljännes
    if ($kk%2!=0) $dmod=7; else $dmod=8;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◑</span>}}';
    if ($kk%2!=0) $dmod=7; else $dmod=8;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◑</span>|}}';

    //Uusi
    if ($kk%2!=0) $dmod=15; else $dmod=16;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◍</span>}}';
    if ($kk%2!=0) $dmod=14; else $dmod=15;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◍</span>|}}';

    //1. Neljännes
    if ($kk%2!=0) $dmod=22; else $dmod=23;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◐</span>}}';
    if ($kk%2!=0) $dmod=21; else $dmod=22;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◐</span>|}}';
}

//Vuosi 4564:
$dd = 1;
$daran = (31-12);
$mang = (29-12);

//Vuosi 4565:
//$daran=5;
//$mang=25;

for ($kk=1;$kk<4;$kk++) {
  for ($dd=1;$dd<30;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
for ($kk=4;$kk<9;$kk++) {
  for ($dd=1;$dd<31;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
for ($kk=9;$kk<13;$kk++) {
  for ($dd=1;$dd<30;$dd++) {
    kuuhullu($daran,$mang,$dd,$kk);
    $daran++; $mang++;
  }
}
//Jumalkuu
for ($dd=1;$dd<30;$dd++) {
  kuuhullu($daran,$mang,$dd,$kk);
  $daran++; $mang++;
}
echo "\n";
echo $daran."\n";
echo $mang."\n";
?>