37

趣きのある Bot

Embed Size (px)

Citation preview

@hoto17296

• Bot 職人

あいさつしてくれる Bot

家計を管理してくれる Bot

家電を操作してくれる Bot

• 「明日6時に起こして」と言うと次の日の朝6時に照明とテレビが点く

• 帰る前に「エアコンつけて」と言うと家についたときに部屋が涼しい

趣きのある Bot

二十四節気

• 季節を 24 に区切ったもの

• それぞれの節気について「暦便覧」に

書き記されている

2015年の二十四節気節月 節(せつ) 中(ちゅう)

春1月 立春 (2月4日) 雨水 (2月19日)2月 啓蟄 (3月6日) 春分 (3月21日)3月 清明 (4月5日) 穀雨 (4月20日)

夏4月 立夏 (5月6日) 小満 (5月21日)5月 芒種 (6月6日) 夏至 (6月22日)6月 小暑 (7月7日) 大暑 (7月23日)

秋7月 立秋 (8月8日) 処暑 (8月23日)8月 白露 (9月8日) 秋分 (9月23日)9月 寒露 (10月8日) 霜降 (10月24日)

冬10月 立冬 (11月8日) 小雪 (11月23日)11月 大雪 (12月7日) 冬至 (12月22日)12月 小寒 (1月6日) 大寒 (1月20日)

二十四節気を Bot に知らせてもらおう

え、それって 特定の日付に投稿するように 設定すればいいだけでは?

('ω'メ) No.

二十四節気の日付は 毎年変わります

公転軌道 と 黄経春分点 ( 0° )

近日点遠日点太陽

地球

黄経

二十四節気と黄経節月 節(せつ) 中(ちゅう)

春1月 立春 ( 315° ) 雨水 ( 330° )2月 啓蟄 ( 345° ) 春分 ( 0° )3月 清明 ( 15° ) 穀雨 ( 30° )

夏4月 立夏 ( 45° ) 小満 ( 60° )5月 芒種 ( 75° ) 夏至 ( 90° )6月 小暑 ( 105° ) 大暑 ( 120° )

秋7月 立秋 ( 135° ) 処暑 ( 150° )8月 白露 ( 165° ) 秋分 ( 180° )9月 寒露 ( 195° ) 霜降 ( 210° )

冬10月 立冬 ( 225° ) 小雪 ( 240° )11月 大雪 ( 255° ) 冬至 ( 270° )12月 小寒 ( 285° ) 大寒 ( 300° )

二十四節気の日付は 黄経によって決まるので 毎年微妙に違う

つまり

この機能を実装するためには

「今日の年月日」 から

「今日の黄経」 を求めれれば いいわけですね

必要なパラメータ

• 地球の公転周期 • 365.242190402 日 (太陽年)

• 2015 年の春分点 • 3月20日 22時45分 (UT)

• 地球の公転軌道の離心率 • 0.0167

ケプラーの第二法則 (面積速度一定の法則)

いろいろがんばった (解説略)

現在の日付から黄経を求める node モジュールが完成

あとはテキトーに Hubot に組み込んで ごにょごにょやる

すると

Bot が二十四節気を知らせてくれる

とても趣きがある

ところでみなさん お気づきでしょうか

「それって、先20年くらいの 二十四節気の日付をググって リスト化して参照すれば 計算しなくてもよくね?」

( ◠ ‿◠ )☛ 気付いてしまったか

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ うわああああああ

それなりの労力をかけて 特に便利でもない機能を わざわざ面倒くさい方法で 開発するの、最高に無駄

だがそれがいい

生産性を極めた先に クリエイティビティはない

つまらない無駄は 徹底的に効率化して おもしろい無駄に 全力を注ごう

エンジニアの生き方って そういうものだと思う

参考

• こよみのページ

• 太陽の黄経と地心距離

• 面積速度一定の法則と春分・秋分

• 二十四節気 - Wikipedia

• 春分点 - Wikipedia