2000-12-07[n年前へ]
2001-12-07[n年前へ]
■万座着
まずは、ワタシ、Kさんの運転する車が一番乗りです。これから、他の車が着く深夜12時過ぎ?から職場の忘年会が始まります。ハイ。途中で撮った写真(運転してない時に)は追ってアップのココロです。
そうそう、浅間山の辺りでは星空がとてもきれいでした。けど、雪は…。
■今日見た景色 「軽井沢手前で」
ハンバーグ・ステーキ店で。(リンク)
2002-12-07[n年前へ]
■クリスマスはお引っ越し
サーバーマシンがあまりにロースペックになってきたので、クリスマスに新しいマシンにお引っ越しをします。というわけで、クリスマス前後はちょっと不安定になるかもしれません。もし、色んな不具合など見かけましたら、お知らせ下さると助かります。
■ペンは紙より強し?
ATOK数式処理プラグインの話を追加です。電子ペーパーの辺りを眺めてみても、やっぱり入力装置として考えるだけなら「紙」より「ペン」だろ、とか思ったりします。ペンは紙より強し、と物理的には思ったりするのですけど、現実には紙(他人の書きもの)はペン(自分の書きもの)より強いのかも。
■変数代入機能
というわけで、変数代入機能を追加しました。変数代入の履歴はテンポラリーディレクトリに"log.txt"というファイルで保存されています。なので、そのファイルを消すと"quit"コマンドを使わなくても履歴が消えます。また、変数代入をした後は"quit"をしとく方が、速度的にもあとで間違いが無いためにも良いかもしれません。
■いつかみた景色
今日はなにかしんどくて外へ出ていないので、いつか見た景色を。これは十年以上前の金峰山の麓。もうこの時は台風で景色が大きく変わってしまった後だから、今とあまり変わっていないと思うけど。
真ん中編で立ってるのが私。白樺林がとても好き。
■USB超音波診断装置
本多電子が東北大学仁田新一教授とUSBタイプの超音波診断装置を共同開発した。200gで30万円。
■在りし日の立体的なエキスポタワー
解体が進んでいくエキスポタワーではあるが、在りし日の姿を立体的に眺めてみるのだ。
2003-12-07[n年前へ]
■秋葉原
北千住に行く前に一時間ほど首都高速を神田の出口で降りて秋葉原に寄る。秋葉原に行前に車でお茶の水の書泉ブックマートの前を通過するときに、何だかとても濃い人達がたくさんいる。どうやら、柳沢ななさんのサイン会のよう。面白いものだなぁ。
■Origami Underground
折り紙は普通子供の遊びとして扱われているに違いない。しかし…、というAdultオンリーのOrigami Underground from Lyssacina
2004-12-07[n年前へ]
■ゼンマイ仕掛けの生物おもちゃプレゼント
サイトのオープン記念にゼンマイ仕掛けの生物おもちゃをプレゼントするというページ。「火花を散らしながらユニークな動きをするおもちゃです。仕掛けはノスタルジックですが、デザインはとてもポップ、そしてかなり激しい動きを見せてくれます」というので、欲しい人は応募してみると良いかも。
■80年代を駆け抜けたオレ達の + 8bitセッションズ +
「80年代を全速力で駆け抜けたヒト達への8bitなイベント。ゲームボーイのシーケンスソフト"LSDJ"や"ナノループ"等の話題や"昭和50年代アーケードゲーム事情"、そして"80's小学生ゲーセン攻略"幻のアーケード映像等」という80年代を駆け抜けたオレ達の + 8bitセッションズ +.
■想い出のマガジン タイムスリップグリコ
「みんなが読んだあの雑誌、ファッション、音楽、アイドル、そんな思い出がいっぱい詰まったマガジンたちが、1冊まるごと、かわいいミニチュアサイズで復活しました」という想い出のマガジン タイムスリップグリコ。
「月刊平凡」「POPEYE」「少年画報」「CAR GRAPHIC」「花とゆめ」「Olive」「ARENA 37℃」「4年の学習」「鉄道ファン」が「小さなサイズにもかかわらず当時の記事の中身はもちろんのこと、広告や折込のポスターなども忠実に再現」ということで、このうちのどれか一つでもツボにハマる人であれば、これはぜひ買いかも。ちなみに、私は「花とゆめ」と「4年の学習」辺り。
2005-12-07[n年前へ]
■あなたの恋人は教育スパルタン?それとも溺愛崇拝ファンタイプ!?
Tech総研ブログにあなたの恋人は教育スパルタン?それとも溺愛崇拝ファンタイプ!? 〜 恋人にクリスマスプレゼントを贈り、贈られるならどんなもの? 〜 を書きました。
恋人へのプレゼントをどう選ぶかで、その人が恋人に対して"教育親タイプ"になりそうか、あるいは"溺愛崇拝タイプ"になりそうかがわかるのではないだろうか、と思ったのです。
2007-12-07[n年前へ]
■「超現実的」な風景
青空が覆っている写真に対して、たまにこんな階調変換をかけてみることがある。中輝度を頂点として山型形状の階調カーブ、低輝度領域では階調を強調し、高輝度領域では階調反転をするような階調変換である。
普段眺める町並みや人々の姿は、たいていの場合低輝度だ。決して輝いているわけではない。だから、低輝度領域で階調を強調すると、それらの姿はクッキリと強く描き出される。
その一方、空は青白く眩しい。だから、高輝度領域で階調反転をすると、まるで計測器を通して眺めたような空に変わる。とても非現実的な空になる。
非現実的な空の下で、現実的な街や人の姿がある風景は、とてつもなく現実的に見える。そんな「現実的」が過激に強調された超現実的な景色を、時折眺めてみる。
2008-12-07[n年前へ]
■「フルデジタルスピーカー記事」を整理する
少し前に、「フルデジタル・スピーカー」「フルデジタル・スピーカーを利用した音声出力の指向性制御」といった記事があった。少し内容がわかりにくく感じたので、「フルデジタルスピーカー記事」で書かれていた内容を、(参考文献1,2と技術説明員に質問して内容をもとに、「どういった点についてわかりにくい」と感じたのかを、技術内容を理解するために(自分なりに)整理してみることにした。
このフルデジタル・スピーカー・システムを単純化すると、「"均等な重み付けの"複数ビットを出力するΣΔ変調器(複数レベル出力であるために、1bit ΔΣ変調(ΣΔ変調)よりは低い周波数で駆動しても同等の表現力を持つ)」→「(後段の複数スピーカーや複数ボイスコイル間の出力差がある場合のために)各ビットを複数スピーカーに(時間的に)均等にばらまくように(時間的にシャッフルするように)繋ぐセレクタ回路」→「(高効率の)D級アンプ」→「(基本的には均等な出力を想定した)複数スピーカー/もしくは複数ボイスコイルの1つのスピーカー」という構成であるように見える。
ちなみに、ΔΣ変調器の後に入れたくなるだろうローパス・フィルター(LPF)は省略したシステムになっている。
また、ΔΣ変調の「複数bit出力」はその複数bit間に「重みの差」はないので(そうでないと後段のシャッフリング回路を動作させることができない)、たとえば4bitだからといって、16段階の出力レベルを持つというわけではなく、これは単に5段階を意味することになる。
わかりにくく感じる理由をまず先に書いていくと、記事中の「フルデジタル・スピーカー」というものが実際には「複数の構成(設定)」を持つのに対し、それをあたかも1つのシステム(構成・設定)のことを書いた記事であるかのように読んでしまったことである。「(こういうシステムでは)こういうメリットがある」「(その一方、また少し使用設定が異なるシステムでは)このようなメリットもある」ということが書いてあるはずの説明記事を、あたかも一つのシステムが実現する機能・特性であるかのように読んでしまったからであるように思う。
たとえば、最終段のスピーカーシステムには、
- 複数スピーカーによるスピーカー・アレイを使う場合
- 複数ボイス・コイルを組み込んだ1個のスピーカーを使う場合
また
- スピーカー(もしくはボイスコイル)の数
- 必要となるΔΣ変調器の駆動周波数
- 複数ピット・最終出力間のシャッフリングを行うか否か
こういった、各部分の条件を整理しないで記事を読んでいたために、記事内容を理解することができなかったように感じた。
ということは、こういった各種条件を表か何かに描き整理し、「ΔΣ変調器」「LPF」「D級アンプ」「スピーカー」を組み合わせたような従来システムと比較してみれば、このフルデジタル・スピーカー・システム「ズ」が一体どのようなものであるかを納得することができそうだ。
■複数OSをシームレスに使うことができるVMware「ユニティ機能」がWindows上でも動く
Windows上で動かしている VMware にアップデートをかけると、「ユニティ(Unity)機能」を使うことができるようになっていた。Unity機能とは、仮想PC上で動かしているシステムのウィンドーをホスト側の画面にシームレスに表示する機能である。これまでも、OS X上で動くVMware Fusionや、(やはりOS X上で動く仮想PCソフトウェアである)Parallelsではこういった機能がサポートされていたが、Windowsでも「ホストPCと仮想PCのウィンドーをシームレスに使うことができる環境」ができた。
たとえば、下の画像は一見よくあるWindows画面だが、実際には(ホストOSである)Windows Vista上で動いているウィンドーとVMware上で動かしているWindows 2000が表示しているウィンドーが混在している。
わかりやすいように(下の画像のように)色分けしてみると、水色部分がWindows Vistaのウィンドーで、オレンジ色部分がWindows 2000 のウィンドーである。もちろん、下のタスクバーの中でもWindows VistaとWindows 2000が共存していることがわかる。
現状ではMicrosoft WindowsとLinux系のウィンドーシステムで動くようなので、Windows上でVMwareを使って作業するような人であれば、重宝する状況が多いに違いない。
しかし、今のところ、私の環境では(ユニティ機能を使うと)仮想PC側のWindowでは「Ctrl+"hoge"」キーを使うことができなくなる。CtrlとCapsLKを入れ替えていることが原因なのかもしれないが、これでは使いたいけれども使えない・・・というのが残念なところだ。
2009-12-07[n年前へ]
■エクセルの計算ワークシートをRuby計算スクリプトに変換してみよう
下記で使ったエクセルファイルは、自己参照部分がなく、つまり反復計算が必要ないものを使ってしまいました。反復収束計算が必要なエクセルファイルを「続 エクセルの計算ワークシートをRubyでC言語に変換してみよう」 でサーバ内に置きましたので、下記記事を読んだ後には、上記記事(さらにその後に続く記事など)を引き続きご覧ください。
目的に対して達成方法があまりに過剰、あるいは、あまりに的外れで荒唐無稽なものというのは、それはそれで何だか面白いような気がします。
今日は、そんなものを、ふと、けれど無性に作ってみたくなりました。
先日、Microsoft Excelのような「表計算ソフト」スプレッドシートを使った「静電界計算や非定常熱伝導シミュレーション計算」をみっちりしてきました。離散化された物理式を表計算ソフトウェアを用いて計算を行うというのは、「セル」というメッシュと空間が感覚的に近く感じられることから、とても自然にシミュレーション計算を行う空間分割と計算領域との対応を感じることができるのが、とても便利で良いと思っています。
もちろん、セル間の計算を「反復計算」を行うことで、複雑なことを気にせず、計算が自然に終わってしまう、というのも実に「自然」で「お手軽」で良い、と思っています。
とはいえ、私はエクセルは苦手です。毎年何回か、エクセルでのシミュレーション計算を(悩んでいる)人に教えるという作業をするのですが、それでもエクセルを使うのは苦手です。そこで、エクセルで作った離散化シミュレーション用.xlsシートをRuby Script(プログラム)に自動的に変換する、Rubyスクリプトを作ってみることにしました。そう、「エクセルで物理シミュレーションを学んだ人が、そのエクセルシートをそのまま多言語に移植することができる」スクリプトを作ってみよう、と考えてみたのです。
作ったコードxls2rb.rbは次のようになります(近日中にサーバに置いて置きます)。これは、「反復計算を使った」エクセルファイルを読み込み、それをRubyスクリプトに変換するスクリプトです。「表計算ソフト」スプレッドシートを使いった「静電界計算や非定常熱伝導シミュレーション計算」は、四則演算と周囲の空間が持つ値の計算だけで行うことができます。だから、そういう「条件」下では、そんなスクリプトを作るのも比較的簡単です。初期化や反復計算をそれぞれ「関数」化しているとはいえ、変数はすべてグローバル変数ですし、そこら辺の「エクセル感」も再現してみたスクリプトです。
require 'win32ole' def getAbsolutePath(filename) fso=WIN32OLE.new('Scripting.FileSystemObject') fso.GetAbsolutePathName(filename) end def getAlphabet(n) val=n.to_f/25.0 mod=n%25 result='' result+=('a'..'z').to_a[(n-val)/25] if val>1 result+=('a'..'z').to_a[mod] end def defFunc(state,book) src='' book.Worksheets.each do |sheet| y=1 sheet.UsedRange.Rows.each do |row| x=0 record=[] row.Columns.each do |cell| if state==:init &&cell.Value!='' record<<' '+'$'+getAlphabet(x)+y.to_s+ '='+cell.Value.to_s if cell.Value.to_s!='' end if state==:calc &&cell.Formula!='' t=cell.Formula.sub(/[=$]/,'') t=t.downcase.gsub(/([a-zA-Z]+\d+)/,'$\1') record<<' '+'$'+getAlphabet(x)+y.to_s+'='+t end x+=1 end src+=record.join("\n")+"\n" if record.join('').gsub("\n",'')!='' y+=1 end end return src end filename=getAbsolutePath(ARGV[0]) excel=WIN32OLE.new('Excel.Application') book=excel.Workbooks.Open(filename) initsrc=defFunc(:init,book) calcsrc=defFunc(:calc,book) book.close excel.quit GC.start puts <<INIT # autocreated ruby script from excel file # jun hirabayashi jun@irax.net http://www.hirax.net def init #{initsrc}end def calc #{calcsrc}end 10.times do calc end INIT
ちなみに、このスクリプトを
ruby xls2rb.rb ex.xlsという具合にして(引数は変換したいXLSファイルです)、実行すると、次のようなスクリプトができあがります。ちなみに、ここで使ったex.xlsファイルは、ラプラス方程式を3X3のセルに離散化し解く、実に単純なエクセルシートです。(この辺りのファイル一式を週末にでもサーバ上に置いておきます)
# autocreated ruby script from excel file # jun hirabayashi jun@irax.net http://www.hirax.net def init $a1=1.0 $b1=2.0 $c1=3.0 $a2=1.0 $b2=2.0 $c2=5.0 $a3=1.0 $b3=2.0 $c3=3.0 end def calc $a1=1 $b1=2 $c1=3 $a2=1 $b2=2 $c2=$b2+$c1 $a3=1 $b3=2 $c3=3 end 10.times do calc endつまり、今日私が作ったスクリプトの動作は、エクセルが最初に行う初期化ルーチンを"init"関数として定義(作成)し、次に行う反復計算を"calc"関数として定義(作成)し、それを(適当に決めた)10回繰り返すスクリプトを作り出す、という具合です。ポイントは初期化時には、cell.Valueを用いることで初期数値を設定し、逐次計算時にはcell.Formulaを使うことで数式を使う、という「使い分け」になります。反復計算自体は、ガウスザイデル法によって行われます。
あとは適当に、知りたい値を出力する(たとえば、"puts $c2"といった)出力処理文でも書き足せば、はい、シミュレーション・rubyプログラムのできあがり、というわけです。
離散化された物理計算をするために作成したエクセル・シートを、Rubyスクリプトに自動で変換し、好きに加工できるプログラム…って便利なような、そもそもそんな用途ってある訳ないような…というのが正直で的確な感想だと思います。つまり、それはかなり無意味なツールです。
他の言語に置き換えて、高速化指向の変換プログラムを書いてみるのも(一回くらいはやってみようと思いますが、今ひとつ「魅力」に欠けるように思います。
今日作った、「離散化された物理現象を計算するために作成したエクセル・シートを、Rubyスクリプトに自動で変換するプログラム」なんていうものを、(何だか馬鹿馬鹿しいけれど)意外に少し面白い笑える、そう思える人が一人でもいたら、幸いに思います。
2012-12-07[n年前へ]
■「手書きMathematica」と「元素のるつぼ」
最近のつぶやきから。
Mathematicaは「Windows 7の手書き数式認識」との連係機能を持っている。その機能をタブレット機から使うことができるような、Mathematica 用フロントエンドを作ってみたい。(8:34 PM - 24 Nov 12)
地球上の生命がどう生まれたかはわからないけれど「誰かが作った」と思いたくもなる。元素のるつぼを40億年ほっといたら、いつの間にやら生物が生まれ・動いてるなんて不思議だ。…そんなことが起きるなら、エディタを開いておくだけで、いつの間にかコードが書かれ・テストもドキュメント作成もすべて完了しているはずだ…。(18 Oct)
何しろ、元素のるつぼを40億年ほっとくだけで、頭にコンピュータを備え、双眼の光学カメラシステムや音声処理システムを備え、ありとあらゆるバイオ・メカシステムも備えた「(人間という名前の)物体」が(元素るつぼから)製造され、さらに色んなものを作り出している。…アンビリーバボだ。(18 Oct)
白馬ジャンプ台から”大玉”を落とした時、ジャンプ台の半ばから眺めた「白馬の集落に向かってぐわんぐわんと転がり落ちていく”大玉”」は、まさにシュールレアリズムだった。 (31 Aug)
2013-12-07[n年前へ]
■2台のUSB WEBカムで作る簡易「ステレオカメラ」をRaspbery Pi に繋ぐ
2台のUSB WEBカムを並べた簡易「ステレオカメラ」を作り、Raspberry Pi に繋ぎ、Mathematica for Raspberry Pi で視差(距離)分布を(ものすごく大雑把に)測定・解析するコードを書いてみました。まだまだ、思ったような動作をしてくれないですが、5000円くらいのコンピュータや機材で、思いついたことを簡単に楽しめるのは、なかなか素敵です。
小中学生男子が、夏休みの宿題の自由研究で「巨乳ビジョン」をチョコチョコッと作り出す日も近いかも…なんて思います。
2014-12-07[n年前へ]
■インド版「巨人の星」Suraj The Rising Star
インド版「巨人の星」”Suraj The Rising Star”を観て衝撃を受けた(ちなみに、巨人の星と言っても、主人公が頑張るのは野球ではなくてクリケット)。
登場人物たちは、全員どれも糸で釣られた人形のように動く。いきなり飛んだボールは、あたかも等速度で動き続け、そして、瞬間的に完全停止する。動きが不自然極まりない。…そんな物理法則を完全に無視する不自然なアニメーションを眺めれば、いつも当たり前のように眺めていた自然なアニメーションを作る技術の凄さに気づかされるかも。