2012-05-13
犬の話
雑記 |
昔,本当に一時だけ家にいた犬の現在を聞いた.
12年前に突然家に犬が居て僕は大変びっくりした.犬は小さなシーズーで母が貰ってきたらしかった.染められたらしくピンクと青の僕から見たら奇妙な犬だった(後から聞いた話だが,ペットショップで染められていたようだ).僕は犬のテンションの高さとよだれ,またそこかしこでおしっこをしていたのが嫌で,"犬が居るのならもうリビングには行かない"と言ったらしい.そんなことがあって,結局1週間もたたないうち(たしか2,3日程度)に他の家に貰われていった.その後,その犬の話題が出ることはほとんど無くほとんど忘れかけていたのだが,そのもらい先から感謝の電話が来ていろいろと思い出した.
現在は一人暮らしのおじいちゃんと暮らしており,そのおじいちゃんの娘から”あの犬が来てからおじいちゃんの暮らしが変わった.犬を譲って貰えたことに大変感謝している”との連絡をいただいた.大変大事にされており,犬もそのおじいちゃんの言うことを良く聞き,お互いに良いパートナーとなっているそうだ.さすがにおじいちゃんも高齢で,たびたび入院をしているが,"犬が待っているから"といって早く治し退院しているらしい.今やおじいちゃんにとってその犬が全てと言っていいほど溺愛し,犬もそれに答えているようだ.
僕の家の犬の事例のように家族全員の同意無くペットを飼うのは,家族にとってもペットにとっても大変不幸なこと.一人でもいやがる人が居るのであればそもそも飼ってはいけないだろう.あのときは本当に突然やってきたのだが,そうする前によく話し合っておくべきだった.
結局,僕は自分が追い出した負い目があり,その犬にあまりいい思い出は無い.犬にとっても良い思い出では無いかもしれない.まさに人の都合で急に2度も生活をかえられたのだから.だが今回の電話でそのもらい手先で十分な幸せを得ているようでほっとした.本当に自分勝手だが罪悪感が幾ばくか軽くなった.
2012-04-25
CC-RD400DW
自転車 |
去年の冬に友人からサイコンを譲って貰っていたのだが,いろいろあって交換することができずにいた.ようやく自転車を触れるようになったので,早速交換してみた.
機種は
キャットアイ CC-RD400DW
以前使用していた同社のCC-RD100と比較すると
・ワイヤレス
・ケイデンス計測機能
この2点が特筆すべき変更点.
ワイヤレスに関しては配線が少なくなり見た目がすっきりしたことにメリットを感じるが,電池の持ちが心配ではある.ケイデンスの計測が可能になったことはかなり嬉しい.従来は目標速度を自分の中で決めて走っていたが,風や傾斜に左右され目標などあってないようなものだった.しかし回転数ならば,ギアを変更することである程度柔軟に対応できる.
取り付けはワイヤレスだけあって非常に簡単だった.ただリヤにとりつけたセンサー部がやや不安定で怖い.フレーム上側へ取り付けなので強い衝撃で左右にぶれないかが心配.1週間たったが今のところ特に問題は発生していないのでたぶん大丈夫なのだと思う.
せっかくケイデンスが計測できるようになったのでケイデンスを目標値として走ることにした.普通に走っているとケイデンスは80〜90程度,そこで心肺機能の強化を目的として同速度でケイデンスを100程度に保つことにした.ここ3ヶ月間全く乗っていなかったので早く鍛え直さなくては.
あと,今回初めて値段を確認したが結構高いモノだった.ポンとくれた友人に感謝.
2012-02-28
Eclipse+Processing+OpenGLでのバッドノウハウ
Processingのverは1.5.1
Eclipseは3.7 Indigo
Intelのオンボードグラフィック,デスクトップATIのグラフィックカード双方で再現性あり.
size()関数でOpenGLを指定した場合に,最初から画面の外にウィンドウが出てしまうような状態,
例えばディスプレの解像度が1280x1024で
size(1280,1024,OPENGL);
と指定すると,
Exception in thread "Animation Thread" javax.media.opengl.GLException: Can not destroy context while it is current
上記のエラーが出る.これを防ぐには
- size()で指定する画面を小さくして,画面外にウィンドウが出ないようにする.
- OPENGLを諦めてP3Dを指定する(P3Dでは平気).
と2種類の対策がある.
追記
発生しない環境もあるようだ.いったい何が原因だったのだろうか・・・
Eclipse+Processing+OpenGLで実行可能ファイルを作成する.
これが正しい手順かは知らないが動いたので個人的メモ.
右クリックでエクスポートを選択.
起動構成にはmain文があるクラスを選択.エクスポート先はどうでもいい.ライブラリー処理はどれが良いかは知らないが,とりあえず一番上を選択.
これでJARファイルは作成される.
次に,Processingに含まれるDLLにPathを通す.マイコンピュータを右クリックしプロパティを選択.そこからシステムの詳細設定を選択.下の方にある環境変数を選択.システム環境変数にPathがあればそこに,ProcessingでVMに与えたPath(僕の場合はC:\processing-1.5.1\modes\java\libraries\opengl\library\windows32)を追記する.この際には
C:xxx\xxx\xxx;C:\processing-1.5.1\modes\java\libraries\opengl\library\windows32
と;を忘れずに.
Pathという項目が無ければ"新規"というボタンを押して
値 C:\processing-1.5.1\modes\java\libraries\opengl\library\windows32
と記入する.
最後に起動用のbatファイルを書く.メモ帳などのテキストエディターで
C:\eclipse\java\7\bin\java.exe -jar "myProcessing.jar"
赤字の部分は自分のPCでJavaが入っている場所.僕の場合はeclipseに付属のものを使用した.黒字の部分では実行したいjarファイルを指定.
後は名前を付けて保存で拡張子を".bat"とし,jarファイルと同じディレクトリに置く.
以上で完成.作成したbatファイルを実行すると,自身の作成したプログラムが走るはず.当然だが自分の環境でしか動かない.ちゃんとしたものはきっとどこかの誰かが書いてくれていると思う.
Eclipse+Processing+OpenGL
3D描画にはせっかくなのでOpenGLが使いたい.
下記と同様に外部JARの追加を行う.
追加するのは
"processing-1.5.1\modes\java\libraries\opengl\library"
内の"gluegen-rt.jar","jogl.jar","opengl.jar"の3つ.
package myProcessing;
import processing.core.*;
import processing.opengl.*;
public class MyProcessing extends PApplet{
private static final long serialVersionUID = 1L;
public void setup(){
size(512,512,OPENGL);
}
float a = 0.0f;
public void draw(){
a += 0.01;
if(a>1)a= -1;
camera(500f * sin(a*PI),500f * cos(a*PI),0f,0f,0f,0f,0f,0f,1f);
background(255);
noFill();
pushMatrix();
box(100);
popMatrix();
}
}
ソースコードはこんな感じ.size()でOPENGLを指定している.もちろんimportも忘れてはいけない.
そして,実行に必要なDLLを読めるようにする.環境変数に登録でもおそらく良いはずだが,今回はJAVA VMへ引数を渡すことにする.
ここから実行の構成を選択.
そしてJAVAアプリケーションかアプレットの引数タブのVM 引数に
-Djava.library.path="C:\processing-1.5.1\modes\java\libraries\opengl\library\windows32"と自分のprocessingフォルダ内のopengl関連のDLL賀ある場所を指定する.
以上で動くようになるはず.
Eclipse+Processing
Processingを使用したのだが,あの開発環境がどうにも好きなれない.
そこでEclipseを導入することにした.
ここに書いてあることは本家のサイトhttp://processing.org/learning/eclipse/にのっているのでそちらを参考にした方がいいだろう.
EclipseとProcessingは適当に用意.今回は日本語化されたものを選択した.
Eclipseでは新規にJAVAプロジェクトを作り適当に名前を付ける.
Processingのライブラリを外部jarファイルとして追加.
ここで右クリックして.
ビルドパスの構成を選択
そしてライブラリーのタブをクリックして,外部JARの追加を選択.
Processing-?.?.?\libにあるcore.jarを選択.
そして本文.
重要なところだけ赤色.
package myProcessing;
import processing.core.*;
public class MyProcessing extends PApplet{
private static final long serialVersionUID = 1L;
public void setup(){size(512,512);}
public void draw(){
background(255);
line((float)mouseX,(float)mouseY,(float)pmouseX,(float)pmouseY);
}
}
さらにプレゼンテーションモードみたいな感じにするためには.
あたしくクラスを作成して.
package myProcessing;
import processing.core.*;
public class MainClass
public static void main(String args[]) {
PApplet.main(new String[] { "--present", "myProcessing.MyProcessing" });
}
}
と書いて,このクラスを選択してから実行する.緑色のところは,"パッケージ名"."自分の書いたProcessingのsetupとかdrawとかあるクラス"と書いておく.
ちなみに
PApplet.main(new String[] {"myProcessing.MyProcessing" }
と"--present"を抜けばウィンドウモードで起動できる.
2012-02-17
GRAVITY DAZE
ゲーム |
PS Vitaを発売日に購入したは良いが,やるゲームが無くほぼTwitterクライアントとしてしか動いてた.しかしこれにてようやくゲーム機として動作した.
Vita発売時にGRAVITY DAZEが近所のゲーム店に体験版をプレイし購入を決定したが,発売日が2月程度と書いてあり,非常に落胆した記憶がある.それだけこのゲームに期待していたということでもあるが,はたしてその期待通り楽しめた.
と言ったところ.
ゲーム性は群を抜いてすばらしく,正直他の駄目な点を補ってあまりある感じです.特に操作面,重力操作による移動は最初は難しいですがなれてくると結構ぐりぐり動けます(未だに酔うけど・・・).加速度センサーとの融合具合もすばらしく,従来のとってつけたようなおまけ機能では無くゲームの操作体系にきちんと組み込まれている.細かい調整は加速度センサ,大きくはスティックと自然と使い分けが出来るようになった.よく作り込まれた町と相まって,そこら中を走っているだけでもなかなか楽しい.戦闘についてはいろいろとアクションはあるのだが結局メインは重力キック.この重力キックなんかは当初はテンポがそがれると思っていた.しかしレベルが上がり操作技術が向上すれば結構連発することも可能になってくる.ヒット時の跳ね返りから再度狙いを付けるという一連の流れが自然に出来るようになると結構爽快.ただ後半の敵にはイライラするような攻撃,当たり判定を持つものが多く何度かゲームオーバーになった.タイムトライアルなどミニゲームもちょっとがんばれば何とかなる(ステータスはマックスまで上げた)ので結構がんばってしまう.
グラフィックはトゥーンレンダリング?コミック調のが用いられており,これが世界観とよくマッチしていて非常に良い.また演出面でも加速度センサをうまく取り入れており,その点でも好評価.町なども十分に描画されており,よくぞここまでと思ってしまった.そのためかやや処理落ちする場面も多く見受けられたが,致し方ないことか?
音楽は各町や場面にあったものが使用されており,違和感なくすっと入ってきた.たぶんゲームに熱中しすぎていた(操作が忙しい)のだろうが,強く印象に残るというのもそれほど無かった.一番印象が大きいのはタイトルのBGM.
キャラクターについては当初キトゥンの外観に関しては微妙な立場だったが,ストーリー上での振る舞いなどを見ているとだんだんと愛着がわいてきた,クリア後の特典で某服をもう一度着られるのは評価が高い.たぶんDLCとかで他にも衣装が出るのだろうなと思いつつも,某服をクリア後は愛用している.深く描写される人物は,それほど多くなく正直キトゥンとクロウ以外は添え物的な状態.
ストーリーは正直なところ評価しかねる.メインストーリーは王道ものでそれほど当たり外れが無い.しかし,大量にあった世界の謎,伏線的なものは中途半端な気がしてならない.DLCなどでさらに追加されるのだろうか?それともユーザの想像にお任せします方式だろうか?2のために全ては明かさなかっただけなのだろうか?各キャラクターについてもそれぞれストーリーが無く,急に出てきた感が否めなかった.
ロード時間,ゲーム性に入るのかもしれないが,ミニゲームのリトライにいちいち結構待たされるのだけが気に入らない(この点で評価するならば×を付けたいほどに,他は許容範囲なのだけれど).そもそもUMDからフラッシュメモリへの変化に期待しすぎていたようだ.動作音がなくなったのがメリットか.
とだいたい感想は以上ですね.久しぶりに一気にゲームをやった.それくらい熱中した.
追記:どうしても気に入らないこと
なぜミッション中に途中で放棄してリトライできないのか?
タイムトライアルなどでは,失敗した時点で即リトライしたいのだが,このゲームそれが出来ない.イライラが加速する.この部分改善して欲しい.
2012-02-04
VisualStudioの色の変更
これが正しい方法かどうかは知らないがとりあえずメモ.
念のため現在の設定をVisualStudioからツール->設定のインポートとエクスポートから現在の設定を保存.
http://studiostyl.es/
このサイトで好きなカラースキーマをダウンロード(htm)
これの拡張子を".vssettings"に変更して
ツール設定のインポートエクスポートからインポート.
ただしこの方法ではフォントがデフォルトに戻る.
他にはダウンロードしたhtmと
先ほど保存した設定ファイル"XXXX.vssettings"をテキストエディターで開き
<FontsAndColors Version="2.0">の中の<Item Name...>を全て入れ替えるという手もあるが,間違えると面倒かもしれない.
2012-01-29
アーマード・コアV
ゲーム |
シリーズを通して(3SL以降ですが)プレイしているので購入.
1時間ほどプレイした主観的感想
- 画面の表示が見づらい(慣れ?)
- 壁蹴りの方向の制御が難しい.
- 初期コンフィグの操作性が悪い(特にブースト関連)
このなかでもキーコンフィグについて自分の設定を下記に記す.
- ブーストON/OFF R3
- ジャンプ(ブーストドライブ) L2
- ハイブースト(ブーストチャージ) R2
- グライドブースト □
- R武器 R1
- L武器 L1
- S武器 L3
- RECON ○
- モード切替 ×
- ハンガーシフト △
他初期配置.
このキーコンフィグの主眼はずばり4,fAの操作体系からの引き継ぎ.またブースト関連の使いやすさを重視.
ハイブーストは4,fAのQB感覚で使用するためR2へ
ジャンプもまた使用頻度の高さからスティックから手を離さず操作できるL2へ
ブーストのON/OFFは主にジャンプの隙を消すため,素早く二度押す機会が多かったためR3へ配置
ショルダーユニットは現状散発的な攻撃やON/OFF程度のことが多かったので,操作性はそれほど良くないがスティックから手を離さずに押せるL3に設置
2012-01-26
OpenCV2.3.1
研究 |
注:環境 Windows7 64bit
OpenNI および NITEは32bit版
もしかしたら64bit版で無いと出来ないのかも???
KinectをさわりたくなったのでOpenCV+OpenNIの環境を整えることにした.OpenCV2.3からはOpenNIに対応しているという.そこで是非ともそれを使ってみたかったので,OpenCV2.3.1をソースからコンパイルすることにした.
そこでOpenCV2.3.1をSourceForgeのページからダウンロードした.しかしこれが悪いのかどうかわからないが,
OPENNI_PROME_SENSOR_MODULE_BIN_DIRの設定がうまくいかない.
WARNING, PrimeSensor Module binaries directory (set by OPENNI_PRIME_SENSOR_MODULE_BIN_DIR variable) is not found or does not have PrimeSensor Module binaries.
このようなエラーが検出され,
OpenNI: YES
OpenNI PrimeSensor Modules: NO
と,OpenNI PrimeSensor Modulesの対応が出来ていない.どうやってこれを直すのか今ひとつわかっていない.ソースをSouceForgeではなくSVNの方からとってこれば大丈夫なのであろうか?
追記
SVNからソースを手に入れても結局一緒だった.気持ちが悪いのでチェックボックスは外して,KinectはOpneNI単独で動かすことに.何だったのだろう?
ちなみに海外では
C:\Program Files\PrimeSense\...
を
C:\Program Files\Prime Sense\...
というようにスペースを入れると良いとか(やってみたが効果なし)
gitからNIのソースを入手してコンパイルするべき(未確認)とかありました.








