Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[go: Go Back, main page]


Click here to visit our sponsor



-開発日誌-



あくまで開発またはそれに準ずることをした日だけらしいので、ご了承ください。

パソコン関係の話が中心になるかも。

過去ログ



>3DPaint::H8:7/28

最近日記書いていないのは、何を隠そう、開発進んでいないからです。

マイコンとしてH8を使うことを決意した。H8はCやC++でも開発できるし、またRS232Cコントローラ搭載のAKI-H8をつかえば、パソコンとの通信もらくらく。

とあんいに決めてしまったかこれが結構曲者だったり。

まずROM.フラッシュROM内蔵で、電気的に書き込みできる。ただし100回まで。
100回はないでしょ。100回は。
で、H8には日立の提供する、モニタなるものがある。
ソースも公開されている。
で、そのモニタとは、H8に焼いて、H8をシリアルケーブルでパソコンとつなぎながらリモートデバッグするものらしい。これを使えば、テストプログラムをRAMにロードして実行することができるので、ROMにいちいち書き込む必要がないと。
おお。これはすごい。
でもきずいた。RAMは4KB搭載。すくなすぎ。

いろいろネット上で文献をあさった結果、H8はテスト段階では外部に128KBのRAMをとうさいしてテストし、本番でROMに焼く、といった方法が主流らしい。
けっきょくRAMの増設か。ひでえ。
16bitCPUなのに、RAM一戸を増設する場合、8ビットアクセスになるらしい。二つ搭載すれば16ビットバスモードにできる。8ビットなんてきにくわない。
でも内蔵ROMより多いそとづけRAMつけてもいみないし、結構値段が張るし、配線大変そうなので妥協。

開発環境について。
一応秋月のCコンパイラがあるが、なんか使いにくい。
このさい統合開発環境を構築!ってそんなひまない。
UNIXのGCCをつかうと、フリーでデバッガまでできるらしい。
これはすごそうだ。ぜひともやりたい。
でも挫折。
だいたい、モニタの端末としてならUNIXでもいいが、DirectXを使って、3Dお絵かきを作ろうとしているのにWindowsじゃないと話にならない。(XやOpenGLなんて勉強しているひまない。)
すくなくとも、CYGWINつかって、Windows上に環境を構築!
これも挫折。
さいごに、ベストテクノロジー社のGCC Developer Lite.これはよさそうだ。
でもCygnus GNUPro Toolkitが手に入らなくて挫折。
そのあと「自立型ロボット製作バイブル」というお高い本を買うことで決着。
この本にCygnus GNUPro Toolkitがはいっている。

なんとか環境を作れたが、それでもRAMを増設しなくては。
合宿から帰ってきたからだろうなぁたぶん。

そういえば、ターミナルソフトを使ってH8と通信することは簡単だけども、APIから通信するにはどうすればいいのだろう。
CreateFile系関数を使うんだろうけど...さっぱり。
まだまだ先がながそうだな.....



>3DPaint::TestProgram:7/24

前にも書いたとおり、3Dお絵かきを作ることにした。

3Dという性質上、距離は三点以上ではかることが必須となる。
きょうは部活で、副部長さんと、三点からの距離がわかっている場合、どうやって、そこから座標を算出するかについて考えた...っていうか教えてもらった。

基本は2D平面状での二点。2D平面状だと、こうなる。

上の図で、l,m,nの値より、yを求める。
上下二つの三角形において、ピタゴラスの定理が成り立つので、そこからこのシキが求まる。

n*n - y*y = m*m - (l-y)*(l-y)

ここで、展開して整理すると、

y = (n*n - m*m + l*l) / (2*l)

こういう式になる。
これで、めでたく座標yがもとまり、yよりピタゴラスの定理で、xも計算できる。

この式は3Dの場合にも使える。

(注意:A->Bの方向がX軸、A->Cの方向がZ軸、A->上の方向がY軸です。)

細かいことはめんどくさいので省略するが、上の図で、頂点A,B,Cから求める点までの距離をa,b,cとし、立方体の一辺の長さをlとすると、a,b,c,lから座標(x,y,z)をもとめるには

x = ( a*a - b*b + l*l ) / (2*l);
z = ( a*a - c*c + l*l ) / (2*l);
y = sqrt( a*a - x*x - z*z );

と、こんなかんじ(sqrtは平方根を求める関数)
というわけなんだが、多分この計算はルートや割り算を使っているので、誤差が出るはずだ。
っていうか本当にこれでできるのか心配だったから、エミュレートするアプリケーションを作ってみた。(製作時間12:00~3:00)
DirectXで動く。
求める頂点をキーボードで動かし、そこから三点A,B,Cへの距離を求める。
そしたら逆にその三点A,B,Cへの距離から座標を逆算する。

DownLoadのページにソース付きでおいといたんで、興味あったらDLしてください。



>千と千尋の神隠し:7/23

本当はすごく忙しいこの時期に映画を見に行った。
千と千尋の神隠し。
あくまで個人的な感想なので。

個人的には「おもいでぽろぽろ」のような
とっても痛いところをついてくれるものを期待していたんですが,,,
ちょっとそういう感じではなかったっぽい。

楽しい映画でした。突如迷い込んでしまった未知の世界。
そのファンタジックな世界はいいですね〜
魔法、神、いろんなものが。

もののけ姫とちがい、
かなりこじんまりとしたかんじの世界を演出していると思います。
神隠しに遭うその世界としては
いいかんじでまとまっていたような気もする。

ま、これからはなんなんですが...
まずとあるひともたしかいっていたんですが、
あんなにかんたんに人の心は動きませんよ。
そのあたりの描写にもっと力をいれてほしかった。

あと、もののけ姫はそれほどでもなかったがはしょりすぎ。
はしょっているとかんじるのは、
エンディングへのプロセスの描写が今ひとつだからでしょうか。
べつに最後の時間が短いとかそういうことをいっているんじゃなくて、
某君の名前のなぞが解けるあたりとか、両親を助けるあたりとか、
そのへんがいとも簡単に書かれすぎ。
もっとこった描写をしないと観衆は満足しないんじゃないでしょうか。
あんだけもったいぶらしといて。
むしろ自分は、あのあたりはこじつけ感を強くかんじた。

あと、アニメーションについて
こればっかりは一ついいたいことが。
3D処理違和感ありすぎです。
なんとかしてください。
あんなに違和感あるものだったらむしろそんな処理は使うな。

っていうわけで、今回の映画は可もなく不可もなくって感じです。
エンタテイメントとして、大人から子供までたのしめる、いいアニメでしょう。

持論的にはおもしろい映画には二種類あると。
一つは純粋にみていて楽しい。そういう映画。エンターテイメント。
もうひとつはなにか強力なメッセージをもった映画。
個人的にはどちらもすきですが、
ことアニメに関しては後者にかける力が小さいような
「おもいでぽろぽろ」とか、けっこういいところをついてきていて、
その意味で、あの映画は私のアニメ感をゆるがしました。
正直あの映画には驚いた。こんなのありかとおもった。
でもそれはそれでおもしろかった。

で、今回後者な映画をもとめて見にいったんですが、
私の求めるものはなかったと。
たしかに、千と千尋、あれも映画の雰囲気とか全体像を見ると、
いろいろ考えさせられるものではあります。
でももうすこしメッセージ性を強調してもいいのでは。
でももののけ姫みたいに「生きろ」とかいわれてもね。
共に生きることなんてできませんよ...

むしろラピュタや耳をすませば、もののけ姫も、
エンターテイメントですな。
ジブリ映画の直接的メッセージみたいなのには
個人的に共感できない。
むしろ世界平和や自然保護、動物との共存が
そんなにあっさりと語られるものではない。
ま、子供用映画ならそれでいんですが。

ちょっと期待はずれ...



>新マイコンプロジェクト:7/22

そういえば昨日トランジスタ技術かった。
いつもかわないのだが、ロボットを作る特集をやっていたので買い。
ついでに、メカニカルキーボードなる物を買った。6000ほど。

「よくそんな高いの買う気になるね」といわれたが、まあ、こんりんざいキーボードには困らないのでよしとしよう。

秋の文化祭にむけて、物理部で、新プロジェクトかんがえなくては。
どうせなら、KPCCを生かして、C言語をあつかって何かやりたいなぁと。

このページにきたことがあろうHAPPYなる人が、「ホッケーゲームを作る」とかいっているので(もともと私がふっかけたのだが。)それもやらないのですが、彼の話を聞く限り、自分の仕事がほとんどなさそうなので、なんか別のもやろうかとおもった。
何でも、ホッケーのPKのようなもので、プレイヤーの実際に打ったほっけーの弾をロボットがゴールに入らないようにはじく...というものらしい。
ボードには近赤外線センサをたくさんしこんどいて、それで弾の位置を検出。
ロボットはその情報を元にゴールに入らないように移動。
と、こんなかんじのものだが、マイコンでプログラミングするようなところがなさそう。むしろ電工でできそうだし。

物理部のOBの会社に遊びに行ったときに、ホワイトボードに書いた内容をパソコンに取り込むというおもしろい機械を見せてもらった。
どうやら、ペンから出している超音波を二点で計測し、その位置を算出して、パソコンに取り込んでいるらしい。
超音波とはおもしろそう。
これで、「3Dお絵かき」が作れないかかんがえた。
まず、ペンのなかには超音波発信機を内蔵。
一辺2Mほどの中の空洞なりっぽたいのそれぞれの頂点に、受信機をつける。
ペンから出した超音波がどれぐらいの時間で戻ってくるかを測って、それから距離を計算。

それをパソコンに入力。
あとはパソコンで距離から3D座標を検出して、DirectXでもつかって、3Dな絵を描画。

と、こんなことをかんがえました。
パソコンを使っているあたり、物理部の精神に反しそうですが、このプロジェクトの本質は超音波をつかった距離算出回路あたりに重点があると思うので、その辺は妥協。

3Dでお絵かきできたら楽しそうだし。

そういえば昔ローカルなニュースで、どっかのイベントでどこかの企業が「3Dマウス」なるものを作ったというのは聞いたことがある。
枠の中に、ゴムで玉がとめられていて、その玉を前にひいたり、後ろに押したりすることで3Dでの動きを感知する。
なかなかよさそうだが、今回KPCCの目指しているのはそんな糸でつるされたものではなく、ちゃんとしたペンだ。
もしまともに完成したら、「3Dタブレット」として、大々的に売り出すことも考えている。(うそ)
きっと、3Dモデリング界からの評価はばつぐんのものだろう。(妄想)

で、道具。

とことんKPCCにこだわるという意味で、マイコンプログラミングも、C言語でやりたい。(アセンブリのほうが勉強になるのだろうが、そのへんも妥協)
日立から出しているCPUで、H8というものがあるのだが、秋月電子通商でそのマイコンボード、AKI-H8がうっている。
H8はもともと高級言語で開発されるようにつくってある(とマニュアルに書いてあった。)ようなので、もちろんC言語での開発もOK.

実はわたし、C++は触れても、C言語のほうが苦手だったり。最初のうちは結構コンパイルエラーが。

超音波のほうは、秋月電気通商で、受信機、送信機セットで600円。まあ、問題ない値段だ。
また、きっととして、「超音波デジタル距離計キット(3000円)」なるものが。このキットによれば、この超音波機で0.1−3mの範囲できちんと距離が測定できるようだ。
秋月の回路図集にこのかいろがバッチし載っていたので、これでそのあたりをやろうと

ってなことを考えています。
なるべく、パソコンは、3D表示だけでつかって、H8にいろいろさせたい。

この企画に対し、意見求みます。

キーボードが新しく変わったので、たくさん打つ癖がついてしまったようだ...これからは簡潔に行かないと..





 








Click here to visit our sponsor