改め Objective Technician

はぐれ技術者のやりたい放題

Python で teach myself SQLite

2010-01-30 00:02:47 | プログラミング



研究室で仕事の合間にコソコソと SQL の勉強中.


どうせやるなら Python も一緒に覚えてしまおうと思って,Python 組み込みの SQLite3 を動しながら独習 SQL を読み進めている.






しかし,独習シリーズで新しい言語を覚えていくときのワクワク感はたまらん






AS3:fl.controls.Slider の バグ

2010-01-27 00:34:03 | プログラミング
ActionScript3.0 で Component.swc を使ってスライダー (fl.controls.Slider) を生成すると,スライドトラックとスライダサムの領域が半分ずれて配置される


環境依存のバグなのか何なのかは分からないけど,使うごとに毎回直すのは面倒なので,継承して内部で勝手に修正するようにした.

背景色で半分塗りつぶして反対側にもう半分描くだけ.


package  
{
	import fl.controls.Slider;
	import flash.display.Sprite;
	
	public class MySlider extends Slider
	{
		
		public function MySlider() 
		{
			super();
		}
		
		internal function mySetSize(w:Number, h:Number = 0):void {

			setSize(w, h);
			
			var w2:Number = w / 2;			
			
			var occluder:Sprite = new Sprite();
			occluder.graphics.beginFill(0x0);
			occluder.graphics.drawRect( -w2, 0, w2 - 3, 4);
			occluder.graphics.endFill();
			occluder.graphics.beginFill(0xffffff, 0.6);
			occluder.graphics.drawRect( w2, 0, w2 + 3, 4);
			occluder.graphics.endFill();
			
			addChild(occluder);
		}
		
	}
	
}


楽しくなってきた

2010-01-25 20:12:38 | 勉強
一週間ばかり仙台を離れていた






研究所巡りやら学会やらで、研究者や同世代の学生と議論をする日々。

このごろ、とにかくいろんな人と関わって話をしないとダメだということがやたら耳に入ってきて、考えを広げたり質問やコメントをするスキルを磨いたりするにはそういうの必要だよなぁと自分でも思うので、デモやポスターなんかでは意識的にすっごいアグレッシブにディスカッションを仕掛けるようにしている。



そんなときでも特に無理してキャラを作ってる感じがしないので、ひょっとして自分は二重人格なんじゃないかとさっき一瞬思った。


一年前に学会デビューしたときは直前まで緊張してたけど、今回の自分のポスター発表は終始楽しんでいた。

研究内容を面白がってくれる人がそれなりにいたので,たぶんメッセージは伝わってたはず.



あと,オーラルよりも実はポスターセッションのほうが相手と直接議論ができるから面白いということが分かった。




こういう場に来ると,自分が知らないことがまだまだたくさんあることを再認識できて謙虚な気持ちになれる.

Flash 物理シミュレーション その8

2010-01-13 01:12:16 | プログラミング
これの続き

バイトで作ってる物理シミュレーションFlash3件




いいかげんアイディアが底をついたと思ってても,むりやり絞り出せば意外と出てくるもんだ.


来週は譲れないイベントが立て続けにあって,本来はFlashなんて作ってる場合じゃないが,なんか仕事が立て込んでるときほどいろいろ思いつきやすい.


頭の中に新しい考えがちらついたとき,僕の損得勘定はもろくも飛散する.というわけで,気づいたらFlashDevelopを立ち上げてガリガリとActionScriptを書いていた.


あと,学会終わったらSQLを本格的に勉強したい.今までデータベースはあまり興味を持ってこなかったけど,集合知を扱う言語を覚えれば研究の強烈な武器になりそうな気がする.

というか,純粋にSQLの世界が奥が深そうで面白そう.自由に使いこなせるようになったらたぶん絶対楽しいと思う.



これからますますアレな時期だけど,忙しいとか眠いとか,そういうことの先にあるんです.面白いものへの愛情は.










画像をクリックするとFlashページに飛びます.




・モーターが回る原理(3次元版)





・凸レンズ





・凹レンズ




Flash 物理シミュレーション その7

2010-01-10 20:22:33 | プログラミング
これの続き

バイトで作ってる物理シミュレーションFlash2件



画像をクリックするとFlashページに飛びます.




慣性モーメント(空き缶,ジュースの入った缶,凍らせた缶,を転がすやつ)







単振動で速度がゼロのとき加速度が最大になるのがイメージしにくいと言うので作ったもの.






つづく

ラピッドプロトタイピングの利点

2010-01-07 22:01:14 | プログラミング
ソフトウェアのラピッドプロトタイピングについて



一般に,ソフト開発では初期の段階から最後まで仕様が変わらないことはまずなく,作っていく途中で分かってくる問題点や改善点などに基づいて仕様がしょっちゅう変更される.


なので,はじめから完成物を作るのではなく,先にプロトタイプを作ってそこから改良点を洗い出してまた作り直して…,というループを短い周期で何回も繰り返して完成に近づけていくという方法.


というか,意識してこれをやるというよりは,気づいたらいつの間にかこの形で動いていたというのが僕の周りでは普通.

たぶん.コーディングに限らず,研究でも何でも.




ラピッドプロトタイピングができると,相手の意見をその都度反映することができる,柔軟に動けるので作り直しのコストを抑えられる,などの利点がある.と言われている.




しかし僕は他にもう一点,決定的な利点があると思っている.

それは,相手に対して「仕事がこんなに順調に進んでますよ」とアピールする効果が絶大であるということである.

これは特に,ビジュアルに訴えるところだけ先に作って提案することで,さらに10倍くらい効果が高くなる.


視覚的に動くところを見せると,中身はまだできてないにも関わらず「仕事速いねぇ」という言葉を頂くことができたりするので,これで相手にファーストインパクトを与えておけば,あとはそれなりにいい関係で仕事が進められるというもの.

Flash でぷよぷよ

2010-01-05 01:02:16 | プログラミング
高速バスで久しぶりに偶然マリさんに会った.

話してた中で,ぷよぷよを実装するにはどんな方法があるかという話題になったので,自分も頭の体操代わりに ActionScript で作ってみた.





画像クリックでぷよぷよページに飛びます





なかなか,2010年初めのコーディングにふさわしく,手応えのある実装だった








Flash 物理シミュレーション その6

2010-01-04 20:46:02 | プログラミング
これの続き

バイトで作ってる物理シミュレーションFlash



画像をクリックするとFlashページに飛びます.



ローレンツ力




Papervision3D のプリミティブで alpha 値を直接操作したいときは,useOwnContainer = true にする.

テクスチャは,こんなマテリアル new BitmapFileMaterial("hoge.jpg") を引数で渡すだけ.必要に応じて material.doubleSided = true にする.




Box2D の b2DistanceJoint をいっぱいつなげて作った物体




つづく