2010年1月25日月曜日

痛恨の一メモ

どうも、PCがLinuxじゃなくてUtuxになりそうなQです、こんちには。

会心の一メモ、必殺の一メモときたら、やはり痛恨の一メモも必要ですよね?いや、まったくもってどうでもいいことなんですが。

1.XSetLineAttributesの引数について
Xを使うとどうしても英語の文献に頼らざるを得ない部分が出てきます。まあ少なくとも読むことはそれほど苦痛ではなくなってきているけど。で、この関数ですがX上でwindow内に描く線の属性を設定する関数。

XSetLineAttributes(d,gc,
          線の太さ、
          線の種類(LineSolidとか)、
          線の端点の形状、
          線の交わり方の形状)

ってことらしい。
端点の形状はCapButtが四角形、CapRoundが丸ということになる。CapProjectingというのもあるが、これは「端点からさらに線の太さ半分だけ伸ばした四角形」になる。見た目はCapButtと同じ。
交わり方の形状が、JoinMiterが多分一番直感的な交わり方。「二つの線の外側のエッジの位置が一致するまで、同じだけそれぞれの線を伸ばす」って感じ。JoinRoundは要するに交点を丸くする。説明では「半径=線の太さ半分の円弧で外側のエッジを接続する」。JoinBevelは三角形で面取り。個人的には一番説明が簡単(笑)。



2.XDrawArcの位置指定
引数で円(円弧、楕円、楕円の弧)を描く位置を指定するわけですが、この位置指定の引数は円の中心ではありません。この円を内接円とする四角形の左上の座標です。直感的に勘違いしやすいのだが、おそらく円のより一般的な形といえる楕円を描くことに主眼をおいた関数なんだろうと推測されます。



3.emacsで検索、置換
検索コマンド C-s 検索したいワード
当該のワードにカーソルが飛んだ後、もう一度Ctrl + sを押すと次のワードに行く。
置換には   M-x query-replace (Return) 置換前のワード (Return) 置換後のワード(Return)
当該のワードに飛ぶので置換する場合はy,しない場合はn。終了はq。



4.Roombaの電池について
Roombaの電池をいろいろ頑張っていたわけであるが、いまいちうまく行かない。というか充電して、一旦電池を外し、そしてもう一度付けるとRoombaが動く、という感じである。おそらく原因はRoombaが電池の容量や充電量を検出する機能を持っていることに起因しているのではななかろうかと思う。早い話、電池パックの中でファンを回しているので、そのファンの電流分をRoombaは充電したと思っているが実際はそんなことはないわけで、Roombaにしてみれば「この電池そろそろ寿命だよ?」という気分なのではなかろうか?
一旦電池を外せば、そのあたりのメモリーはリセットされるので「お、普通に電力あるじゃん」と思って動いてくれる、て感じではないかと。

ちなみに今積んでる電池は1年以上ほったらかしだった電池なので多分かなり死にかけ。まあ電池の特性にもよるのだろうが、1.2Vよりも少し低めの電圧で放電する、内部抵抗が大きく大電流を流すと電圧降下が大きい、という特性がある。というわけでこの電池が使いものにならなくなるまではとりあえず使ってみる。
(まあ結局Roombaの性質と合致しないバッテリーシステムなのでこの方法はダメかも・・・普通に放熱板の方が良い)





このブログ
書いてる内容
まとまらず

0 件のコメント:

コメントを投稿