忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[1794] [1793] [1792] [1791] [1790] [1789] [1788] [1787] [1786] [1784] [1783]
エクセルでアニメといえば閏秒ですよね
閏秒の問題は「(なう関数-きょう関数)*1000000」とかやってエクセルでアニメを作ろうとした際に菱々と感じたのですが
意外とシビアな問題なんですよ。


厳しいではなくシビアといったところがミソと自分で言います。
厳しいという言葉は問答無用で好きじゃないんですよ、むしろ嫌い。
厳しいのとにかく大っ嫌い。うん
そこでシルバーっぽい渋屋なシビアを使ってみたらシビアさ厳しさが抜けるかなーなんて思ったんですね。


で。


たとえば何らかの理由で1日に342秒挿入するとするじゃないですか
これが340秒ではなく342秒だったり、300秒じゃなくて342秒だったりってところが実は意外と問題になってくるのです


その理由を説明してみます


今ここに、11秒周期のアニメーションがあるとします。
このアニメーションは、「その日の現在の時刻を取得する関数(なう関数引くマイナスきょう関数)」にしたがってヌルヌル動いているとします
テキトーな空セルを選択したままdelキー押しっぱなしで、再計算するたびに現在の時刻を返すわけですよ
APIもマクロもナシでミリ秒余裕でした。



「その日の」現在の時刻です。
1日経つと0にリセットされます。


じゃあ1/1の23:59:59から1/2の0:00:00にかけて、アニメーションは正しく動作するでしょうか?

実は正しく動作しません。

1/2になった時点でアニメーションが「跳び」ます


なぜかというと、このアニメーションの周期が11秒だからです。


1日24時間、つまり86400秒は11の倍数ではないからなのです。
たったこれだけの理由で誤作動するのです。


しかし、これが「その日の現在時刻」ではなく
「日付も含めた現在時刻(なう関数オンリー)」だったらちゃんと動くんですよ
1/2になった瞬間にリセットされませんからね。

もし、あくまで「その日の」現在時刻でアニメーションを動かす場合は
真夜中に誤作動する問題は割り切って諦めたほうが賢明でしょう

あるいは11×86400=950400秒の周期で「どちらでも割り切れる」ような周期にすればそりゃぁ正常に動きますが、
そんなのは
ケーキを分度器でキッチリ7等分できるようにするために360×7=2520進数で、一周2520度の分度器を作りました!
くらい切りのないことだと思いますよ!!!1





だからたとえば、1日に342秒追加するか340秒追加するか大晦日まで議論しているとすると
調整側から見れば

いい迷惑なのでさっさと決めてしまってください

ということなのです。

その下1桁のたった2秒が文明崩壊の除夜の鐘になりかねないのです
エクセルでアニメする人はあまりいないかもしれませんが
今の世の中は意外と、そんなエクセルみたいなので管理されたアニメにわりと近い状況なのです
リアルはいつだってアニメよりもおかしいのです




そういえばミリ秒取得関連で、APIには「パソコンつけっぱ四十九日問題」というのがありましてね、より正確には49.7日問題なんですが以下本題



サーガ ペイン
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析