2018年3月31日土曜日

ぐるっと花見

プラザウエスト、秋ヶ瀬公園、さくら草公園を、ぐるっと回って桜を見てきた。
花が散り始めて、桜吹雪になっていた。

もっと撮影したかったが、前から人が来たので、撮影をやめた。

Lubuntuでtouchpad-indicator

最近、やたらと'touchpad-indicator'パッケージの更新が行われる。
'apt-get changelog touchpad-indicator'とやっても、何も表示されない。ppaから入れたものかな?本当に大丈夫?
そんなことを思いながら、少し調べた。

HPのFolio13-2000は、タッチパッドが中央に配置されているので見た目はかっこいいが、右手がタッチパッドと干渉しやすい。
そのため、Lubuntu使い始めた頃、タッチパッドをON/OFFする機能を探した。
その時にいろいろ試したが、どれもイマイチで、結局以下のコマンドを手で入力してタッチパッドをOFFしていた。
synclient touchpadoff=1
いちいち煩わしい操作であるが、慣れれば大したことはない。
逆に言えば、すっかり慣れるほど時間が経っていたのだろう。いろいろ試していたことを忘れていた。
自分でtouchpad-indicatorをinstallしたことも忘れていた。

新しくなったのなら動くかな?と思って試してみたら、動いた。
ただし、多少設定が必要だった。それについて書く。
まず、ppaを追加してinstallしないといけない。それについては、検索すればいろいろ出てくるので、それを参照せよ。

installが済んだら、メニューから「設定」-> 「LXSessionのデフォルトアプリケーション」をクリックして、「LXSession configuration」ダイアログを表示させ、「自動立ち上げ」タブをクリックする。
以下の画像では、すでにtouchpad-indicatorが入力されてしまっているが、赤丸の部分に"touchpad-indicator"と入力して、左の「+追加」ボタンをクリックする。
(2018/04/01: もっと簡単な方法が見つかった。追記を参照。)
こうしておいて再起動すれば、touchpad-indicatorが起動する。
画面右下の方の「表示アプレット(Indicator applet)」中に、touchpad-indicatorのアイコンが表示されるので、それをクリックするとポップアップメニューが出る。
その中の「設定」をクリックして、「マウス接続時はタッチパッドを無効にする」をONにしておくと、マウスの接続でタッチパッドが無効になり、外せば有効になる。
起動時にマウスを接続しておけば、自動的にタッチパッドはOFFになる。
これからは、コマンドを入力する手間が省けて、多少楽だ。

2018/04/01: 追記
自動起動するには、「Touchpad indicator | 設定」ダイアログの「一般的なオプション」タブの「自動起動」を「オン」にすれば自動起動する。
とはいえ、インストールしただけでは自動起動しないし、メニュー内にアイテムも無いので、インストール食後は手動で起動する。
手動で起動するには、メニューから「システムツール」「LXTerminal」で、端末エミュレータを起動して、以下を入力する。
touchpad-indicator
(そのまんまじゃん)

Touchpad Indicatorが起動すると、表示アプレット(Indicator applet)にアイコンが表示される。
後は、ポップアップメニューから「設定」を選んで、「Touchpad indicator | 設定」ダイアログを開けばいい。

2018年3月24日土曜日

桜と虫と

花粉症になってかれこれ30年。
花粉は辛いが、桜が咲いたら、それを見ておきたいものだ。
今日は、花粉マスク+花粉メガネの完全装備で、近所の桜の木をあちこち見てきた。

桜は、ソメイヨシノだけではない。
様々な種類の桜がある。

今日の段階ではまだ蕾も多く、華やかさは少なかった。

花粉の辛さも忘れさせてくれる桜ではあるが、その桜が今、危機にさらされているらしい。
「クビアカツヤカミキリ」という悪いカミキリムシがいるらしい。
幼虫は木の中に住んでいるので解りにくいが、発見方法がある。
虫が食っている木は、のこぎりのおかぐず状の粉が落ちるのだ。
(埼玉県の「サクラの外来害虫“クビアカツヤカミキリ”情報」がわかりやすい。詳しくはそちらを参照。)
それを見ながら歩いていたら、けっこうフラスが落ちている木が見つかった。
殺虫剤を持って行っていなかったので、何もせずに帰ってきた。
次に行く時は殺虫剤を持って行こう。

しかし、悪い話ばかりでもない。
「ヨコヅナサシガメ」という虫も見つけた(桜区の宮子歯科医院脇の川沿いの桜の木)。

ヨコヅナサシガメ
カメムシの仲間だけど、虫の体液を吸う虫だ。外来種であるが、アメリカシロヒトリの天敵とも言われている。
こいつが、やっつけてくれると良いんだけど。

atan2()なんて知らなかった

1980年台からコンピュータをいじっている。
C言語に触れたのは専門学校へ行っている頃からなので、1987年頃からだ。もう30年になるのか。

昨日書いた記事のプログラムを書くために、逆正接関数atan()を使っている。
atan()に限らず、三角関数の中でtan()系列は、無限が出てくる時があるため、使用には注意が必要だ。Bugの原因にもなるので、ちらっと見かけただけでもなんか嫌な気分になる。
またatan()は、y/xの計算した値を引数に与えるため、第一象限と第四象限しかまともに計算できない。
というわけで、昔から以下のようなラッパを組んで、y/xではなく、(x,y)で計算するようにしていた。
static double atanXYabs( double x, double y )
{
    double absX = fabs(x);
    double absY = fabs(y);

    if( absX < absY ) {
        return( M_PI/2 - atan(absX/absY) );
    }
    return( atan(absY/absX) );
}
double atanXY( double x, double y )
{
    double angle = atanXYabs(x,y);

    if( 0.0 <= y ) { 
        if( 0.0 <= x ) {
            return( angle );    // 第一象限
        }
        return( M_PI - angle ); // 第二象限
    }

    if( 0.0 <= x ) {
        return( -angle );       // 第四象限
    }
    return( angle - M_PI );     // 第三象限
}
昔はM_PIも無かったりして、 '80年台に使っていたものとは微妙に違うがだいたい同じ。

「いつもいつも面倒だな。だからtan()系は嫌いなんだ」と思っていたが、他の人も困っているのでは?と思って、調べてみたら atan2() という関数を発見
引数の順序は違うが、ほぼ同じ関数だ。

atan2()はいつ頃からあったのだろう?
自力で問題を解決してしまうと、それ以降困らないので、わざわざ調べない。
インターネットが全く普及していない'80年台ごろだったので、何を調べるのも大変だった。

とはいえ、なんと馬鹿なんだろう。
atan2()で組み直した。

2018年3月23日金曜日

cairo_arc_to() #1

以前、Borland C++ Builderで作ったコンタープロットのプログラムがある。先日、NASを整理している時に発掘した。
ひさしぶりにいじろうと思ったが、ウチにはBuilderどころかWindowsも無い。
というわけで、g++ & gtk+ に移植しようと思ったが、gtk+は2010年頃に少し勉強してほったらかしにしていた。
その当時購入した本を本棚から発掘して見てみると、メモが細かく書いてある。何でもかんでも興味本位で手を出すが、やり過ぎて頭の中がごちゃごちゃに混乱し、1ヶ月もすると忘れてしまう。いや、忘れているわけではなく、ぐちゃぐちゃになってしまって、正しい物が何かわからなくなるのだ。
どっちにしても、もう一度勉強し直す必要があるのだが、体の中には概念が残っているし、勉強していた時のメモがあれば、頭にすっと入ってくる。
思い出した事で、思い出しやすくなるというのもあるかもしれないが、記憶もしっかりしてくるような気がする。

gtk+は、cairoでベクタグラフィックを扱うことができる。
この辺は2010年頃には全く勉強していなかった部分だ。コンター図を書くのに使ってみようと思い調べ始めた。
自家製コンタープロットでは、直線しか使っていない。そのため直線と多角形だけ調べれば良いのだが、ついでなので円弧やベジエ曲線についても調べ始めた。

これが脱線の始まりだった。

円弧はcairo_arc()で描画するのだが、これは時計方向しか円弧を描けない。
そのため、多角形の一部に凸向きの円弧と凹向きの円弧を同時に含むことができないと思った。
(この時点ではcairo_arc_negative()を知らなかった) しかし、ベジエ曲線が使えるのだから、円弧をベジエ曲線で表現すればいいと思った。
そもそも円弧はROM-BASICの頃から反比例補完などで表現されきた。それらと同じことだ。
そうと決まれば善は急げで、いろいろ調べた。良い記事を見つけた。

ベジェ曲線の円の近似で90度以外でもよいが180度以上はよくない

上記ページの中ほどに、任意の角度の円弧をベジエ曲線で表現する(誤差はあるが)時の制御点の距離を求める式がある。
k=3/4 tan(θ/4) がそれだ。自分で計算しようとして行き詰まっていたので助かった。

これを利用して、今日の午前中 cairo_arc_to()のような関数を作った。
cairo_line_to()のように終点を指定して円弧を書くのだが、円弧のためには中心と円弧の向き(右回り/左回り)も指定する。
また、90度以上の円弧をベジエ曲線で表現すると誤差が大きくなるようなので、90度以上の場合いくつかのベジエ曲線に分割するようにもした。

簡単な動作確認をして満足したところで、「このような機能は誰でも欲しくなるよな。同じように誰か作っているんじゃない?」と思って、探したら発見した。

[cairo] arc_to again

私が実装したものと多少違っているがやはり存在しているようだ。
さらに、cairo_arc_negative()を発見した。これを使って逆向きに円弧を書くことができるだろう。逆向きにも円弧が書ければ、凹凸両方の円弧を持つパスをつなぐことができる。

またまた無駄なプログラムを書いてしまった。いろいろ勉強になったから良いか。

いつも脱線して、脇道にどんどん入っていくので、頭の混乱につながっていく。
とはいえ、やりかかったのだから、最後までやろう。
もう少し細かい動作確認と、Brush upをしておこう。

つづき。
cairo_arc_to() #2

2018年3月17日土曜日

飛び出す道具箱を作ってみよう#6 完成

飛び出す道具箱を作ってみよう#1
飛び出す道具箱を作ってみよう#2
飛び出す道具箱を作ってみよう#3
飛び出す道具箱を作ってみよう#4
飛び出す道具箱を作ってみよう#5
飛び出す道具箱を作ってみよう#6 完成

今週コツコツと加工をしていた部品。
水曜日に部品を接着た。

雑に切ることや接着はあまり時間がかからないが、ヤスリがけは時間がかかる。
もう少し細かく写真を撮ろうと思っているものの、毎晩わずかな時間で作業しているので、撮影やブログの記事を書くよりも実際の作業を優先する。

そして組み立て。
夜、電動工具を動かすのは近所迷惑かもしれない。
穴あけは電動工具で行うので、どうしても週末になる。
時間的な制約をやりくりしながら、なんとか形になった。

空っぽの状態


道具が入った状態


実際に使ってみると、いろいろ改善したいところが見つかる。
とはいえ、これはこれで完成とする。
ヤスリがけは、元々大変な作業であるが、目が悪くなってさらに大変になった。
3Dプリンタが使えれば、このような部品をもっと簡単に作れるだろう。

もし、この続きを書くとしたら、3Dプリンタを買ってからかな。

今週は、仕事もしないと…

2018年3月16日金曜日

花粉症

くしゃみの連発、目の痒み。鼻詰まりにより頭がぼーっとする。
ただでさえ年度末の忙しい時に、仕事の効率が落ちる。

さらにもう1つは、風邪をひいたことが解りにくいことだ。
毎年気をつけているのだが、今日の朝、風邪をひいていることに気がついた。
喉の奥と顔の左側が痛くなっていた。
こうなると厄介だ。風邪でも炎症になる。花粉でも炎症になる。
そのため、症状が更に激しくなる。

去年、NHKスペシャルで、「スギ花粉米」の研究を紹介していた。
ご飯を食べるだけで、花粉症が治るというものだ。
田んぼでお米を育てるのと同じように作れるのだから、値段はお米とそう変わらないと考えられる。
すなわち、薬や医者の代金よりも、安いと期待できる。
かなり期待しているので、どうなっているんだろうと調べてみた。

そしたら、こんなページを見つけた。
食べるだけで花粉症が治る「スギ花粉米」の現在

スギ花粉米が「食品」ではなく「医薬品」であるため、医薬品としての許可を厚生省から得なくてはならず、それができるのは医薬品の製造販売ができる業者だけ。
でも、どの製薬企業も名乗り上げないそうだ。
記事では、その理由を明示はしていないが、大人の事情であることがわかる。

とても腹立たしい。
国内のメーカがやらないなら、海外に売ってしまえ!
競争に打ち勝つのではなく、競争から逃げて生き延びようとしている。
そんなことをやっていたら、ボーダーレスの世界では、すぐに負けるぞ。

スギ花粉米は、スギ花粉症にしか効かないが、この技術を応用して様々なアレルギー症に展開していくこともできるだろう。
アレルギー症は、近年どんどん増えているらしい。
理由は不明だが、新たなアレルギーがどんどん生まれているのだ。
スギ花粉米を必要とする人がいなくなったとしても、それら新しいアレルギーに対応していけば、未来がある。

今は、杉の花粉が多いが、戦後に植えられた杉の木の伐採が始まっている。
仮にスギ花粉米を作らなかったとしても、いずれは杉の木が減る。そのため、スギ花粉症の症状が出る人も少なくなっていくだろう。
結果、花粉症グッズ市場は、いつかはなくなるのだ。未来はない。

伐採が始まった今こそ、患者数のピークだとも言える。
本当に成功したいなら、なるべく早く参入するべきだろう。

2018年3月12日月曜日

飛び出す道具箱を作ってみよう#5

飛び出す道具箱を作ってみよう#1
飛び出す道具箱を作ってみよう#2
飛び出す道具箱を作ってみよう#3
飛び出す道具箱を作ってみよう#4
飛び出す道具箱を作ってみよう#5
飛び出す道具箱を作ってみよう#6 完成

紙模型3号の上のヒンジがかっこわるいので、もう少しかっこいい形にしようかと思っていたが、結局、そのまま作ることにした。

いつものようにシールの紙に印刷して、発泡塩ビの板に貼る。隙間に押し込みたかったので、部品単位に切り抜いて貼り付けた。
部品単位にのこぎりで切る。
のこぎりでカーブを切るのは大変なので、いつものようにボール盤でカーブ付近に穴をあけておく。

この時点でうっかり、穴をあけるのを忘れている。

カッターでザクザク削って、ヤスリで整える。精密に仕上げる部分(赤丸)と、最後の微調整用にあえて残しておく部分(青丸)、その他かっこわるくない程度に仕上げておく部分がある。
重なるべき場所を重ねてみると、おおよそピッタリ。
ヤスリがけ1時間程度で仕上げて、隙間は多くて0.2mmぐらい。
このくらいが自分の加工精度の限界。

倍の時間をかけてやっても、0.1mmぐらいの隙間がどうしても残る。
つぎ込む時間や疲労と、得られるものかっこよさを考えると、これ以上精密に仕上げてもしょうがない。
抜くところは抜いて、決めるべきところのみ決める。

最初の試作でも、重なるように精密に仕上げたんだけど、そもそも寸法を間違えていて、10mmちかい隙間が開いていた。
あれもこれも全部やろうとして、肝心な場所が抜けていたら、台無しだ。
集中力を失わないためにも、適当に抜くようにしないといけない。

2018年3月11日日曜日

飛び出す道具箱を作ってみよう#4

飛び出す道具箱を作ってみよう#1
飛び出す道具箱を作ってみよう#2
飛び出す道具箱を作ってみよう#3
飛び出す道具箱を作ってみよう#4
飛び出す道具箱を作ってみよう#5
飛び出す道具箱を作ってみよう#6 完成

週末は飲み会で、作業ができなかった。
とはいえ、なんだかんだ検討をして、上ヒンジを変更した。
今度はヒンジがわかりやすいようにフエルトペンで縁取りをした。

ふたの出っ張りと、トレイとの接近をなるべく避けるようにした。
もちろんその他の制約条件も守りつつ。
計算では、トレイの「上角」「縁取り」「下R」それぞれの最接近時の距離は、3〜4mmになる。
3箇所単独で最大化するなら楽だが、全体のバランスが良い値を探すのは少し手間がかかった。
重さがかかる方向や、引っ張る方向を考えなくても、これだけ空いていれば、さすがに衝突はしないだろう。
模型で見ても全く問題はなさそうだ。

結果的に、上のヒンジが(画面上でいうと)左にずれた。
元の構想では、なるべくトレイの中心付近を引き上げることを考えていた。
そのほうがトレイがバランスよく引き上げられるだろうと思って、そのようにしていた。
新しい形では、その点が犠牲になる。

とはいえ、重量バランスは、トレイ内の物の配置でも変化するもので、現段階ではわからない要素も多い。
考えすぎるのも無駄だ。馬鹿で行こう。

2018年3月9日金曜日

飛び出す道具箱を作ってみよう#3

飛び出す道具箱を作ってみよう#1
飛び出す道具箱を作ってみよう#2
飛び出す道具箱を作ってみよう#3
飛び出す道具箱を作ってみよう#4
飛び出す道具箱を作ってみよう#5
飛び出す道具箱を作ってみよう#6 完成

2つめの模型を作った。

トレイ部分は、ウチにあったポリプロピレンの端材で作った。
シールの紙は使えない(不透明になってしまう)が、透明なので図を写しとるのは楽だ。

これを切り抜いて、ポンチで穴を開け、今回はハトメでとめた。
穴のサイズとハトメのサイズはあっているので、1号よりも、がたつきは少ない。

模型を動かしている動画をよく見ればわかるが、トレイの角や張り出した縁が、蓋の裏側の出っ張りと干渉しているようにも見える。
計算では、0.8mm程度の隙間が残るはずだ。かなり際どいのだが、その部分に余裕を作ろうとすると、他の部分に無理が生じる。
(蓋のヒンジ取り付け位置もギリギリになっているのが見えると思う)

また、模型の加工精度の悪さもある。
実機では、多少の遊びもあり、当たるかもしれないが動かないことはない。
重さのかかる方向や、引っ張る方向を考慮すると、問題はないと考えている。

P.S. いろいろ考えて、もう少し余裕のある形にすることにした。

2018年3月6日火曜日

飛び出す道具箱を作ってみよう#2

飛び出す道具箱を作ってみよう#1
飛び出す道具箱を作ってみよう#2
飛び出す道具箱を作ってみよう#3
飛び出す道具箱を作ってみよう#4
飛び出す道具箱を作ってみよう#5
飛び出す道具箱を作ってみよう#6 完成

もう3月になってしまった。余計なことばかりして、なかなか進まない。
時間の使い方が下手くそなのだろう
先週話していた「ふたのOpenに連動して、飛び出すように」を、今週検討した。

実機を使いながら、どういう点に注意すればいいかを考える。
ふたを上から見ると、取っ手が入る凹みがある。裏から見るとそれが出っ張っており、うっかりするとそれと干渉しそうだ。
干渉しないようなヒンジの取り付けをしなければならない。

トレイは、本体側(下側)のヒンジ(先週ブログに書いたもの)と、ふた側(上側)のヒンジの間に入ることになる。
双方のヒンジは円形に動くので、両方の円の交点にトレイが位置する。

(2018/03/08 図を差し替え)
下側のヒンジを今のままとすれば、上側のヒンジの取り付け位置(取り付け位置に合った長さ)を調整することで、ふたにつられて動くトレイのコースが決まる。

当初は、プログラムを書いて、しらみつぶし方式で取り付け位置を探すことを考えた。それが一番簡単だろう。
しかしながら、パラメータを変更した時の挙動の確認や、途中結果のチェックのしやすさから、表計算で計算することにした。
Google Spredsheetなら、スマホでも扱えるので、通勤途中、電車の中で作業できる。

数日間の朝夕の通勤時間で、2つの円の交点計算や、ふたの出っ張りとトレイの干渉を調べる表を作り上げた。
その表を使って、さらに数日間の通勤時に、取り付け位置をいろいろ変えながら、無理のないヒンジの取り付け位置を探した。
探しているうちに、ふたを開こうとすると、トレイが一旦下がってから上がるような動きになる取り付け位置も見つかった。
最初に予想していなかったものだ。構造上、閉じた位置以下に下げられないので、そのような取り付け位置は除外しなければならない。
表計算で、いろいろな値を見ておいてよかった。

表計算でじっくり検討した後で、日曜日に厚紙で模型を作ることにした。
Libreoffice DRAWで、部品の絵を書いてシールの紙に印刷した。
そのシールを厚紙に貼って切り抜き、1つ穴パンチで穴を開け、カシメでそれぞれの部品を固定した。
カシメなので、固定したと言っても、回転する。
パンチの穴は6mmで、カシメはおよそ3mmだ。そのため、バカ穴でかなりずれてしまう。
それでもある程度は見ることができる。うっかりミスを避けるぐらいの効果はある(と期待したい)。
動かしてみると、計算通り干渉は回避できそうだ。

とはいえ、精度が悪すぎる。
さらに紙が不透明なので、ヒンジの動きがよくわからない。
もう少し良い模型を作ったほうがいいかも。

2018/03/08 図を差し替えた。下のオレンジの弧の中心がずれていた。言い訳になるが、DRAWはこのような図を書くのに向かない。自分で座標を計算しながら書いているため、計算を間違えている時がある。

2018年3月4日日曜日

冬の海と河津桜

今週は、ダイビングで西伊豆の井田へ行っていた。
このXZ-1は、症状がどんどん悪くなり、海の中では使えなくなってしまったので、もう3年ぐらい水中撮影をしていない。そのため、ダイビングの事をブログには書かないが、相変わらず潜りには行っている。

河津桜が咲き地上では春の気配だが、この時期は1年で一番水温が低い。ロクハンのロングジョンではきつい。体を縦にできない。
縦にしたら、背中から温まった水が抜けて、一気に体温を奪われ、30分ももたない。
とはいえ、水に入っている感を大切にしたいので、体力が持つ限りウエットで潜る。
冷たく辛いが、悪いことばかりではない。冷たい水がウエットの内側に入ってこないように、姿勢を整える技が磨かれる。
また、透明度が高くきれいた。今週は数日前の嵐の影響でいまいちだったが、透明度は少なくとも15mはあった。20mぐらいかな。

日が出ていたので、ポンチョを着ていればとてもあたたかい。
サーフタイムの間、椅子に座りながら眠っていた。
短時間でも、眠ると体力がかなり回復する。眠らないと2本目は寒くてしょうがないが、眠ると1本目と変わらない。
体の中で燃やすものが再チャージされた感じがする。流石に体重も落ちるが。

さらに今年は天野荘に、ウエットのまま入るお風呂ができたので、上がった後は天国だ。
ありがとう天野さん。

井田に入る桜並木道の写真。
今年は、菜の花の「井田」は無かった。
人手不足らしい。

どこもかしこも、春なのか?冬なのか?

今日のいちご

最近になって暖かくなってきたからか、それともIKEAのライトのおかげか、成長が早まっている感じがする。
先週、赤くなり始めていた2つめの実は、どんどん赤くなっていった。

2018-02-24


2018-02-25


2018-02-26


2018-02-27
全体が赤い。

2018-03-01
充分に熟れて、ほぼ変化なし。

2018-03-02
もう完熟だろうと思って、朝食後に食べることにした。

2018-03-02
33mmぐらい。市販品の小さいやつぐらい。前回は大きさを計らなかったが、今回の1.2倍ぐらい大きかった。

2018-03-02
中はあまり赤くならない品種らしい。いちごの香りも味も良かった。

もう1つの実もあるのだが、それはあまり大きくなりそうにない。
元々花が小さかったし、雄しべの花粉も少なかったので、受粉がうまくできなかった。
とはいえ、継続的に観察している。来週にUpする予定。