昼過ぎ、家族で実家に行く。 妹一家も集って。
夕方、帰宅して紅白歌合戦を観る。 紅組白組から交互に上手い人が出てきて歌比べをする、というシンプルなスタイルに戻してくれんかな。 子供枠はあっても良いから。
例のマクロについて。 「セキュリティに影響を及ぼす可能性のある問題点が検知されました。」と言われるやつ。 ダイアログボックスにある「詳細情報」をクリックすると、このページに跳ぶ。 レジストリを更新とか書いてあるので、本当か?と疑う。
で、Google先生に訊いたところ、次が正解みたい。
なんとか宛名と図案印刷を終えた頃には、もう昼過ぎてた。
慌てて正月飾り・年賀・お節・年越し蕎麦を買いに行く。 そして年賀状の図案を今頃になって考える。 筆ペンのインクの出が悪く苦労する。
夕飯後に印刷しようと思ったら、宛名書き用Wordマクロが動かなくて嫌になる。
朝一にRoKiチュートリアル更新。 その後は、大掃除というほどでもない家の片付け。 もっぱらリビングにあった子供たちのものの整理。 午後は下の娘とサイクリングに行く。
やっぱりあんまりそういう気分でもなく。 午前中はいつものように息子の空手送迎。 午後は主に録画消化したり娘と遊んだり。
最小包含球のQiita記事を更新した。 非再帰版実装のところの説明は、あんまりうまく出来た気がしない。
ついでにlibLZFの使い方も記事にした。 前に「Qiita記事を書くほどでも無い」と書いたが、日本語の公開文書があるのは大事なはずだと思い直したので。
あんまりそういう気分でもなく。 ミーティングは論文相談3件技術相談3件。
それほど合間時間があったわけでもなかったが、最小包含球の実装はほぼ終わらせた。 2次元/3次元処理の共通化とテストコードの整理をしたら多分終わり。 この度の再実装を通じていろいろ分かったことがあったので、Qiita記事を大々的に修正しないとだ。 そっちの方が大変かも知れない。
毎週木曜日はミーティングを少なくしているのだが、今日は臨時のが幾つかあって全部で6件。 普段とあんまり変わらなくなってしまった。 それでも午前中に大きな空き時間があったので、溜めていたEラーニング研修3つをいっぺんに消化。
残り時間で井上さん論文の添削と向井さん査読返事のチェックをやろうと思っていたのだが、下記の最小包含球実装で使っちゃった。
原因特定できて、おおむね正しく動く再帰版と等価になっている実装が出来た。 オリジナルの再帰アルゴリズムだと、最初に境界上の高々4点の最小包含球を計算するのだが、非再帰版ではそれよりも前に境界上点を戻す処理を入れないといけなかった。
ただし、1000回に1~2回程度の頻度で失敗することがある。 これは元の再帰版でも起こっていた現象。 この際だから解消したいが、これこそ原因特定が難しい。
で、少し調べてみたら、なんとこういうことがあるらしい。
... However, with a small probability the violation test fails and the algorithm makes an additional basis computation ...確率的にということだから、恐らく点の順番の問題? それならと、計算後に全点について改めて内外判定をやって、外部にある点が見つかったら他の適当な点とシャッフルするという処理を加えてみたところ、成功率100%になった。 なんということだ。
一番古い研究例は1995年Boulic and Thalmannだと思っていたが、それよりも古い1992年の福田先生の論文があった。 石井さんが見つけてくれた。
在宅にて普通に仕事。 考えてみれば、クリスマス当日は世間一般でも何もないことが多いよね。
ミーティング8件。 合間に最小包含球非再帰版実装の動作不備原因特定を、と思ったが、あんまり時間取れず原因分からないまま。
在宅にて普通に仕事。 ミーティング5件。 合間に人事評価関連で少し。 あと、RoKiバージョンアップへの対応のさせ方が分からないという質問が来たのでフォロー。
最小包含球非再帰版実装で相変わらず苦戦している。 良いところまでは来ていると思うのだけど、境界上の候補点数が4になった後の動きがおかしい。 問題なくいく時も割とあるので、原因特定が難しい。
夕食はケーキもターキーも無く普通に済ませる。
SI土産を持って行くだけの用事で品川へ。 往路、時間が無かったので上野東京ラインに乗る。 新橋まで座れなかったので作業はほとんど出来ず。 最小包含球非再帰版実装を少しだけ触るが、実質的に進まず。
ミーティング7件。 合間に出張経費申請など。
息子の囲碁大会付き添いで熊谷へ。 保護者は待っているだけで暇なので、最小包含球の続きを進めようかと思っていたのに、眠気が度々押し寄せてどうにも進まず。 出張中の睡眠が浅かったのかな。
予定通り、早めに起きて出かける。 まずは宿近くの開運橋を渡って岩手公園へ。 盛岡城跡の本丸、二の丸、三の丸と回り、櫻木神社の茅の輪をくぐって、烏帽子岩を見てから鶴が池まで来たくらいで、ちょうど歴史文化館の開館時間。 全部しっかり見たら一時間以上かかりそうで、少し残念だったが速足で切り上げ啄木・賢治青春館に向かう。 ここは40分くらいで出て、賢治の井戸などに寄り道しながら駅に向かう。 適度に余裕を持って新幹線の予約時間に間に合った。
新幹線の中では最小包含球の非再帰版実装を試みたが、どうにもうまく進まず。
記事。 こ、これは結構すごいのでは? 開発元が書かれていないが、警察の内製?
午前中ポスターセッションを回る。 K先生を見つけたので、SIセッションオーガナイズについてあれこれ。 会っても今更説教はしないでおこうと思っていたのに、やっぱり説教気味になっちゃった。 その後、小澤先生と田崎先生に遭ったので、そのまま一緒に昼食に行く。
午後はヒューマノイドセッション。 火曜日に書いた通り、自分で11件中9件審査をアサインしたのだけど、どれがどれやら分からなくなったので結局全部する。 アサインが直前だったので、審査員用紙が用意されていなかった。 プログラム委員長の先生に伝えて事なきを得る。
セッション終了後、思ってたより時間があったのだが、観光に行く時間は無く大人しく宿に戻る。 明朝早いうちに回ろう。
午前中セッション見に行こうかとも思ったのだが、どうにも興味を惹かれるものが無く、宿の部屋でうだうだ仕事する。 こんなんじゃ盛岡に来ている意味が無い、宿に籠るくらいならいっそ観光に行って見聞を広めよう、と午後に平泉へ。 前々から行ってみたいと思っていたし。
行ってみたら、あまりにのどかなので驚いた。 もっと観光地らしく賑わっているかと思っていたのに、福井の勝山並みに何も無いし、人も全然いない。
駅から中尊寺まではほぼ一本道。 途中、高館義経堂や武蔵坊弁慶の墓の案内板も見たのだけど、帰りに寄ればいいやと思い真っすぐ向かう。
参道に入った途端に、それまでののどかな道から伏見のごとき山道になる。 ヒマラヤスギの並木の中、延々と昇る。 後で知ったが、この並木は300年前に伊達藩主が植えたそうな。
本堂まで行ったらさすがに人はちらほらいたが、それでも世界遺産と思えないくらい少ない。 そして中国語ばかり聞こえる。 平日だからかな。 金色堂の観覧券を買い終えたところで田崎先生と遭う。 もう一回りしてらしたと。 入れ違い。
金色堂は、思っていたよりもずっと小さかったが、見事なものだった。 名前の通り全面金色なのに、秀吉の茶室のような下品さが無く、正対すると聖い気持ちにさせられる。 藤原清衡が極楽浄土のイメージを具現化したものとのことだが、まさにそのような感じ。 柱・台座の細工や仏像の配置も緻密に計算されている。 そして奥の細道で鞘堂と書かれていたが、正式には覆堂と言うんだな。
帰りにあちこち行こうと思ったのに、資料館も柳御所も高館も閉館中で、弁慶の墓くらいしか参れなかった。 あと、駅近くで道を間違えて、すぐそこにホームが見えているのに遠回りする羽目に。
どうでも良いが、平泉駅へは東北本線で往復した。 普段よく乗っている宇都宮線から続いている線。 今までそれで行った最北は黒磯だったので、そこから大きく北上したことになる。 本当に東北を走ってるのね。 大阪在住時によく乗っていた京都・神戸線にもつながっていると思うと、不思議な感じ。
1分トークセッションは端から観るつもり無かったので、朝のうちに用事を色々済ませてからゆっくりめに会場に向かう。
で、建物は間違ってないはずなのにそれらしい看板も誘導も何もない。 不安になりつつも上へ昇っていったら、4階でようやく会場らしい雰囲気になる。 そして受付がどこか分からない。 ウェブページに何か書いてあったかな?と思って見直すも、やっぱり情報なし。
困っていたら、入江さんが通りがかったので訊いてみた。 なんと受付は8階だと。 そして入江さんもそんな情報見つけられず、人について行ってなんとか分かったと。
もやもやしながら8階へ。 受付には3人しかいないのに、たらい回しされる。 どんな用意したらそうなるのよ!?
そしてその後にどこに行けばよいか分からない。 4階にはポスターがあったが、どう考えても全体の半分もなかったし。 7階にも何かありそうなのでうろうろしていたら、稲邑先生と河原塚くん、渡辺先生に会って、そのまま一緒に昼食に行くことに。
昼食後に仕切り直しでマニピュレーションのトークセッションに行こうとしたが、やっぱり場所が分からない。 仕方なく渡辺先生と一緒に8階の受付へ。 そこでようやく部屋配置案内の紙をもらう。 1フロアに1~2部屋くらいしか取って無いみたいなんで、自力で探すのは無理。 トークセッション室も狭くて、立ち見どころか部屋の外から覗いている人が沢山いる始末。 その後のポスターセッションも、ブースがとても狭いし机も無いし。 仕事してくれている実行委員会の方々に悪いけど、いろいろ酷いんじゃないの。
夜は田崎先生と指し飲み。
こまちは快適だった。 21時前には宿に入れたので、メールを幾つか処理。 SI審査員もまだ決まってなかったので、業を煮やして自分に依頼→即受諾。 次からどうするつもりなのよK先生!?
社外訪問の予定があったので。
ミーティングは、社外とのものを除いて6件。 珍しく、事業部営業さんとの相談もあったり。 合間に、使用しているPCの名前が登録されている情報と食い違っているので修正せよとの指示を受ける。 これが地味に煩わしい。 ガイドも不親切だし。 合間に出来るくらいだから大した仕事では無いのだけど、こういうのが積まれていくと嫌になる。
正式には何て言うんだろう? 指令を作るだけなので制御と呼ぶのは適切でない気がするが。
RoKiチュートリアルで書く予定の実践編に、これも載せておくかと思い、ZM実装を始めた。 理屈は超簡単なのであっという間に出来るだろうと思ったが、条件分岐で勘違いして存外手こずっちゃった。 念のため文書化もしたが、ウェブにはすでに沢山解説があるのでQiitaには載せないでおく。
ミーティング7件。 人事評価関連のが集中して入っているのでいつもより多め。
休憩時間にサンタ・システム始動。 気付いたら残り日数少なくなってたので焦る。 発送に時間かかるやつもあるみたいだし、要注意だ。
SIの新幹線予約してなかった。 せっかくなので、今まで乗ったことのないE6こまちにしてみた。
向井さんのRA-L査読返ってきた。 Revise & Resubmissionだったけど、基本的にポジティブな評価をもらえていて良かった。
RoKiがメモリリークしているとの疑いがあって、松永さんから依頼されていた調査をする。 zVec3DData関連の修正に時間かけちゃったんで遅くなった。 で、調べてみたらライブラリではなくCIテストプログラムの方のメモリリークだった。 良かった。
Zeoでliblzf使うオプション作ったし、ZX11関連でもフォントまわりの外部ライブラリ追加したりしたので、図を修正しなくちゃいけないことに気付いた。 チュートリアルページにpush。 ウェブページの方も変えなきゃだ。
午前中に息子の空手送迎があったくらいで、大きな予定のない日曜日。 年末も近いので、机の上を片付けた。 あと、RoKiチュートリアルを進めた。 順動力学シミュレーションまで書いた。 そろそろ公開しても良いかも。
先日買った藤子・F・不二雄がいた風景を読む。 (小学館のページ) 過去の文章の採録が多く、高円宮殿下と先生との対談が興味深かった。
息子に付き添い。 人手不足らしく、係員ということで手伝う。 大した仕事では無かったけれど。
ミーティング多めの8件。 金曜日は技術寄りのミーティングが多いので、苦ではないが。 早めに終わったやつも幾つかあり、それで出来た合間に下記のPCD読み込みを実装。
田原先生のご依頼で来年度九大で1日だけ講義することになったんで、略歴書を送る。
ここにあるいろいろなサンプルを読み込ませようとしたら、FIELDSの種類で知らないのが結構あり、完全対応は無理そうだと思った。 今後もいろいろ追加されるのだろうし。 知らないワードが指定されていた時の処理を柔軟化する方が良さそうと思い、そうした。
で、binary_compressで値を読み出すこと自体は出来るようになったのだが、そこから点群を復元するところでどうもバグがある感じ。この文書によれば、たとえば3点(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)を表すデータはx1x2x3y1y2y3z1z2z3のように並んでいるそうで、そこは正しく実装できたと思うのだけど。
などと言いながらいじってたら、エンディアンの問題だったと分かった。
夜、気紛れでPCD読み込みをbinary_compressedに対応させる処理を作りたくなって、試した。 情報源は次の三つ。
旧ページがオリジナル作者のMarc Lehmannさんのものらしい。 他は今のメンテナさんたちによるものなのかな。ドキュメントらしいドキュメントが無く、圧縮/解凍アルゴリズムをコードから読み解くのも骨が折れそうで、ヘッダファイルだけを頼りにテストコード作ってみた。
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <stdint.h> #include <errno.h> #include <liblzf/lzf.h> #define DEFAULT_SIZE 10000 int main(int argc, char *argv[]) { uint8_t *data_org; uint8_t *data_comp; uint8_t *data_decomp; size_t size_org, size_comp, size_decomp; int i; bool result = true; size_org = argc > 1 ? atoi( argv[1] ) : DEFAULT_SIZE; data_org = malloc( sizeof(uint8_t) * size_org ); data_comp = malloc( sizeof(uint8_t) * size_org - 1 ); data_decomp = malloc( sizeof(uint8_t) * size_org ); for( i=0; i<size_org; i++ ) data_org[i] = rand() % 0x10; size_comp = lzf_compress( data_org, size_org, data_comp, size_org - 1 ); if( size_comp == 0 ){ printf( "compression error\n" ); result = false; } else{ size_decomp = lzf_decompress( data_comp, size_comp, data_decomp, size_org ); if( size_decomp == 0 ){ printf( "decompression error\n" ); result = false; } else{ printf( "original size = %lu\n", size_org ); printf( "compressed size = %lu\n", size_comp ); printf( "decompressed size = %lu\n", size_decomp ); for( i=0; i<size_org; i++ ) if( data_org[i] != data_decomp[i] ) result = false; } } printf( "%s\n", result ? "Success" : "Failure" ); free( data_org ); free( data_comp ); free( data_decomp ); return 0; }正しく動いているように見える。 やったことは本当にこれだけなので、Qiita記事を書くほどでも無い感じ。 データサイズが小さいと圧縮に失敗する(アルゴリズム適用後の方がサイズが大きくなる)ことがあるので、lzf_compressの第4引数の決め方には勘所が必要そう、というくらいかな。
予定少なめの日。 ミーティング4件。 未受講のeラーニングが溜まってるのだけど、やる気にならず、各所へのメール書きと兼田くんからのバグレポ対応、RoKi修正等をやっていた。 あと、IJHRのAEを延長でやってくれというメールが来て、ウェブページ見たら所属が阪大のままだったので、修正をお願いする。
諸々税金で3分の1取られるって、どう考えてもおかしいだろ。 玉木雄一郎氏と池上彰氏の対談記事で、
玉木 私は1993年に大蔵省に入省しましたが、現在、財務省の局長手前くらいになっている私の同期たちは、入省以来、デフレしか経験していないんです。だから、インフレに合わせて基礎控除額を引き上げた経験がありません。 池上 私の世代は物価は上がるものだと思ってきたけれど、今の現役世代のほとんどは、インフレに慣れていない。国民はもちろん、政策決定者も官僚も、「インフレを知らない」んですね。というやり取りがあったが、これが起こっていることの本質じゃないかと思う。 比較的高い教育を受けた人たちの中でさえ、自分の頭で考えられる人が少ないのは、政治に限った話じゃない。
ZeoでC++コンパイルを試したら、コンストラクタがimplicitly deletedされたというメッセージが出た。 Google先生に訊いたところ、const修飾されたメンバを持っている場合にこういうのが出ることがあるらしい。 そうかと思ってconst無くしても状況変わらず。 仕方なく、該当クラスにダミーのコンストラクタを追加した。
朝一に勉強会資料をnote公開してから家を出る。 電車の中ではライブラリ修正対応を詰める。 修正自体はもう終わっていて、サンプル等に対応抜けが無いかのチェックがもっぱら。
ミーティング5件。 勉強会は1時間喋り通してしまった。
記事。 会場が六本木ヒルズで入館料が未定、って怖いな。
ミーティング4件、勉強会1件。 なんだかずっと眠くて身が入っていなかった。 空き時間はライブラリ修正を粛々と。
明日の勉強会発表資料作りもどうにか終わり。 帰宅後アップする。
出勤の車中、note記事を手許のテキストファイルで書く。 こういうところはQiitaの方が便利だな。
朝の車中で猛烈にZeo修正を進める。 ライブラリ本体はほぼ直したので、テストコードとexample群の適合を進める。 地味に数が多く大変だったが、どうやら終わり。 他のライブラリの適合にかかる。
ミーティングは少なく4件。 空き時間は勉強会準備に費やした。 久し振りにnoteを作る。 いつの間にか数式作成機能が出来ていて嬉しい。
興が乗って、本文サマリが終わり解説をがんがん書いていたところで、オフラインキャッシュが切れ、書いた内容が全部パーに。 そりゃないよ。
仕方なく、定時で退社しVeloceへ。 また最初から猛烈な勢いで書いた。 本文サマリはわりと短時間で書けたが、解説は結構気合入れて書いていたからなぁ…同じ作文を最初からするのは辛い。 また構成から考え直す。
包含立体と干渉計算、ドロネー三角形分割&ボロノイ線図を。 終わりが見えてきた。
小学校の演奏を聴く。 どこも低音が弱いのは、身体的な限界だろうと思う。 だったら人数増やせば、とも思うが、楽器の置き場の問題とか予算の問題とか、何より人気とか、難しいのだろうな。
恐らくはどこも音楽教育が専門の先生が指揮を振ってらっしゃるのだろうが、オーケストレーションが弱く、きちんとしてるなと思ったのは一校だけだった。 子供たちの音と向き合って指揮するだけで変わるはずなのだが。 そういうこと、大学で学ばないのかな。
昨晩の忘年会が後を引いたか、朝起きるのが遅くなり、息子の空手送りが出来なかった。 いかん。
用事もなかったので専ら録画消化。 少し不思議ドラマの鉄人をひろったよとアン子大いに怒るも観た。 前者、風間杜夫さんが主役か。 後者はまさかの荻野目洋子さんが出たりして、どちらも時の経過を感じさせられる。 光る君へ、福岡での話がメインで、船越とか能古島とか馴染みのある地名に懐かしさを憶える。 と思ってたら、ラストシーンが悲惨で驚く。
明日、息子の発表会があるので、長女とも一緒にトランペットを吹く。 こんな日が来ようとは。
ロボTメンバーで。 酔った勢いで、つまらんこといろいろしゃべっちゃった。 反省。
ミーティングが9件と多めの日。 夕方にはJSTの方々からのヒアリングもあったりして。 大型予算そのものに懐疑的なことも含めていろいろ話した。 偉い人にまで届くかどうか。
社内の勉強会で藤本先生ICRA1998を紹介することにした。 自分にとっても、原点に戻ることになる気がする。 電子版予稿を持っていなかったのでダウンロード。
出勤の車中で2D/3Dメソッド抽象化はどうにか終わり。 包含立体計算の適合にかかる。
午後の協創先訪問まで何も予定が無かったので、場所を転々としながら下記の文書作りとZeo修正をがっつり進める。 協創先訪問後は品川に戻って勉強会に参加。 その後またZeo修正。
zeo_elemxdと同じ考え方で、2D/3Dメソッドを共通化する抽象マクロで大々的に作り直す。 地味な作業だが時間を喰う。 zVec2D/3DDataも同様にしないといけなそう。
いちどMontanaに戻ってまた勉強しなくちゃと思い、彼のウェブページを見る。 論文を全て公開してくれているので有難い。 それで知ったのだが、その後はネットワークスケジューリングの研究をメインにされていたのだな。
ミーティング5件、勉強会1件、臨時の技術相談2件。 午前中に空き時間があったので、Zeo zVec3DDataを使った点群処理の実装修正を進める。 どうもBounding BallとQuickHullに不安があるので、やっぱり実装直したい。
把持制御における転がり接触をきちんと考える必要がありそう。 文書化してみる。
記事。 Marco HutterのところのANYmal。 足先の形は案外良さそうに見える。
特に用事は無かったのだけど、空き時間に気が散らないように会社に行ってみた。 通勤電車の時間も使えるし。
ミーティング4件、勉強会1件で、当初思惑通り時間に余裕があったので、Zeoの改修を進める。 ベクトル集合クラスのテストコードは終わった。 点群処理は、PCA、PCD入出力あたりをやる。
同じような事情の人は多いと思うが、基本的に一日で完了する作業の方が稀だし、並行していろいろやらなきゃいけないこともあるので、それらのアプリやサイトを開き直すのが面倒で、PCをシャットダウンすることはほとんど無い。
で、夜シャットダウンせずに蓋を閉じたPCが、Windows updateに勝手に再起動されている。 サイトはブラウザが憶えているからまだ良いが、アプリはまた起ち上げ直さないといけない。 こんなことを何度やったか。 Microsoftに不満は届いてないの?
記事。 言葉と言葉が確率だけで紐づいて、言葉と行動も確率だけで紐づくなら、こういうこともそりゃ起きるだろう。
ミーティング3件だけで、空き時間がたっぷりあった一日だったのだけど、あまり有効には使えず。 自宅だとやっぱり駄目ね。
研修E-learningを受講せよという指示がばらばらと来る。 こういうのって年末に集中するんだっけか? あんまり増やさんで欲しいが。
夕方になって、ベクトル集合クラスの実装が少し進む。 あとはテストコードを書けばおしまい。 その後に、点群に対する諸処理を実装し直す予定。 こちらの方が重い。
QuickHullアルゴリズム整理を少しだけしたところで、ベクトル集合クラスを抽象化する方が有効なのでは?と考え直し作る。 QuickHullを直さなくて良い理由にはならないのだけど。
昨日も書いたけど、時間の経ち方が速いな。 年末の支度は全くしていない。
記事。 日本にもケツァルコアトルス類がいたのか。 当時、日本はどこにあったのかな。