So-net無料ブログ作成
JavaScript・ソフト・ゲームなど ブログトップ
前の10件 | -

ドーンとなった花火2 [JavaScript・ソフト・ゲームなど]

今日も外は雨・・・そんなところで、

再プログラムしていたのですが・・・

3Dでは見づらい感じでしたので、2Dに変更しました。




今度は打ち上がるところと残像(たいしたものではありませんが)もプログラムしてあります。

ご参考になりますでしょうか?



そう言えば、2020年(もう来年ですが)から小学校でもプログラミングが必修になるそうですね。
社会、算数、理科、音楽、家庭・・と結構多岐にわたっていて先生はさぞかし大変かと。

文部科学省の「小学校プログラミング教育の手引」を拝見しますと、
正三角形を描く、を例にあげているので見て頂くといいかと思います。

どれくらい進んで、何度曲がって・・・と、昔懐かしい?タートル言語でしょうか?

今は廃れてしまっている気もしなくはありませんが、LOGO言語ですね。

上の手引きの図を見ると、
「Scratch 3.0」というプログラムを推進しているように見えなくもありません。
どうなのでしょう?

java script とかではだめなのでしょうかね???
エディタと、Chromeだけでプログラム出来ますのでお勧めなのですが○×△

最近気付いたのですが、右クリック→検証(I)で右上の方にエラーのボタンが表示されるのですね。
(いまさらっ、とお恥ずかしいかぎりですが、汗:エラーコードも表示されるので結構便利です)

キーイベント:割り込みとか、宣言とかの順番、・・・の泥臭い?部分がたいへんなのですが。
そこを整えるのがプログラム的思考・・と、ちょっとセンチメンタル??に浸りすぎです?
(?マークばかりですみません)
dumbo自身はワンボードマイコンMZ-40Kとか懐かしいですが、ご存知?
nice!(15)  コメント(0) 
共通テーマ:趣味・カルチャー

ドーンとなった花火? WebGL [JavaScript・ソフト・ゲームなど]

久しぶりにプログラムのお話です。

外は雨ですが、そろそろ花火シーズンですね。
というわけではないのですが、花火をプログラムするとどうなのかなと思いまして、作ってみました。

球の方程式は、x*x+y*y+z*z=r*rですね。

このままではプログラム出来ませんので、媒介変数表示というものに変換するらしいです。
x=r*cosθ*cosϕ
y=r*cosθ*sinϕ
z=r*rsinθ
ただし(0≦θ≦π 0≦ϕ<2π)

そしてrを時間で拡大するとともに、落下させます。
落下は重力加速度:g = 9.8[m/s2]として、h=ー1/2*g*t*tでしょうか?

プログラム上では重力加速度は厳密にする必要はなくて、
時間の二乗で距離を増やせばそれなりに見えます。


2Dでは面白くありませんので?3Dで表示してみましょう。




5(星の大きさ)



星が広がっていくところだけで、
かなり前のブラウン運動のプログラムの焼き直しでした。

あとは花火の玉が上に上昇するところを付けくわえて、軌跡を残す(時間=距離を逆に辿って暗くすると簡単、かんたん?)ようにするとOKでしょうね。

ところで、WebGLって、iPhoneでも再生できるのですね。
うーん携帯(スマホ)恐るべしです。
(環境によっては再生できないこともあると思いますので・・・すみません)
nice!(12)  コメント(0) 
共通テーマ:趣味・カルチャー

お祭りでおなじみ?のゲームです。④ [JavaScript・ソフト・ゲームなど]











以前のやきなおしですがねっ。すみません手抜きで。

キーボードの2,4,6,8でポイを動かして、Bでつかまえます。
タグ:ゲーム

心電図シュミレーター [JavaScript・ソフト・ゲームなど]

心電図の元はなんなのでしょうか?
よく言われるのが、心臓のひとつひとつの細胞が発生する電気の合計である、ということです。

個々の細胞の電気変化を示したものが活動電位です。
活動電位.png
細胞ひとつの波形は、こんな感じでしょうか?

その活動電位の合計が、心電図として記録されるということのようです。


最近(といっても2013年???)スーパーコンピューター上で心臓を作成し、心電図をシュミレートするという成果が発表されました。
UT-Heartですね。
なんと、20 million myocyte modelsとのことです。

Science Advances 01 May 2015:Vol. 1, no. 4, e1400142 DOI: 10.1126/sciadv.1400142.からです。

以前から心臓をシュミレートする報告はあったのですが、さすがスーパーコンピュータといったところです。



さて、我々のパソコンではそんな芸当は無理?ですから一番簡単な、2細胞からなるシュミレーターをご紹介しましょう。

本家は、こちらです。

結構いろんなソフトをインストールしないといけないようですので、例のごとくJavascriptで書いてみました。

WebGL Volume Rendering



バッサリと簡略化し、曲線ではなく直線であらわしましたが意外といけるようです?
(著作権上問題があるようでしたらご連絡頂けるようでしたらありがたいです。
プログラム自体は、上下の波形の差分を表示しているだけの簡単なプログラムです。)

このプログラムではRとT波をシュミレートできますね。

http://nsa.kpu-m.ac.jp/gijutu/new-ecg/macpu11.pdfからのお話でした。

WebGLでボリュームレンダリング③ と言えばCTですね。 [JavaScript・ソフト・ゲームなど]

色々描いてきましたが、ボリュームレンダリングと言えば、OsiriXでしょうか。

DICOMファイルを3D描画するソフトですね。(それだけではありませんが)
CTや、MRIなどのモダリティの画像を編集するソフトとして有名でしょう?


DICOMは、Tiffを拡張したようなフォーマットで、いろんな情報を記録することができる便利な形式です。


さて、DICOMに興味があり、下はだいぶ前に作成したソフトです。
サンプルファイルは、色々なところにあるのですが、dumbo的に、人ではない動物さんを探してみました。
soft.jpg
256×256×256の3Dテクスチャでは、こんな感じです。

では・・・

で、再びブログで動作するソフトを作ってみました、
下記の追記をご覧ください。

例のごとく、Canvas+WebGLで、かなりのCPU負荷があると思いますので、別ページとなっています。
(javascriputで128×128×128です。)

追記を見る


WebGLでボリュームレンダリング② ケンミジンコさんですが・・・ [JavaScript・ソフト・ゲームなど]

盛り上げてみようでご紹介した、ケンミジンコさんが再びご登場です。

3D_01.jpg
以前の画像はこんな感じです。
これをWebGLで行うとっ、

で、ソフトは下記の追記をご覧ください。
再びCanvas+WebGLで、かなりのCPU負荷があると思いますので、別ページといたしました。
(今回は表示だけですので128×128×128です。)

追記を読む


WebGLでボリュームレンダリング 拡散方程式を再び [JavaScript・ソフト・ゲームなど]

お久しぶりで、dumboです。
さて、みなさまご察しの通り、WebGLにはまってました。


今日のお話は、ボリュームレンダリング(volume rendering)です。

さて、VMrendと言えば3Dテクスチャ(3D Texture Volume Rendering)ですが?、
残念ながらWebGLはGLSLのVer1.00ですので、使えないのでした。

通常は、レイキャスティング(Ray Casting Volume Rendering)というところでしょうが、
いろいろ示されているので、違った方法をということで、

2Dテクスチャで行ってみました。

結果は下図です。
グレイスコット3D.jpg
以前のものとは違っていますが、まあこんなものでしょう。

Volume Renderingは、こちらが詳しいでしょうか?
(有名な方のようで、3Dテクスチャをアルファブレンディングしていますね)

正攻法は、Progressive Volume Rendering using WebGL and HTML5
by Lisa Tumbleton, B.Sc. Computer Scienceが詳しいでしょうか。

以前の記事は、こことこことここです

では、


あっ、ソフトは下記の追記をご覧ください。
Canvas+WebGLで、かなりのCPU負荷があると思いますので、別ページといたしました。
(64×64×64なのですがねぇ、C++で行えば、512×512×512でもぐりぐり動きます。
                 プログラミングの腕かなぁ?しかし、javascriptはデバッグしづらいですね・・・)

追記を見る


ちょっと戻ってブラウン運動です。WebGL [JavaScript・ソフト・ゲームなど]

canvasで3D表示ができるようなので、またちょっと調べ物ではまってました。

ブラウン運動をプログラムしてみました。
2種類の粒子が混じっていく様子ですね。




30
5nm(粒子の大きさ)

  

canvas&WebGLですので、ブラウザによっては動かないかもしれません。
色々出来るようなのですが、初めはこんなもんでしょうか?

WebGLはここが詳しいですね。
では、
タグ:Canvas WebGL

で、動かすと。ブラウンラチェットモーター [JavaScript・ソフト・ゲームなど]

そのまま式をあてはめて、ブラウン運動で回るか試してみました。




ラチェットなし

30
5nm(粒子の大きさ)
200個(粒子数)





重なりも適当ですし、パラメーターも適当ですのでどうなのでしょう?あってるかなぁ?
(粒子同士のぶつかりとか、粘性が温度で変化するとか、粒子の持つエネルギー量とか・・・無視しちゃってます)
上は、500×500nmの大きさの四角内が表示されてます。



でも、ラチェットがあるとちゃんと回りますね。当然と言えば当然●×△
(細かい定数を煮詰めるといい具合に回るような感じがします・・・が・・・)

でも、これだけでは回転数が足りないでしょうかね。
やっぱりラチェットがカチカチと動かしているのでしょうか?
もうちょっと考えないとだめでしたかね。

(追加、0.1秒間隔のプログラムですので、10Hz/2?以上は計算できませんねぇ、
若干工夫してそれ以上も計算出来るようにはしてますが・・・)

タイピング、のお時間です。 [JavaScript・ソフト・ゲームなど]

ついでに作ってみました、頭の次は指の体操です。




                        



IMEを英数にして打ち込んでください。
(任意の英数文字のtxtファイルも読めるようにしました。エラーチェックはしていませんのでご容赦ください。)

では
タグ:キーボード
前の10件 | - JavaScript・ソフト・ゲームなど ブログトップ