mieki256's diary



2023/06/10() [n年前の日記]

#1 [cg_tools] 画像生成AIで白黒漫画をどうにかできないか実験中

画像生成AI Stable Diffusion web UIを使って、白黒漫画の中の1コマを実写風画像に変換できないものかなと実験中。

これはちょっと失礼な話かもしれないけど、なんとなく思いついてしまったので…。かつて、写真をトレスして表紙イラストや漫画のコマを描いてることが判明して、ネット上で若干炎上してしまった漫画家さんが居たのだけど。そういった方々が描いた漫画のコマなら、写真を元にしてる可能性が高いだろうし、画像生成AIで実写風画像に変換しやすいのではなかろうかと閃いてしまった、という…。一般的には否定されがちなソレだろうけど、こういう実験をする時はとてもありがたい存在。何がプラスになるのか分らんもんだなと…。

そんなわけで、実際に変換しやすいのか試してたのだけど…。これが全然上手く行かない。仮説は完全に間違ってた。写真をトレスして描かれた(可能性の高い)線画だから、その分変換しやすい ―― そんなことはありえないのだなと分かった。

そもそも、実写風画像への変換どころか、イラスト風の着色処理すら上手く行かない。
考えてみれば、本来そこには色があったはずの光景を白黒で描いてしまった時点で、そこに何が描かれているのか推測する際に必要になるであろう膨大な画像情報が欠落してるのだよなと…。

例えば、コマの中で縦方向に線が数本描かれて空間が区切られていたとして、その各空間が一体何を示しているのか推測せよと言われても、AIどころか人間ですら推測は難しいわけで。作者から、ここは人間の足、ここは腕、ここは背景、ここは木の幹、ここは電柱、などと説明でも受けない限り分かるわけがない。人間ですらそうなのだから、ましてAIに正しく認識させることなんて無理だよな…。

lineart_ss01.png

もっとも、漫画の場合、そこに描かれているものが何なのか、読者が推測できなかったら漫画として成立しないので、それが何なのか一目で分かるように、様々な工夫がされているわけだけど。 漫画を読んでる側は一切気に留めてないけど、漫画として読めている時点で、様々な工夫が1コマ1コマに盛り込まれている。

画像生成AIを触り始めてからというもの、漫画、特に日本で普及した白黒漫画は、よくまあここまで色んな技を駆使しているなと感心しまくりというか。それと同時に、AIがスゴイぞ、AIヤバイぞ、などと言ってるけれど全然まだまだだよなー、と…。人間のように漫画をスラスラと読める状態には程遠い。そもそも、1コマの中に一体何が描かれてるか、真っ当に認識することすらできてない…。

コンピュータやメカトロニクスで人間がやってることの一部を再現しようとすると人間の凄さが実感できる、という話があるけれど。それってホントだなと。人間ってスゴイ。

2022/06/10(金) [n年前の日記]

#1 [blender] blenderで作業中

2D横スクロールSTGに出てきそうな、グルグル回転する雑魚敵っぽいアニメーション画像が欲しくなってきた。blender 2.93.9 x64 LTS を使ってそれっぽいモデルを作成して画像を作成。使い方をかなり忘れてる…。

とりあえず最終的に2D画像が得られればいいかなと雑な感じでモデルを作ってたけど、そのうち3DCGモデルとして使う場面もありそうな気がしてきた。ローポリモデルとしても使えるように作り直したほうがいいかな…。

#2 [cg_tools] ImageMagickでスプライトシート画像を作成

blender で作業をして、512x512ドット、16枚の、雑魚敵っぽい感じのレンダリング画像が得られた。これを、64x64ドットにリサイズして、タイル状に並べて、1枚のスプライトシートにしたい。

以前作業した時は ImageMagick を使った気がする。日記を検索したら作業手順が見つかった。

_ImageMagick montage の覚書

magick montage で目的は果たせそう。

環境は、Windows10 x64 21H2 + ImageMagick 7.1.0-5 Q16 x64。

Lanczosアルゴリズム+アンシャープマスクで、64x64ドットに縮小しつつ、タイル状に8x2個並べる場合。
magick montage -tile 8x2 -filter Lanczos -resize 62x62 -unsharp 10x5+0.7+0 -geometry +1+1 -background none render\*.png PNG32:spritesheet.png

Cubicアルゴリズム+アンシャープマスクで、64x64ドットに縮小つつ、タイル状に8x2個並べる場合。
magick montage -tile 8x2 -resize 62x62 -unsharp 10x5+0.7+0 -geometry +1+1 -background none render\*.png PNG32:spritesheet.png

成果物。 :

そんな感じで、64x64ドットの画像が並んだスプライトシートが得られたので一応アップロード。CC0 / Public Domain ってことで。何か使い道がありそうなら自由に使ってください。

フルカラー画像(RGBA各8bit)。

spritesheet_lanczos.png
_spritesheet_lanczos.png


GIMP 2.10.30 で読み込んで、アルファチャンネルを1bitにしたもの。レイヤー → 透明部分 → アルファチャンネルのしきい値、で調整した。

spritesheet_alpha1bit.png
_spritesheet_alpha1bit.png


EDGE2 1.16 dev015 で48色に減色、かつ、少しだけドット修正したもの。

spritesheet_48col.png
_spritesheet_48col.png


アニメGIFにしたもの。

spritesheet_animegif.gif


レンダリング画像(512x512、16枚)。

_render.zip


元のblenderファイル(.blend)も一応置いときます。blender 2.93.9 x64 LTS で作成。

_enemytypec02_lowpoly.zip

#3 [nitijyou] 日記をアップロード

2022/05/20を最後に日記をアップロードしてなかったのでアップロード。

2021/06/10(木) [n年前の日記]

#1 [zatta] 家の門に反射シートを貼り付けようとしたけど失敗

昨日、反射シートとマグネットシートでソレっぽいものを作ったので、家の門に貼り付けようとしたけれど、これが失敗。全然くっつかない。ポトリと落ちる。

門をよく調べてみたら、門の裏側に貼ってあったシールに「アルミ製」と書いてあった。それじゃマグネットシートが付くわけがない…。スチール製かなと勝手に思ってたけど、そんなわけないよな。フツーこういうのってアルミ製だわな。

シールとして貼り付けるしかないか…。絶対そのうち経年劣化でボロボロになって、シールの跡が残って汚くなるからちょっと嫌なのだけど、それ以外の手は無いよな…。いや、待てよ。マグネットシートがくっつく材質の何かを下地として貼っておけば…。何か手がありそうな気もしてきた…。

#2 [digital] スマホ内のメモをPCで編集したいのだけど

Androidスマホ HUAWEI P9 lite に買い物リストを入れて持ち歩きたい。

P9 lite には「メモ帳」というアプリがプリインストールされているので、フリック入力でメモを打ち込んでいくことはできるけど、自分はPCのキーボード入力に慣れているので、入力が面倒臭い。目の前にPCがあるのに、スマホの小さい画面でポチポチ打っていくのもなんだか馬鹿馬鹿しい。PC側で入力・編集することはできないものだろうか…。

ググってみたら、Google Keep というメモ取りサービスがあることを知った。

Android機と同じアカウントで、PC + Webブラウザを使って Google Keep にログインして、メモを編集して。Android機でアプリを立ち上げて同期すれば…。まあ、これで目的は果たせるかな…。オフライン環境でも読めるのかどうか、という不安はあるけど。

Googleドキュメントを使う手もあるかな…。PC + Webブラウザで、Googleドキュメントを編集して、Android機で「ドキュメント」を起動して同期。こちらは、ファイル毎にオフライン利用設定を変更できるので、ネット接続できない状態でも閲覧ぐらいはできるだろう。たぶん。

とりあえず、買い物リストをどうにか、程度の話であれば、こういうやり方でなんとかできそう。

キーボードを追加する方法もあるっぽい。 :

スマホの入力環境を強化するというか、Androidスマホからキーボードを使えるようにしてしまう、という選択肢もあるらしい。

_PCからスマホに文字入力

  • microUSB端子にUSBキーボードを差す。
  • 抜き差しが面倒なら、Bluetooth接続キーボードを導入する。
  • Wi-Fi接続経由でPC側のキーボード入力をスマホ側に反映させる。ただ、Root化が必要らしい…? 反応も遅いらしい。
色々あるのだな…。

#3 [anime] 「漫勉neo 安彦良和先生回」を視聴

NHK教育(ETV)で漫勉の新シリーズが始まったので、昨日録画しておいたソレを視聴。漫画家、安彦良和先生の回。1stガンダムのキャラデザ・アニメーターとしての名前のほうが有名かもしれない。

漫勉は、色々な漫画家さんの、漫画制作の様子を映像で紹介していく番組。各作家さんに数日間ほど密着取材というか、作業の邪魔にならない範囲で作業場に複数のカメラを設置して撮影していく番組スタイル。

さておき。安彦先生の漫画の描き方を目にして、かなり驚いてしまった。まず、ネームを一切作らない。原稿用紙の前で数分無言で悩んでから、いきなり枠線を引いて、下絵を描き始める…。その下絵も、アタリを一切取らない。ほぼ一発描き。なんでも、アニメーター時代はとにかく早く描かなきゃいけないから、アタリを取ってる時間すらもったいなくて一発描きに近い描き方になって、そのスタイルが漫画制作時も続いてる、との話で…。いやはや恐ろしい…。

ペン入れは、筆+黒のカラーインクで行うようで。司会の浦沢直樹先生も、作品内で数ページほど筆で描いた経験があるそうだけど、ペンは押し付けて描く、筆は浮かして描く、後者のほうが神経を使うから筆で全部描くのは無理だと思った、てな感じの解説をしていた。

アニメーター時代の安彦先生は、ペンで描くのがどうにも慣れなくて、漫画家になることを諦めていたけれど、宇宙戦艦ヤマト制作時に松本零士先生から「筆という選択肢もあるよ」と一言貰ったことで、安彦先生の中で漫画家になる道が見えてきたのだとか。松本零士先生、GJ。「安彦良和はワシが育てた」と言っちゃってもいいのでは。まあ、松本先生はきっと覚えてないだろうけど…。何気ない(?)一言で誰かの人生が開けていくこともあるのだなあ…。

何にせよ、安彦良和先生の漫画の描き方は、実に独特で、達人の域としか言いようがないなと…。

毎回そうだけど、相変わらず勉強になる番組だなと感心。この映像を後世に残せたら、この時代の漫画家さんはこういう感じで描いてました、てな感じの貴重な映像資料になるだろうな…。

2020/06/10(水) [n年前の日記]

#1 [nitijyou] 体調が悪い

朝から腹痛。一日中寝てた。

人工甘味料入りのジュースを飲み過ぎたのだろうか…。人工甘味料は、取り過ぎるとお腹を壊すし…。

2019/06/10(月) [n年前の日記]

#1 [nitijyou] 妹からヘッドフォンを貰った

妹からヘッドフォンを貰った。

音が聞こえづらいので捨てようとしていたらしいが、自分が使ってるTV用ヘッドフォンと同じ製品、audio-technica ATH-P100M で、かつ、自分が使ってる個体よりまだ耳を押さえつける力が強かったので、妹が捨てようとした個体を使って、自分が使ってた個体は捨ててしまったほうがマシだよな、という話に。

この ATH-P100M、軽いし、比較的値段が安いのは良いのだけど、使ってるうちに横方向にどんどん広がってきて、耳を押さえつけなくなるから音もどんどん聞き取りづらくなるという。まあ、どんどん買い替えていくことが前提の製品なのだろうけど。

そもそも、TV用のヘッドフォンは、なかなか良い製品が無くてちょっと困っていたり。昔、SONY製の、頭の後ろにバンドがくるタイプを持っていて、ソレが非常に使いやすくて重宝してたのだけど、後継製品が出ないまま消えてしまって…。

皆、TVの音を何で聞いているのだろう。

#2 [nitijyou] 歯医者に行ってきた

雨が降っていたので徒歩でS歯科まで。スニーカーを履いていったら靴下までビショビショに。長靴を履いていくべきだった。

15:45-16:00まで治療。今回も根管貼薬処置、と診療明細書に書いてあった。検査の欄にEMRと書いてあったけど、ググってみた感じでは、根の長さを測定してるらしい。電気抵抗で予測する、と書いてあるな…。

2018/06/10() [n年前の日記]

#1 [movie] 邦画の実写映像はどうして小汚いのだろう

思考メモ。

昨晩、TVをつけたら、「海街diary」なる映画が流れていたのでなんとなく眺めてたのだけど。なんだかちょっと気になったことが。漫画原作の実写映画化だから話の流れはアレだし、役者の演技も別にアレなので、そのへんは全然アレだったけど。なんというか、映像が…。

一例だけど、姉妹が、海と街を一望できる丘の上まで行って、ちょっとだけ清々しい気分になる、というシーンがあって。しかし、映像が…。空は白飛びしちゃって薄いグレー1色。草木は彩度が足りなくてくすんだ緑。ぶっちゃけ、画として小汚い。おそらくは青空がそこにあったのだろうし、草木は季節からして元気一杯だったのだろうけど…。 *1 *2

邦画、それも実写映画って、どうしてこんな汚い映像でも良しとしてしまうのかなあ、などとぼんやり疑問を持ってしまったり。

例えば静止画の写真なら、そのへんのコンデジで撮影したってもうちょっと奇麗な写真が撮れるだろうし、今時ならスマホで撮影したとしても、結構そこそこ奇麗な画が撮れそうだよなと。なのに、映画のプロ達が使ってるはずの、おそらくはお値段も結構しそうな映画用のカメラで撮影して、こんな映像になっちゃうというのは…。なんでや…。貴方達、これじゃiPhone以下じゃないですか。なんちて。 *3

単に機材の関係なんだろうか。フィルムはレンジが狭いと樋口監督が発言してた記憶もあるし…。や、今時はフィルムで撮影してないのではと思ったりもするけど。何にせよ、今後HDRの機材が普及したら違ってくるのかしらん。

まあ、色々事情があるんだろう…。

それにしても…。なんてことのない日常の中にある風景を、やたらと奇麗に見せてくれる監督さんも居れば、おそらく現実では間違いなく奇麗な風景がそこにあるのだろうに、なんだかしょんぼりな画にしちゃっても平気な監督さんも居て、なんというか。少なくとも、後者は前者を迂闊にdisっちゃいかんよな…。でも邦画の実写畑は、えてして前者をdisるんだよなあ…。他ジャンルから学んでやろうパクってやろうという姿勢が無いのだろうけど、学ぶ姿勢すら無くしたジャンルは右肩下がりになるのも必然で…。

などと思ったりもしたのだけど件の作品の監督さんの経歴をググってみたら元々はTV畑・ドキュメンタリー畑の方だったと知りなんだか納得。あまり加工してない映像をポンと出すのもアリだよなと。嘘くさい映像になるぐらいならカメラのスペックの低さが感じ取れるしょんぼりな画のほうが自分達にとってはリアルやん、てな考えも全然おかしくないだろうし。

しかしその場合、機材が変われば画もガンガン変わりそうで。今はリアルに思えても、機材がごっそり変わった後の時代に視聴すると、首を傾げる映像になったりするのだろうか…。でもまあ、「当時はコレがリアルだったんだ」で押し通すしかないよな…。例えば昔の無声映画や白黒映画に対して「コレどうして音声つけなかったの?」「どうして白黒にしたの?」と尋ねてみても無意味だし。

考えてみれば、映画の映像は機材の発展でどんどん変わってきたわけで。だとすれば…。今後普及するだろうと言われてる、HDRに期待。きっとその頃には、「邦画の映像も随分奇麗になったもんだ…」と呟きつつ涙ぐみながら視聴してるのだろう…。だったらいいな…。

思考メモです。オチは無いです。
*1: しかしもしかすると、キャラが心の中で何かをまだ抱えてる時期なので、「ここは青空じゃダメ。曇り空を撮るぞ」「なんだか気分的にすっきりしない感じにしたいから彩度も落として」と、あえてそういう映像になるように作ってる可能性もあるのだろうか。だとしたら、あのカットはアレで合ってる、ということになるのかなあ…。
*2: 観客が、「うわあ、奇麗な風景だなあ」と思える画を提示しておかないと、そこに立っているキャラのその瞬間の心情を観客が類推できないので、合成でもなんでも使って目が覚めるような風景をバーンと、などと考えるのが自然だったりしないかと思ったりもするのだけど。ただ、このあたり、「撮影した映像はこうなったんだからこれをそのまま流すのが正解だろ」と思うタイプと、「観客の気持ちをこう誘導したいから、だったらこういう画をでっち上げないと」と思うタイプが居るんだろうな、とも。
*3: と言っても、静止画と動画では1枚にかけられる撮影時間が違うので、動画を撮影しちゃうとアレになるのは仕方ないのかも。iPhoneだって動画として撮影したら大体はアレなことになりそうな。

2017/06/10() [n年前の日記]

#1 [moho] Mohoのチュートリアルpdfを眺めていたり

Mohoのチュートリアルpdfを眺めているけど、意味が分からないところがいくつか出てきて。

「Tutorial 2.4: Varying Line Widths」には、ストロークからシェイプに変換できそうなスクリーンショットが載っているのだけど、「シェイプを作成」ツールを使ってもそのような結果にはならず。どうなってるんだ…。

また、「Tutorial 2.5: Shape Ordering」では、「Ctrl+左クリックで奥に隠れたシェイプを選択できる」てな感じの説明があって。しかし、そのように操作してみても選択できてるようには見えず。どうなってるんだ…。

2017/06/11追記。 :

奥に隠れたシェイプ選択のやり方が分かった。自分が、「選択操作は左クリックだろう」と思い込んでしまって、チュートリアルpdfを読み間違えてた…。

やり方としては…。「シェイプを選択」ツールで、手前に表示されてるシェイプを左クリックして選択。その後、以下の操作をする。
  • Ctrl + ↓ (Ctrl + Down)を押すと、マウスカーソル位置の奥のシェイプを選択できる。
  • Ctrl + ↑ (Ctrl + Up)を押すと、マウスカーソル位置の手前のシェイプを選択できる。
チュートリアルpdfのほうでも、「pressing the down-arrow key」と書いてあった…。ここで突然キーボード操作になるとは予想してなかった…。

ついでにメモしておくと…。シェイプを選択した状態で以下のキーを押すと、手前や奥にシェイプが移動するらしい。
  • ↑(Up)キーを押すと前面(手前)に移動。
  • ↓(Down)キーを押すと背面(奥)に移動。
  • Shift + ↑ (SHift + Up) で最前面に移動。
  • Shift + ↓ (SHift + Down) で最背面に移動。
あるいは、メインメニューの、描画 → シェイプを○○に移動、でも同じことができる。

2016/06/10(金) [n年前の日記]

#1 [neta] スマホを使ったホラー話って作れないかな

寝ていたらたまたまそういうネタを夢の中で見たのでメモ。

中古だから怖いソレ。 :

小学生が親にスマホをねだる。親は、値段が安いという理由で、中古スマホを子供に買い与える。子供さん、大喜び。

ところが、毎日決まった時間に ―― 例えば夕方の4:44にピロリンと音がして、「画像を保存しました」と謎のダイアログが表示される。画像の中身は、どこか知らない風景。ところが次第に、子供さんが見たことのある風景が徐々に保存されていく。通ってる小学校の近くとか。家の近くとか。

気味悪がって親にそのことを伝えたら、親はスマホを工場出荷時状態に初期化してくれた。これで問題解決と思いきや、それでも毎日画像が保存される…。

ある日、子供さんが帰宅する途中で、例のピロリンが。画像に映ってたのは、子供さんの後ろ姿…。

などと書いてみたけど、コレって元ネタは何だろう。次第に何かが近づいてくる、てのはよくある話だよな…。

さておき。中古○○は、それだけでも設定として美味しいよなと…。以前の持ち主がどういう使い方をしていたか分からないとか、正規のルートを経由した商品なのか、実は盗難品だったりしないか等々、気持ち悪いから手は出さないという人も居るだろうけど。その「気持ち悪い」と感じる理由を具体的に掘り下げていけば、いくらでもホラー設定が作れそうだなと。

スマホに限らず、中古○○は使えるわけで。中古車を買ったら、中古住宅を買ったら等々。とにかく中古○○はホラーが作りやすい、そんな勝手な印象も。

ホラー話じゃなくて、恋愛モノや、SFモノに仕立てることもできそうな。知らない異性と接点が、とか。未来の自分から何故かメールが、とか。いや、未来云々になると「未来日記」になって、やっぱりホラーになっちゃうか…。

スマホを持ってない者は人間に非ず。 :

最近、日本人ならスマホを持ってて当たり前、みたいな空気があるような気がするのだけど。例えば、ゆうちょ銀行のインターネットサービスは、技術が無いのかセキュリティ面の確保が難しいようで、とうとう「今後はケータイ持ってないと利用できません」「ドコモやauと契約してないと使えません」と先日連絡してきたし。ケータイ持ってない自分は涙目。自分はこのまま排除されてしまうのか。ユーザ扱いされない状態になるのか。ケータイ持ってないだけなのに。みたいな。 *1

そういった状況を利用して少し怖い話が作れそうな気も。ディストピアモノっぽい方向で…。その国に住んでながら、ケータイだかスマホだかを無くしただけで、人間として扱われなくなる、そんな社会…。

む。ガッチャマンクラウズインサイトが、ソレだったりするのかな…。まあ、アレは同調圧力の怖さを見せつけていった作品だけど。

スマホの画面を経由して何かを選択していくことで、選択する行為が軽くなって何かしらの危機を招く、みたいなこともできそうな。というかソレもガッチャマンクラウズインサイトでやってたわけだけど。

スマホから人が出てくるソレ。 :

昔、TV画面から何かが出てくるソレがヒットしたことがあるけれど。スマホの画面から何かが出てきたら…。いや、サイズが小さ過ぎて、あまり怖くないか…。

サイズが小さいけど、それでも怖いものって何だろう。そういうものがスマホから出てくれば…。例えば…ゴキブリとか? ソレはちょっと違う怖さか。

小さくても、数がたくさん出てきたら怖いよなと。自分は子供の頃にカマキリの卵を家の中に置きっぱなしにしてて、ソレが孵化しちゃった時があるのですけど。アレも結構怖いわけですよ。怖いというか気持ち悪い系のアレだけど。カマキリの幼虫なんて爪の先ぐらいの大きさなのに、大量に出てくると…もうね…。

ということで、スマホの画面サイズでも、わらわらと大量に何かが出てきたら、コレは結構怖いのかもしれないなと。生理的に嫌な感じの方向で。

生理的に嫌な方向で考えると…。スマホからチ○コだけがにょきっと出てきたら(人によっては)結構怖い気もする。でも、おそ松さんの銭湯クイズ回っぽいな…。

スマホに食べられるソレ。 :

スマホってのは指でタッチして操作することが前提だけど。画面に触った瞬間に何かをされたら怖いよなと。例えば…指だけをバクッと食べられちゃうとか。スパッと切り落とされるとか。

電気がバシッとなるのも怖いよなと。冬、静電気が多い季節に、ドアの金属部分に触るとバチッとなるわけだけど。アレがスマホで起きたら…コレは嫌だよなあ…。仕組みからしてそうはならないよ、そもそもそんな状態になったらスマホ自体が壊れるよ、と言われそうだけど。そこはソレ、あくまでホラー設定だから。…いや待て。ソレってホラーなの? なんだかジャンルが違うような。

*1: いやまあ、「窓口行ってアレコレしろや」で済んじゃう話ではあるけど。昭和の頃に戻るだけ、とでもいうか。

#2 [nitijyou] 自転車で買い物に

犬の散歩から帰ってきてから、親父さんの電動自転車を借りて、ケーズデンキ、サンデー(ホームセンター)、ザ・ビッグ、ダイソーまで。

ケーズデンキに、スマホ用の魚眼レンズが店頭に無いかチェックしに行ったのだけど。あることはあったけど種類は少ないし、値段も高いなと…。

サンデーやダイソーでスピーカを探してみたけど、ヨサゲな品は無いようで。PCのセットアップ時、音が出てるか確認できればそれでいいので、アンプ無しでも十分なのだけど。いやまあ、ヘッドフォン差しとけばそれで済んじゃう話でもあるけれど。

2015/06/10(水) [n年前の日記]

#1 [prog] Visual Studio community 2013でGUIを検討中

サクサク作業できて便利だなと思ったものの、ツールバーやステータスバーと、フォーム内のアレコレが重なってしまって解決策が分からず悩んだり。どうしたらいいんや…。

2014/06/10(火) [n年前の日記]

#1 [ruby] 配列に入ってる整数を全て実数にしたい

Ruby で、配列に入った値を整数から実数にしたいときがあるのですけど。今まで以下のように書いてたわけで。
  x1, y1 = a[0][0].to_f, a[0][1].to_f
  x2, y2 = a[1][0].to_f, a[1][1].to_f
  x3, y3 = a[2][0].to_f, a[2][1].to_f
  x4, y4 = a[3][0].to_f, a[3][1].to_f
もっといい書き方ないのかなと。

色々ググってたら、こういう書き方もできそうだなと。
  x1, y1, x2, y2, x3, y3, x4, y4 = a.flatten.map {|item| item.to_f }

_flatten, flatten! (Array) - Rubyリファレンス
flattenメソッドは、配列の配列を平坦化した新しい配列を返します。配列中に含まれる配列からすべて要素を取り出して、親の配列の中に並べます。

flatten, flatten! (Array) - Rubyリファレンス より


_map, map! (Array) - Rubyリファレンス
mapメソッドは、要素の数だけ繰り返しブロックを実行し、ブロックの戻り値を集めた配列を作成して返します。collectメソッドの別名です。

map, map! (Array) - Rubyリファレンス より


しかし、ベンチマークを取ってみたら、flatten と map を使った書き方は微妙に遅くて。

# 配列内の値を実数にする際のベンチマークを測定

require 'benchmark'

def hoge(a)
  x1 = a[0][0].to_f
  x2 = a[1][0].to_f
  x3 = a[2][0].to_f
  x4 = a[3][0].to_f
  y1 = a[0][1].to_f
  y2 = a[1][1].to_f
  y3 = a[2][1].to_f
  y4 = a[3][1].to_f
  x1 + x2 + x3 + x4 + y1 + y2 + y3 + y4
end

def fuga(a)
  x1, y1 = a[0][0].to_f, a[0][1].to_f
  x2, y2 = a[1][0].to_f, a[1][1].to_f
  x3, y3 = a[2][0].to_f, a[2][1].to_f
  x4, y4 = a[3][0].to_f, a[3][1].to_f
  x1 + x2 + x3 + x4 + y1 + y2 + y3 + y4
end

def piyo(a)
  x1, y1, x2, y2, x3, y3, x4, y4 = a.flatten.map {|item| item.to_f }
  x1 + x2 + x3 + x4 + y1 + y2 + y3 + y4
end

dst = [ [160, 100], [320, 20], [600, 460], [100, 300]]

n = 1000000
Benchmark.bm do |x|
  x.report("a[0][0].to_f A: ") { n.times {|i| hoge(dst) } }
  x.report("a[0][0].to_f B: ") { n.times {|i| fuga(dst) } }
  x.report("flatten.map:    ") { n.times {|i| piyo(dst) } }
end
       user     system      total        real
a[0][0].to_f A:   1.061000   0.000000   1.061000 (  1.056060)
a[0][0].to_f B:   1.139000   0.000000   1.139000 (  1.143066)
flatten.map:      2.870000   0.000000   2.870000 (  2.872164)

微妙に遅いというか、3倍遅いのかな。見た目アホっぽく、ベタッと書いたほうが、まだ速い場面もあるのだなと…。

もっと違う書き方はできないかしら。

#2 [ruby] NArrayをインストールしてみた

Windows7 x64 + Ruby 1.9.3 p545 mingw32版で、NArray を試用。
gem install narray-ruby19 --no-ri --no-rdoc

速度を測定してみた。 :

# NMatrix (NArray) のテスト

require 'benchmark'

require 'matrix' # 標準添付のMatrixライブラリ

require 'narray' # NArray

# require 'narray/narray' # SciRubyのNArray
# require 'nmatrix' # SciRubyのNMatrix

def get_proj_param(s, d)
  # x0, y0, x1, y1, x2, y2, x3, y3 = d.flatten.map {|item| item.to_f }
  # sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3 = s.flatten.map {|item| item.to_f }
  x0 = d[0][0].to_f
  x1 = d[1][0].to_f
  x2 = d[2][0].to_f
  x3 = d[3][0].to_f
  y0 = d[0][1].to_f
  y1 = d[1][1].to_f
  y2 = d[2][1].to_f
  y3 = d[3][1].to_f
  sx0 = s[0][0].to_f
  sx1 = s[1][0].to_f
  sx2 = s[2][0].to_f
  sx3 = s[3][0].to_f
  sy0 = s[0][1].to_f
  sy1 = s[1][1].to_f
  sy2 = s[2][1].to_f
  sy3 = s[3][1].to_f

  m = Matrix[
             [ sx0, sy0, 1.0, 0.0, 0.0, 0.0, -x0 * sx0, -x0 * sy0 ],
             [ sx1, sy1, 1.0, 0.0, 0.0, 0.0, -x1 * sx1, -x1 * sy1 ],
             [ sx2, sy2, 1.0, 0.0, 0.0, 0.0, -x2 * sx2, -x2 * sy2 ],
             [ sx3, sy3, 1.0, 0.0, 0.0, 0.0, -x3 * sx3, -x3 * sy3 ],
             [ 0.0, 0.0, 0.0, sx0, sy0, 1.0, -y0 * sx0, -y0 * sy0 ],
             [ 0.0, 0.0, 0.0, sx1, sy1, 1.0, -y1 * sx1, -y1 * sy1 ],
             [ 0.0, 0.0, 0.0, sx2, sy2, 1.0, -y2 * sx2, -y2 * sy2 ],
             [ 0.0, 0.0, 0.0, sx3, sy3, 1.0, -y3 * sx3, -y3 * sy3 ]
            ]

  n = m.inv # 逆行列を取得

  g_a = n[0,0] * x0 + n[0,1] * x1 + n[0,2] * x2 + n[0,3] * x3 + n[0,4] * y0 + n[0,5] * y1 + n[0,6] * y2 + n[0,7] * y3
  g_b = n[1,0] * x0 + n[1,1] * x1 + n[1,2] * x2 + n[1,3] * x3 + n[1,4] * y0 + n[1,5] * y1 + n[1,6] * y2 + n[1,7] * y3
  g_c = n[2,0] * x0 + n[2,1] * x1 + n[2,2] * x2 + n[2,3] * x3 + n[2,4] * y0 + n[2,5] * y1 + n[2,6] * y2 + n[2,7] * y3
  g_d = n[3,0] * x0 + n[3,1] * x1 + n[3,2] * x2 + n[3,3] * x3 + n[3,4] * y0 + n[3,5] * y1 + n[3,6] * y2 + n[3,7] * y3
  g_e = n[4,0] * x0 + n[4,1] * x1 + n[4,2] * x2 + n[4,3] * x3 + n[4,4] * y0 + n[4,5] * y1 + n[4,6] * y2 + n[4,7] * y3
  g_f = n[5,0] * x0 + n[5,1] * x1 + n[5,2] * x2 + n[5,3] * x3 + n[5,4] * y0 + n[5,5] * y1 + n[5,6] * y2 + n[5,7] * y3
  g_g = n[6,0] * x0 + n[6,1] * x1 + n[6,2] * x2 + n[6,3] * x3 + n[6,4] * y0 + n[6,5] * y1 + n[6,6] * y2 + n[6,7] * y3
  g_h = n[7,0] * x0 + n[7,1] * x1 + n[7,2] * x2 + n[7,3] * x3 + n[7,4] * y0 + n[7,5] * y1 + n[7,6] * y2 + n[7,7] * y3

  return [g_a, g_b, g_c, g_d, g_e, g_f, g_g, g_h]
end

def get_proj_param_nmatrix(s, d)
  x0 = d[0][0].to_f
  x1 = d[1][0].to_f
  x2 = d[2][0].to_f
  x3 = d[3][0].to_f
  y0 = d[0][1].to_f
  y1 = d[1][1].to_f
  y2 = d[2][1].to_f
  y3 = d[3][1].to_f
  sx0 = s[0][0].to_f
  sx1 = s[1][0].to_f
  sx2 = s[2][0].to_f
  sx3 = s[3][0].to_f
  sy0 = s[0][1].to_f
  sy1 = s[1][1].to_f
  sy2 = s[2][1].to_f
  sy3 = s[3][1].to_f

  # m = NArray::NMatrix[
  m = NMatrix[
              [ sx0, sy0, 1.0, 0.0, 0.0, 0.0, -x0 * sx0, -x0 * sy0 ],
              [ sx1, sy1, 1.0, 0.0, 0.0, 0.0, -x1 * sx1, -x1 * sy1 ],
              [ sx2, sy2, 1.0, 0.0, 0.0, 0.0, -x2 * sx2, -x2 * sy2 ],
              [ sx3, sy3, 1.0, 0.0, 0.0, 0.0, -x3 * sx3, -x3 * sy3 ],
              [ 0.0, 0.0, 0.0, sx0, sy0, 1.0, -y0 * sx0, -y0 * sy0 ],
              [ 0.0, 0.0, 0.0, sx1, sy1, 1.0, -y1 * sx1, -y1 * sy1 ],
              [ 0.0, 0.0, 0.0, sx2, sy2, 1.0, -y2 * sx2, -y2 * sy2 ],
              [ 0.0, 0.0, 0.0, sx3, sy3, 1.0, -y3 * sx3, -y3 * sy3 ]
                       ]


  n = m.inverse # 逆行列を取得

  g_a = n[0,0] * x0 + n[1,0] * x1 + n[2,0] * x2 + n[3,0] * x3 + n[4,0] * y0 + n[5,0] * y1 + n[6,0] * y2 + n[7,0] * y3
  g_b = n[0,1] * x0 + n[1,1] * x1 + n[2,1] * x2 + n[3,1] * x3 + n[4,1] * y0 + n[5,1] * y1 + n[6,1] * y2 + n[7,1] * y3
  g_c = n[0,2] * x0 + n[1,2] * x1 + n[2,2] * x2 + n[3,2] * x3 + n[4,2] * y0 + n[5,2] * y1 + n[6,2] * y2 + n[7,2] * y3
  g_d = n[0,3] * x0 + n[1,3] * x1 + n[2,3] * x2 + n[3,3] * x3 + n[4,3] * y0 + n[5,3] * y1 + n[6,3] * y2 + n[7,3] * y3
  g_e = n[0,4] * x0 + n[1,4] * x1 + n[2,4] * x2 + n[3,4] * x3 + n[4,4] * y0 + n[5,4] * y1 + n[6,4] * y2 + n[7,4] * y3
  g_f = n[0,5] * x0 + n[1,5] * x1 + n[2,5] * x2 + n[3,5] * x3 + n[4,5] * y0 + n[5,5] * y1 + n[6,5] * y2 + n[7,5] * y3
  g_g = n[0,6] * x0 + n[1,6] * x1 + n[2,6] * x2 + n[3,6] * x3 + n[4,6] * y0 + n[5,6] * y1 + n[6,6] * y2 + n[7,6] * y3
  g_h = n[0,7] * x0 + n[1,7] * x1 + n[2,7] * x2 + n[3,7] * x3 + n[4,7] * y0 + n[5,7] * y1 + n[6,7] * y2 + n[7,7] * y3

  return [g_a, g_b, g_c, g_d, g_e, g_f, g_g, g_h]
end

def dump_cof_diff(cof1, cof2)
  puts
  s = "abcdefgh"
  8.times do |i|
    d = cof1[i] - cof2[i]
    puts "#{s[i, 1]} = diff: #{d} , #{cof1[i]}, #{cof2[i]}"
  end
end


src = [[0, 0],[512, 0], [512, 512], [0, 512]]
dst = [ [160, 100], [320, 20], [600, 460], [100, 300]]

cof1 = []
cof2 = []
n = 10000
Benchmark.bm do |x|
  x.report("Array:  ") { n.times {|i| cof1 = get_proj_param(src, dst)} }
  x.report("NArray: ") { n.times {|i| cof2 = get_proj_param_nmatrix(src, dst) } }

  dump_cof_diff(cof1, cof2)
end
> ruby test_narray.rb
       user     system      total        real
Array:    3.042000   0.000000   3.042000 (  3.049174)
NArray:   0.421000   0.000000   0.421000 (  0.430025)

a = diff: -1.1102230246251565e-16 , 0.07848173515981738, 0.07848173515981749
b = diff: -5.551115123125783e-17 , -0.2090468036529681, -0.20904680365296804
c = diff: 0.0 , 160.0, 160.0
d = diff: 2.7755575615628914e-17 , -0.1708761415525114, -0.17087614155251143
e = diff: -5.551115123125783e-17 , 0.1150470890410959, 0.11504708904109595
f = diff: 0.0 , 100.0, 100.0
g = diff: 0.0 , -0.0007313070776255703, -0.0007313070776255703
h = diff: 0.0 , -0.0009185930365296805, -0.0009185930365296805

Ruby標準の Matrix を使うより、NArrayの NMatrix を使ったほうが、約7倍ほど速い、という結果になった。

ただ、Matrix と NMatrix は、添字の順番が逆になるらしい。そこは注意しないといかんようで。

SciRuby の narray-nmatrix もインストールしてみた。 :

_SciRuby/narray - GitHub を参考にインストール。
gem install narray-nmatrix --pre --no-ri --no-rdoc

NArray を使うか、SciRuby を使うかは、選べるらしい。

NArray を使う場合。
require 'narray'

SciRuby の NMatrix を使う場合。
require 'narray/narray'
require 'nmatrix'

名前空間?を使って指定する場合。
NArray::NMatrix   # NArray の NMatrix を使う場合
NMatrix           # SciRuby の NMatrix を使う場合

#3 [ruby] docoptが気になる

_docopt/docopt.rb - GitHub
_docopt | RubyGems.org | your community gem host
_Pythonのコマンドライン引数処理の決定版 docopt (あとJuliaに移植したよ) - りんごがでている
_docopt - shkh's blog
_docopt・language for description of command-line interfaces

一般的に、コマンドラインツールのオプション指定って、スクリプト内でどんな種類があるかチマチマと指定していくわけだけど。docoptなるライブラリを使えば、ヘルプメッセージをそのまま記述することで、どんなオプション指定があり得るのかを解析・反映してくれるらしくて。

世の中には頭がいい人が居るもんだなと、大変感心いたしました。その発想は無かった。たしかにそのほうが、記述が分かりやすい。そして、色々な場所で応用できそうな考え方のように思えたり。

いや、考えてみたら、Markdown記法もソレか…。出来上がりがざっくりと想像しやすい、そんな見た目になるような記法のルールを作る ―― コンピュータの都合で記法を考えるんじゃなくて、人間がパッと見でどう感じるか、そちらを優先して記法を作る。というアプローチだよなと。

2013/06/10(月) [n年前の日記]

#1 [prog] Processing2でGLSLを勉強しようとしたものの

どうもよろしくない…。

英語で書かれているチュートリアルページなどを眺めてみても、「最終版は仕様が変わってるから、ここに書いてあるのは動かなかったりするよ。公式サイトのソレを見てくれよ」とか書いてあって。しかし、公式サイトの解説は、量が多過ぎて何が何やら…。そもそもチュートリアルの形にはなってないし。

せっかくの新機能らしいから、ほんの少し触って概略だけでも知っておこうかなと思ったものの。これでは手も足も出ない…。

そもそも、GLSLを勉強したところで何になるんだ、という気もしてきた。そんな疑問を持たないで済むほどに、スルスルサクサクと勉強していける程度に資料が揃ってる状況ならともかく。こんなに苦労して勉強しなきゃいけないジャンルなのかな、みたいな。まあ、英語をスラスラ読める人なら、十分に資料は揃ってる状況なのかもしれないですが。

GLSLを勉強したいなら、Processing2 以外の環境を使って勉強したほうが良さそうな気もしてきたり。Processing2 を使って入門するのはマゾ、かも。あくまで現時点では、ですけど。

そもそも、「Processing」って検索しづらいねん。名前があまりに一般的過ぎて、全然関係ないページが出てきてしまう。「Proce55ing」でも検索してるけど、どうやらGoogleさん、Processingの打ち間違いと思い込んで結果出してきてる気配が。このネーミングは完全に失敗してると思う…。改名したほうがいいんじゃないかな…。これが某K社だったら通らないだろうな。「そういう名前のレストランが都内に1軒あるから」という理由で商品名変えたぐらいですから…。

#2 [prog] GLSLを編集するモードを持ったエディタを調べたり

GLSLは、基本的にはC言語を結構踏襲しているので、C言語用のモードを流用することでどうにかできなくもないのだけど。GLSL特有のキーワードを色づけしてくれるだけでも随分見た目分かりやすくなるだろうなと予想。そういうモードがありそうなエディタを探したり。

少なくとも、EmacsとNotepad++は、それがありそう。

_Emacs での glsl-mode の導入 | ソフト職人
_Notepad++ GLSL 4.3 Syntax Highlight > Lighthouse3d.com

他のエディタは見つからなかった。…書いてる人がそれほど居ないから需要がないのかな。

#3 [prog] Adobe AIRでコマンドラインツールを作れるか調べたり

以下のページがそのものズバリだった。ありがたや。

_モテるプログラマになろう第一弾〜CLI好きのためのAIRで作るコマンドラインツール〜 | tech.kayac.com - KAYAC engineers' blog
_ActionScript でコマンドラインツールを作る方法 - yoshizu blog

ただ、結構面倒な印象…。別のLLで作って exe化するほうが楽なのかなと思えてきたり。

#4 [zatta] 児童ポルノ禁止法改正案については反対です

後になってから「自分はこう思ってた」とか言い出したらなんだかアレなので今のうちにメモしておこうかなと。まあ、どうせ通っちゃうのだろうなと予想してますけど…。

単純所持の禁止とか、漫画・アニメ・ゲームの影響を調査とか、自分はそのあたりの内容に反対です。反対理由は…。 要するに、社会に対する影響力がでかいわりに、法律の趣旨とは逆の結果を招きそうだから、ということなんですが。

ジャニーズの写真集を持ってるだけで犯罪者、はマズかろう…。そりゃどう考えても悪法だよなと…。

とりあえず。自分はその改正案に反対、とメモしておきます。

本音を語れ、と思う。 :

おそらくは、「こんな汚らしいもの見たくない」「子供の目に触れさせたくない」という思惑でそういう話が出てきてるのだろうと邪推してるのだけど。それなら、住み分け・ゾーニングの強化を訴えるほうが目的達成が容易じゃないのかと思うわけで。

「存在自体許せない」と言ったら通りにくいと思ったから「児童ポルノと絡めて出せば通りやすくなる」と企んだあたりが透けて見えるのが、なんだかなと。現実に虐待されている児童を守る気がさっぱりないのに、自分達にとっての理想郷を実現するためだけに「児童を守れ」と表面的に言っているあたりが…その下衆っぷりに反吐が出そうで。

正直に言えばいいのに。「児童なんか関係ない。私が目にしたくないんだ」って。そのほうが話は早いと思う。そういう話なら自分も結構賛同しちゃうし。「たしかに現状は目に余る」「こういうのを見たくない人が居るのは理解できる。当たり前だ。どげんかせんといかん」って。でも、そこで、「児童を守るため」と言われたら反対せざるをえない。彼等のロジックは破綻していて、実際やったら逆効果だろうと予測できるし。「児童を“本当に守る”」ために「改正案に反対」するしかない。

どうしてあの人達、変に取り繕って、自分達だけは綺麗に見せようとして、わざわざ話をややこしくするんだろう。

キリスト教との関係が気になる。 :

それと、どうもキリスト教関係から出てきた改正案じゃないの、という疑念が拭いきれなくて。戦後の日本国内で性に絡む法律は、かなりの部分、キリスト教関係からの圧力じゃないかと自分は疑っているんですが。売春防止法も、戦後、キリスト教にかぶれてる人達が積極的に活動して、と聞いた記憶もありまして。でもって結果、援助交際がどうとかそういう状況になってますから。ますます制御不能な面倒な状態に陥った。彼等が言い出した策は社会にとっての目的を果たすどころか、えてして裏目に出る。表面的には綺麗になったように見えても、実態は更に悪化する。何故かというと…まあ、それは別の項で。

とりあえず、自分の邪推したとおりなら、この法案はマズイなと。被害を受ける児童が増えるのにソレを救済できない状態に繋がるか、全く違うところで、彼等だけが「想定外」と言い張る種類の問題が出てくる予感が。

警察の天下り先がどうこうという話も聞くけれど。 :

もしそうであれば、天下り欲しさごときで暗黒社会に繋がる治安維持法相当を平成のこの時代に出してるんじゃねえよ馬鹿、と思ってしまうわけで。もっと影響力が少なくてあっさり通りそうな上手い作戦考えろと。天下り先が欲しいだけなら、こんな物議を醸す法案に執着する必要は全くないので、さっさと引っ込めて別の策を練ったほうがいいでしょうに。何やってんのかと。

天下り云々は、自分、実は結構どうでもいいと思っているのですけど。ただ、やるなら上手くやれと。なんちゅー下策出してくるんだ。脳筋にもほどがある。と思ってます。

#5 [zatta][neta] 「ムラムラ」するのは大事なことなんだけどな

※ 意見には個人差があります。

どうも世の中、「ムラムラ」することは悪、と考えてる人が結構多いみたいなのだけど。常々、それはおかしいと思っていて。

人間は、生き物ですよ。生きているものは、いつか必ず死にます。いつか必ず死にますから、種を存続させるために…自分の遺伝子を次の時代に継承するため、子供を作らないといけない。そのために、わざわざ「ムラムラ」が各個体に入れてあるわけで。

地球上で種として存続している生物は ―― オスとメスに分かれているあらゆる生物は、ある時期になったら必ず「ムラムラ」するように、本能と呼ばれるプログラミングがされている。人間だけじゃないですよ。猿も犬も猫も魚も虫も、オスとメスになってる生物は、全部そうです。地球上の生物は、大多数が「ムラムラ仲間」です。 *1

そういうプログラミングがされてなかったら、種として存続できてるはずがない。「ムラムラ」しない個体ばかりなら、子供を作るための行為が行われない。行為をしないのだから、子供が産まれない。子供がまだ産まれていないのに、個体が次々と寿命や病気で死んでいく。当然その種は滅んでしまう。

父ちゃんがムラムラして子供を作って、その子供が成長してムラムラし始めて子供を作って…。そういう繰り返しがちゃんと今まで続いてきたから、私達人間は地球上に存在できている。もし、父ちゃんがさっぱり「ムラムラ」しない人だったら…私達はこの世に存在すらしていません。父ちゃんが母ちゃんに「ムラムラ」してくれたからこそ、私達は今ここに居る。そのくらい、「ムラムラ」は、我々人間に欠かせないもので。

だから、「ムラムラ」=「性」の否定は、「生」を否定してるも同然、と言われるわけで。「生きている」とはどういうことか真剣に考えれば、うかつに「性」を否定できない。「生」があるから「死」があり、「死」があるから「性」があり、「性」があるから「生」に繋がっていく。切り離して考えてはいけない生命の流れがそこにあるのです。…みたいなことを金八先生が言ってたような気がするんですけど、偽記憶かなあ…?

なのに、その「ムラムラ」を悪者扱いするとは…。

もちろん、高度に発達した人間社会において、時と場所を選ばずにムラムラして、ムラムラに突き動かされたまま行動を起こしたら、これはもう収拾がつきませんので。例えば、電車の中でムラムラして手近な個体捕まえていたしてしまったり、職場でムラムラしていたしてしまってるようでは、協力関係を構築していくこと・コミュニティを構成していく作業が難しくなってしまう。そんなカオスな状況では、皆で団結してスカイツリーを立てたりとか無理ですわ。

だから、ムラムラするのは本能だから仕方ないとしても、せめて時と場所を選んで、それぞれ上手にムラムラしましょうと。他人に迷惑をかけず、例えば誰かが作った空想妄想作品を観賞させていただきながら、ムラムラのタイミングをどうにかコントロールしてみましょうか、てな感じの社会ルールになっているわけですけど。

その、貴重な「ムラムラ」許容空間を作り出すアイテム群を、潰して回ってどうするのか。奪ってみて何をしたいのか。

これはもう、“人類という種”に対するテロ行為ですよ。「ムラムラ」が無ければ人間という種は存続できなかった。その大事な「ムラムラ」を上手に制御するための効果的なツールをこの世から消滅させようというのだから、正気の沙汰ではない。お前達は一体何がしたいんだ。どんな人間世界を作りたいんだ。その世界って「生きている」ことを完全に無視した世界なんだぞ? 事の重大さが分かってんのか? みたいな。

彼等は、「人間は生き物なのだ」という基本的なことを、すっかり忘れているとしか思えないのですよ。太古の祖先から、自分の代まで、どうやって脈々と血筋が繋がってきたのか、少しは想いを馳せてくれと。どの時代にも「ムラムラ」があったから、どうにかここまで繋がってきたんです。「ムラムラ」が無かったら、たちまち途切れてるんです。「ムラムラ」って大事なモノなんですよ?

ということで、「ムラムラ」を悪と捉える一派の存在に、なんだかなと思ってしまうわけで。…彼等は人類を滅ぼしたいのか?

てなわけで、「ムラムラ」を敵視すると人類が滅ぶし、「ムラムラ」に支配されると社会が滅ぶ。憎むでもなく、奴隷になるでもなく、上手に付き合おう、というまとめではいかがでしょうか。…いかがでしょうかと言われてもな。
*1: まあ、分裂したりするヤツも居るんで全部ではないのですけど。実は雌雄がある種のほうが、数の上では少ない?

#6 [zatta][neta] 神様よりよほど手っ取り早く役に立つと思うんだけどな

※ 意見には個人差があります。

_「ムラムラしたら神に祈れ」 と教えてる人達が居るらしいけど。どう考えても、その神様とやらよりは、AVやエロ漫画やエロゲーのほうが効果的じゃないのかなあ、と自分は思ってしまうのですけど。

大多数の男性がそうだと思いますが。若い頃に触れたその手のコンテンツ ―― Hな画像や映像の話題になった際に、「お世話になりました」とか「ありがとう」とか苦笑しながらフツーに言うじゃないですか。どうしてそこで“感謝の言葉”が出てくるのか、少し真面目に考察してみるべきではないかと。

皆、“救われてる”んですよ。そういうコンテンツに。心の中で、無意識に、「このコンテンツと出会えたおかげで、荒ぶっていたあの頃の自分は、暴発したり爆発せずに、どうにかまあまあ自制することができた」と思ってるんです。だから、感謝の言葉が、心の底から自然にスルリと出てくるんですよ。

天に祈ってみたところで、神様はその手の悩みから救ってくれたりしません。でも、その手のコンテンツは、ほんのひとときではあるけど、見事に救ってくれる。あくまでその手の分野にのみ限った話だけれど、男性にとってそれらの存在は、青春時代に苦しんでいた自分をたしかに救ってくれたという点で、神様よりもよほど頼りになる、ひょっとすると実質的には神様以上にありがたい存在、なのかもしれないと思うわけですが。

そういう、ある時期の若者達にとって、社会からは卑しいモノとして扱われながらも、実は神にも近い崇高さを秘めているアイテム群を、むやみやたらに、考えなしに、とりあげるもんじゃありませんよ…。

「ムラムラ」は絶対に無くせない。神様に祈っても消滅なんかしない。するわけがない。人間が生き物である限り「ムラムラ」は必ず発生するのだから。だけど、上手に付き合っていくことはできる。「ムラムラ」で悩む若者達を、少しは救ってくれるモノも、ちゃんと存在してる。だから、むしろ、ソレを有効活用する方向で考えたほうがいいんじゃないの。と自分は思っているのですけど。

ところが逆に、ソレを無くそうとするなんて…。それは愚考・愚策でしょう。

現実世界でしか「ムラムラ」を解消できない、そんな社会にしてしまったらどうなるか。若者達にとっては、よほどのイケメンでもない限り、同年代の異性から相手にしてもらえない苦境がそこにあるわけで。それでも今までは二次元に逃避できて耐え忍ぶことができたけど。それすら許されないのだ、何が何でも三次元でどうにかしろと強要されたら…。相手の意思を無視してどうにかしかねませんよ。そして、相手の意思を無視してそういう状況に持っていけそうな異性って、一体どういう種類の異性ですか。

だから、「そういうことをしたら逆効果だ」「本来の趣旨と真逆の結果に繋がりかねない」「児童を本当に守る気あるのか? まるっきり逆じゃねえか」と危惧するわけですが。

若者達にとって神にも等しい存在を、迂闊に殺しちゃいけない。それでなくても若さ故、夢の中にも出てくるぐらい、つまりは24時間365日、常に苦しんでいるのに…。これ以上追い込んでどうするの。むしろ、若者達が崇める、その神様モドキにはもっと働いてもらって、賢者タイムとやらが頻繁に訪れるように仕向けないと…。

おばさんはどうだか分からないけど、おじさんだったらこのあたりの感覚、分かると思うんだけどなあ…。こういう時こそ、おじさんが、悩める若者達の味方・理解者にならないといかんのに、逆に追い込んでどうするんだと。思い出せ。目が覚めたらカチカチパンツでちょっと泣きそうになったあの頃の自分を。思い出せれば、自分達がどれほどの非道をしようとしてるのか気付くはず。「まあ…コレでも使って…戦え!」と声をかける程度の優しさぐらいは見せてもいいんじゃないか。俺達、あの戦場で実際に耐え忍んできた、おじさんなんだから。

だけど世の中、そういう時は神に祈ったり100万回呪文詠唱してしのいできたおじさんばかりなのかもしれないか…。もしそうならそれはそれである意味尊敬しますが。だけど…。一体どんなハードプレイだYO! 高度過ぎるYO! そんなレベルの高いプレイを万人に強制するなYO! 誰もがエリートじゃないんだYO! ていうかどんなエリートだYO! …次の世代を一体どんだけこじらせたいんだ。そんなこと強要したら、絶対に何かが歪むと思うけどなあ。

2012/06/10() [n年前の日記]

#1 [nitijyou] 徒歩で買い物に

近所のコンビニまで。わざわざメモす(以下略。

#2 [game][neta] 耳のベンチマークをとるアプリってないのかな

自分の耳に自信がない。スペックを測れないものか。

信憑性が怪しくても、数値で「見える化」するだけで違う気もする。線量計で空間放射線量を測ったら、それだけでも結構安心できたし。耳も同じはず。

どういうアプリになるんだろうか。ちと妄想。ズッキューン。

初期設定。 :

まず、テストに使う音量の範囲を決めないといけない。「うるさい」「ちょうどいい」「ギリギリ聞こえる」の3つの音量をユーザに決めてもらい、「ちょうどいい」以下の音量でテストをする。

アプリ側は、あらかじめ絶対的な値を持って、測定音量範囲を決めることはできない。ハードウェアと設定によって、各環境の音量が大きく異なる。ユーザに尋ねて決めるしかない。

実際のテスト内容。 :

音量を変えながら異なる周波数の音を次々に再生して「聞こえた」「聞こえない」を選ばせる。健康診断だか身体測定だかでやってたアレを、自動化、精度向上、回数を増やす感じ。これでおおよそのグラフが描けるし、得点算出のためのデータも得られる。

ノイズ聞き取りのテストもできそう。クリックノイズ、ヒスノイズ、色んな種類のノイズを扱う。ノイズ入りの音とノイズ無しの音を聞かせて、ノイズがあるほうを選ばせる。

絶対音感や相対音感も測定できるかも。鳴った音がどの音階か選ばせる。間違えた回数でスコアを算出。

同時に何音鳴っているか、測定することもできる…のかな? そういうのって聞き分けられるものだろうか?

リズム感も測定できるかしら。今ちょっとずれたと思ったらボタンを押す、とか。

耳を測定してるのか、脳を測定してるのか、怪しくなってきた。

結果の扱い。 :

スコア結果の扱いは注意しないといけない。耳だけのベンチマークではなく、耳+再生ハードウェアのベンチマークであることを、ユーザに認識してもらう必要がある。

100円ショップで買ったヘッドフォンと、5万円するヘッドフォンで試したら、あるいは、異なるメーカのスマホで試したら、数倍異なるスコアが出てきた、てなことはあり得る。ハードウェアの再生スペック、周波数特性が大きく異なれば、必然的にそういう結果になる。となると、異なるハード上で動かして試せたほうが都合がいい。Webアプリとして作ったほうがいいだろうか。ブラウザの性能差が絡んでこないかな?

音のまろやかさ、ふくよかさ云々とは一切関係ないことも主張する必要がある。あくまで、聞こえるか聞こえないかを0/1でカウントして数値やマップにしただけ。音の美しさとやらが分かる/分からない耳、という話にはならない。

ただ、アプリの作り方次第では、まろやかさ云々の正体に近づける可能性がある。どっちの音がまろやかですか? と尋ね続けることで、特徴が見出せるかも。「貴方は高い周波数がカットされるとそれだけでまろやかと思うようです」とか。「毎回異なる音をまろやかと答えていますね。傾向がさっぱり分かりません。全て貴方の気分の問題ではないでしょうか」とか。

既にありそうな気がする。 :

作ろうと思えば作れそうな気がしてきた。ということは、誰かがもう作ってる。ジョークソフト扱いでもイケそうな気もするし。

メーカが商品を売る際の宣伝にも使えそう。もっとも、周波数特性をスコアで表した、という話でしかないけれど。…あの周波数特性グラフを、何か一つのスコアにまとめるのは難しい気がする。低域、中域、高域でスコア表示する、ぐらいは必要だろうか。

#3 [game][neta] 2D紙芝居ゲームについてなんとなく考えてる

あくまで思考メモです。現状・現実と違っている可能性大、個人的な印象論でしかないです。

一旦ダラダラ書いてみないと自分の中で考えがまとまらないので…。

まとめ。 :

先にまとめとく。
  • 紙芝居ゲームはプレイ時間長過ぎ。それじゃ客が増えない。
  • 量じゃなくて、「ユーザ体験」が大事。昔は、量=体験だったけど今は違う。
  • プレイ時間が長いのは無駄が多いから。文と画と音がリンクせずに「感感俺俺」してる。
  • ユーザから「○○する仕様をつけて」と言われたら、真の原因を考えないとダメ。
  • 量を増やしても無駄にならない何かがあるかもしれない。他ジャンルが参考になるのかも。
  • 廃業覚悟で開き直って作るのもアリ。勘違いしてるユーザを狙い撃ちできれば潰れない。

もやもや考え始めた経緯。 :

アニメ版 Fate/ZERO?を見て面白いなと思い、シリーズ最初の作品らしきFate/stay night?なるゲーム版に興味を持ったけど。クリアに数十時間かかると聞いて、「アホか。やってられるか」と。…せっかく興味を持ってくれた人に、プレイする前から「やってられるか」と思わせて大丈夫なのか。

どうしてそんなにプレイ時間が長くなるのだろう。…シナリオのせい?

個人的には無駄が気になる。 :

その手のゲームは、文と画と音がリンクしてない印象。皆がバラバラ。結果、無駄だらけになり、プレイ時間が長くなるのでは。あくまで仮説。

例えば。
笑顔の立ちキャラ絵と「彼女はにっこりと笑った」のメッセージ
絵を見れば分かるよ。無駄だ。

さらに今時は音声付ゲームが大半。声優さんは、たった一つの台詞にも感情を含めることができる。「馬鹿っ」という一言も、怒ってる、呆れてる、テレている等色んな「馬鹿っ」があって、声優さんならその違いも表現できる。彼等の演技を聞けば一発で伝わる。でも、「馬鹿っ」と音声が流れた直後に、「彼女は怒りの表情を露わにして俺を罵倒した」等のメッセージが表示されたり。無駄だ。しかも声優さんの仕事振りを全否定してる。そんなに信用できないのか。何のために音声を入れてるの?

こういう部分が積み重なって、長いシナリオになってないか。あくまで仮説だけど。

「音声OFFでプレイするために、それらのテキストは必要」という反論がありそう。

その主張はおかしい。音声が使える/使えないで、シナリオの中身は異なるはず。アニメ脚本と小説で、同じ原稿をそっくりそのまま使い回す人は居ない。なのにどうしてゲームでは、シナリオの使い回しを安易に良しとするのか?

そもそも、どうして音声OFFにされるのか、そこを考えたか? アニメや映画を音声OFFで観賞する人は居ない。なのにどうしてゲームでは、作り手自ら音声OFFで観賞するのもアリと認めてしまうのか?

理由は色々思いつく。プレイ場所の制約、演技が酷い、音声はオマケという思い込み等々。自分は、「プレイ時間が長過ぎてユーザが時間短縮のための最適化を始めてしまうから」と想像しているけど。何にせよ、真の原因を突き止めなくては本当の対策にならない。

ユーザから「音声をOFFにしたい」「音声キャンセル仕様をつけてほしい」と要求されて、「ハイハイ分かりました仕様つけました」で済ませるのは楽だけど、問題は全然解決していない。「…なんで音声を出したくないんだろう?」と、そこから悩んで仮説を立てて修正せねばならない。

つまるところ、その手のゲームは、データの扱い方からして、 _「感感俺俺」 に感染してる。文、画、音を、二重三重に繰り返す愚行を精査していない。

どうしてプレイ時間が長くなっても平気なのかな。 :

「ボリューム」という物差しを振り回す一部のユーザの声ばかり大きかったからでは、と邪推。
  1. ゲームをプレイしたユーザが、「なんだか物足りないな」と感じた。
  2. ユーザは、「どうしてだろ?」「何で物足りないのだろう?」と疑問を持った。
  3. 「…たぶん、ボリュームが少ないのだ」「これは量の問題なのだ」と結論を導き出した。
  4. ユーザは、「ボリュームがあるゲームは良ゲー」「ボリュームがないゲームはクソゲー」と主張し始めた。
  5. 声が大きいユーザの言うことを真に受け、作り手は、シナリオの量、プレイ時間を増やし始めた。
  6. (あるいは、同じシナリオ量でも、読み終えるまで時間がかかるよう、不便なシステムを積極的に導入した。一度に数行しか表示できないメッセージ窓。一文字ずつ表示していくエフェクト。絵が変わる際にもエフェクト。…どれもチビチビとユーザの時間を奪い、プレイ時間を伸ばしていく。)
あくまで自分の仮説。

その手のゲームのレビュー記事を読むと、「ボリュームが少ない」と文句を言ってる人を頻繁に見かける。そのたびに自分はゲンナリしてる。

ボリュームがあるゲームは良いゲーム、ではない。 :

一部のユーザが「ボリュームが大事」と結論付け、作り手もソレを信じたとして。

その結論は間違いだと思う。

昨今、一部で「UX」という単語が流行ってる。User eXxperience。略してUX、なのかな。ユーザが何を体験できるのか、そこが大事、という話だろうと自分は捉えているけど。

また、コンテンツ業界でも、「自分達が売っているのは『体験』なんだと意識することが大事」と、語る場面をよく見かけるようになった。

自分もその考え方に同意。量が大事なんじゃない。本当に大事だったのは「体験」。そこが「物足りない」と思わせていた原因。「体験」の問題を、「量」「ボリューム」の問題と見誤ってしまったのではないか。

でも。

昔は、量と体験が繋がっていた。8〜16bitPC時代の話。何せ、RAM64KBとか、640KBとか、カセットテープでロードとか、FD2枚組とか、8・16色表示とか、そんな時代だったから。

戦後の食糧難みたいなもんで、味なんかどうでもいいよ、とにかく腹一杯食べてみたいなあ、と本気で望まれていた時期が ―― 量の多さが体験と直結していた時期が、ゲームの世界にもあった。

いや、そもそも当時は、ゲームをプレイすること自体が、新鮮な「体験」だったのか。この新しい「体験」をもっと味わっていたい。それを手っ取り早く実現するには…プレイ時間が長いほうがいい。…そういうことかしら?

でも、今は違う。

量は少ないほうがいい。他にも色んな食べ物(=娯楽メディア)があるから、既にユーザの腹は結構膨れてる(=ユーザが使える時間は残り少ない)。たった一口二口で美味いと思いたい、そう望む客に、山盛りだけが売りの料理を差し出してもゲンナリされて当然。

でも、食糧難の時代を生きてきた客は、量が大事と思い込んでいて。「ボリューム満点だ! この料理(=ゲーム)は最高だ!」と叫ぶ。周りの客はウンザリして店から去っていく。

さりとて、時代に合った品を作ってみても、さきほどの客が「これっぽっちかよ!? この店は最低だ!」と怒鳴る。店に入ろうとした人達はその声を聞いて引き返してしまう。実は適量だったかもしれないのに。

…そういう状況ではあるまいか。そんな単純なわけないか。

マズいことに、作り手も真面目で、楽もしたいから、制作システムが最適化されて、容易に軌道修正できない予感も。

エンジン部分は使い回しを前提に完成度が高まって。文、画、音の制作手順も確立して、作業を個別に切り分け外部に丸投げも可能になって。後はデータを揃えるだけだ。とにかく手を動かせ。テキストを増やせ。絵を増やせ。音声を突っ込め。…短期間に少ない人数で、とにかく量を増やすことを目的にして、作業手順が最適化された。でも、最初の仮説が間違ってた。量の問題じゃなかった。どうすんのコレ。

それでもいいのかも。 :

量が大事と叫ぶ客を相手にして成り立ってるのがその手のジャンルかな、それで食えるなら問題ないよな、という気もしてきたり。

前述の最適化の話も、食えるようになるために作業効率をひたすら向上していったらそうなっただけの話。それが悪いというわけでもない。

元々作り手は、仮説なんて持ってなかった。こんなものを作りたいという夢もビジョンも無かった。客の言うがまま、場当たり的対処を続けてたらこうなっただけ。

変化についていけないとしても、間違いに気づいてない客が居て、その人達が買い続ければ、存続は出来る。宮崎駿が語ってた町のゲタ屋理論 ―― 最後の一店になれば、今までのやり方を続けても食っていける、かもしれない。

でも、おそらく、その店以外は廃業するしかないのだけど。

他のジャンルはどうなんだろう。 :

STG、格ゲー、RPG、FPSにも通ずる部分がありそう。

STGや格ゲーは、消えていったジャンルの代表例として参考になる。

RPGやFPSは量との戦いだから、ある意味同胞。予算も期間も人数も桁違いの差があって比べるのもどうかと思うけど、作る上では量が肝、と言う捉え方は同じかなと思う。

FPSは、量と体験が今のところ連動してる状態に見えるけど、そのうちズレが出てくるのだろうか。それとも、ズレないままどこまでも行くのだろうか。だとしたら、FPSは既存ジャンルと何が違うのか。何が新しいのか。

どこまで量を増やしても、それが無駄にならない、そんな箇所・要素がありそうな気がする。FPSはソレを見つけたのでは。…ホントにそうなのかなあ。

ていうかこの記事も長いヨ。 :

伝わるか不安だから長くなるのかしら。おそらく、テキストを書く側に、読み手を信用していない部分がある、のかなあ。よく分かりません。

ひたすら書いてると気持ちいいのもたしかで。俺は仕事したぞーって気持ちは味わえる。でも、真に仕事をこなしたわけじゃない。ただの自己満足。

この記事へのツッコミ

Re: 2D紙芝居ゲームについてなんとなく考えてる by 名無しさん    2012/07/18 06:33
参考として
輝かしい星が見る夢 奈須きのこインタビュー
ttp://netokaru.com/?p=10829

Fateシナリオライターのインタビュー
ボリュームを振りかざした一人が、自分は時代遅れであるという事や
新世代に対する抵抗を語っているところが興味深い

Re: 2D紙芝居ゲームについてなんとなく考えてる by 名無しさん    2012/07/18 13:28
昔は、量=体験 の下りが理解できない・・・。

2010/06/10(木) [n年前の日記]

#1 [comic] 「ちはやふる」5巻以降を読んだ

妹から以下略。

面白い。いやー、これは面白い。

この作品を読んでると、トレース云々で作品や作家を全否定することが実に馬鹿馬鹿しいことに思えてくる。や、この作品はそういうことをしてないだろうけど。仮に、どこかのコマでしてたとしても、そのことでこの作品がつまらなくなるとは到底思えない。漫画というメディアの場合は、どのコマをトレースで描いたとか、写真見て描いたとか、そんなのはまったくどうでも瑣末なことだよなあ…。

2009/06/10(水) [n年前の日記]

#1 [iappli] 実機でSDカードアクセスを試してみたが

動作環境は、N905i + IO-DATA SDMC-2G/A (microSDカード)。結論としてはダメダメ。めちゃくちゃ遅い。240x120のgif画像を20x4回取り出すのに、1分15秒かかった。これじゃ話にならない。

もっとも、画像1枚分開くたびにSDカードへのアクセス初期化処理をしている上に、zipファイルの中からgifを1つ1つ解凍しているので…。画像ファイルが含まれたzipファイルをずっと開いたままにしておいて、かつ、zip圧縮のレベルを下げるかもしくは無圧縮にしてしまえば、もうちょっと違ってくるかもしれないと予想。

修正版を作って試してみたり。 :

ファイル開きっぱなしで処理するように修正。また、zipファイルの圧縮レベル指定を「無圧縮」にした。

修正後の実行バイナリを実機上で起動してみたところ、劇的に改善。修正前は1分15秒だったのに、修正後は6秒。また、20fpsで、240x120の画像を毎フレームにつき1枚ずつ展開しても、パッと見ではガクガクしてるように見えない。これならイケるかもしれない…。

しかし、古い機種や安物SDカード上で動かしたらどうなるかはちと不安。昔の機種を引っ張り出してきて動作確認してみないと…。

ちなみに、IO-DATA SDMC-2G/A は、メーカーサイトで7MB/sのread速度と謳ってる品だった。これは速いのか、それとも遅いのか。携帯に突っ込んでるSDカードって、平均的な速度はどのくらいなのだろう。うーん。

また、圧縮レベルを変えることで極端にデータサイズが増えたら困るなと不安だったけど。圧縮レベル9で作っていた 126,806byte のzipファイルが、圧縮レベル0の場合は 128,418byte になった。1.5Kbyte程度しか違わない。gif画像になってる時点で圧縮がかかってるから、更に圧縮してみても効果が薄いのだろうな。

P902iSでもテスト。 :

P902iS + SANDISK SDSDM-512-J60M(miniSDカード) でテスト。少し検索した限りでは、SDカードにデータ等を格納するソレは、Doja 4.1以降の機種でできるらしいけど。x902iの一部とx902iS以降から対応してる、ように見えるのでたぶん動くだろうと。ちなみに、電池が完全に切れていたので、充電するのにちと時間がかかったり。

P902iSで試してみたら絶望的に遅かった。前述の処理に2分32秒かかる。1枚だけ画像を取り出すにも約2秒かかってる。ダメ過ぎ。これでは使えない…。

N903iでもテスト。 :

これまた充電に時間が。それはともかく、N903i + IO-DATA SDMC-2G/A で動作確認。microSD は全然持ってないので、N905i に差していたソレを引き抜いて流用。

こちらは N905i と同程度の速度でアクセスできている模様。ストップウォッチ片手に測ってみたけど速度的に違いはないように見えた。

P902iS上でSDカードを交換してテスト。 :

もしかするとSDカードの速度自体が関係してるのかもしれない ―― P902iS に差してある SDSDM-512-J60M 自体が非常に遅いminiSDカードなのではないか、という疑念が湧いた。そこで試しに、P902iS に、IO-DATA SDMC-2G/A + miniSD変換アダプタ を差してテストしてみたり。しかし、実行速度は SDSDM-512-J60M と全く同じ。つまり、P902iS 自体に原因があるのは間違いなさそう。

昨今のiアプリは、x903i以降に対応という形が多い、という話も少し耳にしているので、P902iS 上でのSDカードアクセスが異様に遅いことは問題にならない・そもそもその機種には対応しなくていいということになるのかもしれないけれど。ただ、ネット上で、PシリーズはSDカードアクセスがとにかく遅いという話も見かけるわけで。もしかすると、P903i 〜 P906i も、P902iS と同様に遅い可能性があるのかもしれず。いや、逆に、N90xi が特殊で、他の機種は異様に遅いものばかり、という可能性も否定できない。全機種持ってるわけでもないので、そのあたり確認のしようもない。

つまり、今回のテスト結果から推測するに、SDカード上からデータを展開して動作するiアプリを作成した場合、非対応の機種が若干あるいはかなり増えてしまう可能性が高いのかもしれない、と思ったり。

全然関係ないけどP902iSの電池パックが微妙に膨らんできている。 :

日記を検索したら、 _2007/01/20 に購入したらしい。>P902iS。購入から1年以上経過した場合は、電池パックは新規購入してくれ、と言われたとメモしてあった。てことは買ってこないといかんのか。しかしはたして電池パック・充電池の在庫があるのかどうか。

少し検索してみたら、中国製の互換電池パックは存在する模様。って中国製かよ。大丈夫なのか、ソレ。爆発するんじゃないのか。

DoCoMoサイトを眺めたら、電池パック安心サポートなるものがあるらしい。てことは、一応在庫は確保してあるのだろうか…?

まあ、微妙に膨らんでるだけだし、iアプリの動作チェックをする際に引っ張り出す程度の利用状況なので、急を要するわけでもないのだけど。いや、入手可能なうちに入手しておいたほうがいいのだろうか。どうしたもんか。

SDカードのスペックが判らない。 :

SANDISK SDSDM-512-J60M の速度を知りたかったのだけど、検索しても出てこない。SANDISK のサイトでは型番すら見当たらない。

常々思うが、過去の自社製品・自社商品の情報をサイトに載せておいてほしいなと。そういったところをちゃんと載せてない企業は、何かトラブルが起きた時に不具合情報も平気で隠蔽しちゃったりしそうだな、と思えてしまうのである種のイメージ戦略としても是非載せていただきたいと。

2008/06/10(火) [n年前の日記]

#1 [prog] Perl用のIDEってないのかな

eclipse あたりを使ってると、変数名を変更したいなと思った時に、サクッと変更できるのだけど。Perl用のそういったIDEはないのだろうか。いや、エディタでもいいんだけど。目視で変数名を query-replace していくのもなんだかアホらしいわけで。eclipse + EPIC ならそういうこともできるんだろうか。でも重いんだよな…。> eclipse。

エディターのキー配置が emacs のソレになってないと使いづらいというのもあって、なかなかその手の便利なツールを見つけるのが難しかったり。

emacse の cperl-mode てのが気になるんだけど。 :

特長が判らない。最新の Perl構文にも対応してるというのが売りなんだろうか。でも、それだけ?

#2 [nitijyou] いいかげん、日記をアップロードしないといかんのだが

いや、強迫観念を持ちながら書き残すのもなんだかおかしな話なのでアレなんだけど。ローカルでは書き溜めているので、後は校正をすれば…なのだけど、そこが面倒で。

#3 [iappli] ビルボード部分を別途取り出すところまではできた

blenderで export した .bac に対して、ビルボード用と非ビルボード用ポリゴンを分離するPerlスクリプト、が一応そこそこできたような気がする。

実機で表示するためには、背景画像も表示しないといけない。前回テストしたときは、半球状のモデルを作って背景にしていたけど。テクスチャがかなり引き伸ばされてしまうために、静止画のスクリーンショットで見た場合は、テクスチャが荒くてちょっとアレだったわけで。今回のテストでは、2Dの背景画像を表示するようにしてみたいなと。が、そのためには、背景画像をセル単位に分割したり等をしないといけない。

背景画像をセル単位に分割するPythonスクリプトを以前書いてはいたのだけど。それはコマンドラインから使うものだったので、ちゃんと分割できたかどうかの確認作業等が面倒で。一時期、GUIで使えるようにしたものを途中まで作って放置してたので、今回ちゃんと作り直そうと思ったり。が、どこに保存したか忘れた。どのフォルダに入れてたっけ…。

2007/06/10() [n年前の日記]

#1 [prog] FontForgeの動作テスト中

スクリプトを指定して動かすことができるらしいので、
SourceForge: mplus-fonts/mplus_outline_fonts/scripts/build-ttf.pe
を参考にして、下のようなスクリプトを書いて動かしてみた。

testimport.pe
#!/usr/bin/fontforge -script

New()
Reencode("unicode")
_ttfname = "test.ttf"
SelectAll()
SetGlyphChanged(0)
# $trace=1
Import("test_svg/u*.svg")
# $trace=0
set_fontnames()
set_bearings()
set_kernings()
Save(_ttfname:r + ".sfd")
SelectAll()
RemoveOverlap()
RoundToInt()
set_instructions()
Generate(_ttfname, "", 0x94)
# Close()
# Open(_ttfname)
# Generate(_ttfname, "", 0x84)
Quit()

Windows版 fontforge 簡単 お手軽パッケージで動作確認。batファイル中で FontForge を起動してる行で、-script %FF%testimport.pe と指定してみた。…起動しない。フォントも作られてない。うーん。

VMware + Ubuntu 6.10 + FontForge で動かしてみようと試みる。Windows から持っていった testimport.pe は改行コードがおかしかったので、そのあたりを削除した上で、 -script testimport.pe として渡す。Can't find libxml2 とエラーが出てくる。そもそも svg を import できないみたいだ。libxml2 は既にインストール済みのはずなんだが…。Ubuntu の FontForge は、libxml2 を呼ぶような指定でコンパイルされてない、とかそういうことなんだろうか。よくわからんけど。

改行コードを Linux のソレにした tetimport.pe を Windows版 FontForge に渡して再度挑戦。…ん? 何かの拍子にエラーダイアログが出てくる。その際、svg が綺麗に読み込まれてるときもあるような。しかし確実に読み込ませる方法が判らない。そもそも、読み込んだ後で .sfd を保存してくれるように指定してるのではないかと思うのだけどな。うーん。

動くようになった。
#!/usr/bin/fontforge -script

New()
Reencode("unicode")
_ttfname = "test.ttf"
SelectAll()
SetGlyphChanged(0)
# $trace=1
Import("test_svg/u*.svg")
# $trace=0
Save(_ttfname:r + ".sfd")
SelectAll()
RemoveOverlap()
RoundToInt()
Generate(_ttfname, "", 0x94)
Quit()
set_fontnames() とか set_instructions() とかでエラーが出てるみたい。FontForge の解説文書にもそれら関数?の記述はないのだけど、もしかすると別ファイルで関数定義等が出来る・それを呼び出してるのだろうか…。

VMware + Ubuntu + FontForge でも動いた。 :

libxml2に関係ありそうなものを片っ端から入れたり、FontForge をアンインストール・再インストールしたら、動くようになった。

Inkscape で文字を作成。 :

四角形(rect)で枠を作ってその中にパスを。rectの色を緑や青に、パスの色を黒にしておいて、黒の部分だけ切り出そうとかと。…切り出すスクリプトを書かないと。

#2 [prog] Perlでsvgって扱えるのかな

何かライブラリ・モジュールの類があるのだろうか。

_SVG - Scalable Vector Graphics (SVG)ドキュメントを生成するためのPerl拡張 :

_ActivePerl+CPANによるモジュールインストール方法 :

ActivePerlのppmでもsvg関係が用意されてた。 :

ぎゃふん。

とりあえず ppm で svg.pm ? をインストール。サンプルを打ち込んでみたり。…これは作るほうの処理なのか。

#3 [prog] _Ruby/SVG Project

サンプルのsvgをFirefoxで開いても見れない。しかも開発を引き継ぐ人を募集中。Rubyにおいてはsvg関係は後手に回ってる or 捨てられた、と判断すべきなんだろうか…。

IE + Adobe SVG Viewer plugin なら表示できるな…。Firefox の svg の解釈?が厳しすぎるだけか。あるいは、サーバ側の設定をちゃんとしないといけない、とかあったりするのかもしれん。

Python で svg を扱うにはどうすれば。 :

検索してもそれらしいページにぶつからない。xmlを扱う手法がそのまま使える、というノリなんだろうか。

_Python, Perl or Ruby for XML? :

_Netsphere Laboratories: RubyでXML (REXML)
_RubyとXML

このへんを使えばいいのだらうか。

#4 [prog] _Perl で XML の処理はどれが速いかベンチ : NDO::Weblog

圧倒的に正規表現が速い。「1000 回じゃ信頼性のある結果にはなりませんよ」とまで言われるします。XML::LibXML も思ってたよりかなり速いです。XML::RSS や XML::Simple よりも圧倒的。一方、同じ XML::Parser の XML::RSS と XML::Simple ですが、予想してたより結構差がつきました。4倍ぐらい。XML::Simple の解析ルーチンがかなり柔軟性に富んでるので、それなりのオーバーヘッドがあるんでしょうね。

Perl で XML の処理はどれが速いかベンチ : NDO::Weblog より

なるほど…。

_IBM Perl 開発者のための XML、第 1 回: XML と Perl… - Japan :

#5 [nitijyou] NHK教育の受信状態が本格的にマズイ

福島県須賀川市では2chなのだけど。>NHK教育。ウチの受信状態はノイズだらけ。電脳コイルの画面がヒドイことになってる。受信料を払ってるチャンネルなのに、あんまりな画質。NHK総合 = 9ch のほうの画質はそうでもないのだけど。…NHK総合で放映してくれないものか。ていうか。NHK総合って、基本的にアニメを流さなくなったような気もする。いや、金曜だか土曜だかの深夜に流れてはいるけど。…NHK教育とNHK総合でナワバリ云々の問題でもあるのだろうか。

この記事へのツッコミ

Re: NHK教育の受信状態が本格的にマズイ by けいと    2007/06/12 21:51
普通にNHKに文句言っていいですよ。

解決はしてくれないかもしれませんが、
ちゃんと調査はしてくれます。
「デジタルに移行してください」とか言われたりして… by mieki256    2007/06/21 05:58
> ちゃんと調査はしてくれます。

なるほど。連絡してみようかしら。
でも、NHKに連絡しても、結局作業するのは近所の電器店の方だろうしなぁ…。
以前、ウチのアンテナを取り替えた際、
その電器店の方に、ウチの近辺の実状?を教えてもらったんですが、
なかなか地理的に厳しいらしいです…。

ていうか今の時期だとNHKから「地デジに移行してください」とか
言われちゃったりして…。
いや、コピーワンスが緩くさえなれば、検討するんだけど…。
Re: 「デジタルに移行してください」とか言われたりして… by けいと    2007/06/29 21:36
> でも、NHKに連絡しても、結局作業するのは近所の電器店の方だろうしなぁ…。

調査するのは恐らく「NHKアイテック」という
NHK純正?の関連会社がやると思いますよ。
それ専用の調査用の車も持ってますし。

その結果ダメでした、って言うことになると
受信料払わなくてよくなるかも。
専門の会社があるのですか by mieki256    2007/07/02 18:36
> 「NHKアイテック」というNHK純正?の関連会社

なるほど、専門の会社があるのですか。

> ダメでした、って言うことになると受信料払わなくてよくなるかも。

わー! それはそれで困るであります!
と言っても、地形その他によって厳しいときもあるだろうから
なんともアレですな。
Re: 専門の会社があるのですか by けいと    2007/07/08 20:26
> わー! それはそれで困るであります!
> と言っても、地形その他によって厳しいときもあるだろうから
> なんともアレですな。

実はそんな人のために衛星放送があるのに…

なんて思ったりしているのですが、
当のNHKが地上波と衛星で別々の番組をやっているから
ちっとも補完関係にならない…

もともとは地上波難視聴地域のための衛星放送だったはずだから、
NEK-G=BS1、NHK-E=BS2じゃないとダメなような…

あ、でも基本的にはあの手この手で
ちゃんと映るように(=ちゃんと受信料が取れるように)
いろいろ工作してくれるはずですよ^^
衛星放送と地上波放送 by mieki256    2007/07/19 16:11
> 当のNHKが地上波と衛星で別々の番組をやってて補完関係にならない…

ですなぁ…。なんだか衛星放送で流したコンテンツを
数年してから地上波で流す、なんて流れができちゃっていて…

いっそネットで流してくれないだろうか…>地上波のコンテンツ
NTTと組んで、フレッツスクウェアあたりを利用して、
NHK受信料を払ってるユーザはネットでも鑑賞できる、みたいな。無理か。

#6 [anime] 結界師の新キャラが捨て犬に朝食を分ける回

ベタなんだけど、ソレ以外の記号が思いつかない。手っ取り早く「実はいい人」的印象を持たせるにはどうすれば。って列挙した段階でソレが記号と化す気も。

#7 [cg_tools] _Inkscape2swfc - InkscapeのSVGをSWFTOOLSのswfc.exeにインポートするコンバータ

こんなツールがあったのか。

SuzukaはSVGファイルを読み込んでSWFに書き出しできます。また、swfmill(Release: 0.2.11)も以下のXMLファイルを書いて、SVGファイルを読み込んでSWFに変換できます。

Inkscape2swfc より

あら。

#8 [anime] プリキュア、小説家断念の回

いいところに目をつけたなぁ…。と思ったらそんなに広がらなかった。もっと創作の核心に踏み込むかと思ったが。

赤の片想いと会長の家に取材の回も鑑賞。

#9 [xyzzy] xyzzyのperl-modeで

open(IN, $infile) or die $!; と書くと、indent-region が正常に働かないな…。open(IN, $infile) || die $!; なら大丈夫だけど。

エディタの機能制限で、ソースの記述方法まで制限を受けてしまうという見本、になりそうでちとマズイ。

_メモ帳日記 : Meadow に乗り換え :

_xyzzyからMeadowにSwitch : おまえのログ
cperl-mode というのが emacs なら使えるのか…。

2006/06/10() [n年前の日記]

#1 [iappli] プロジェクト名変更

eclipse上ではリファクタリングとやらで名前変更ができる。問題はバッチファイルの中身。一応バッチファイルの冒頭で変数にプロジェクト名を入れてるから、そこを書き換えれば対応はできるのだけど。ただ、バッチファイルの数が多くて…。画像データやサウンドデータを、コピーしたり、まとめたりする際のバッチファイルが別々になってる状態だけど。一つにまとめてしまったほうがいいのかもしれん。

サーバと通信する云々の話が。結構ヘビーな追加の予感。サンプルとかあるんだろうか。…遊び方の説明画面も必要になりそう。もう、.jar には入らない。スクラッチパッドに色んなものを逃がさないと。今まで、スクラッチパッドには画像とサウンドしか読まないという前提で作ってたので、ちと悩む。画像、サウンド、敵発生データ、BGチップ並びデータ、説明画面文字列…5種類ぐらい管理しないといかんのか。画像データまでのアドレステーブルの中に種類を持って…とかそんな感じになるのかな。うーん。

データをロードしたり、サーバとやり取りしてる最中に、電池が切れたり、終了されたらどうなるんだろう。正常にロードできたかどうかのフラグでも書き込んでおかないと、マズイ気がする。あるいは、緊急時の策として、何かのキーを押しながら起動すると強制的にデータをロードし直すとか。

Javaの文字列って、たぶん Unicode なんだろうな。改行とかはどうやって持ったらいいんだろう。…そもそも文字列だけで済むのだろうか。画像も含ませるとなったら、画像種類と座標値も持たないと。画像と文字列が重ならないようにする必要もありそう。簡易でもレイアウトをする処理にしないと。

iアプリ制作のpdfを読んだら、sjis のテキストを取り扱える、と書いてあった。内部では Unicode らしいけど。説明画面用文字列はsjisで記述してOKということかな。

#2 [java] Javaの変数名とメソッド名の規則

を勉強せんといかん気がしてきた。最初が大文字とか小文字とかなんか色々ありそうな。

#3 [web] Docomo の携帯に自宅サーバからメールが送れない

_「Outbound Port 25 Blocking」実施によって影響を受けるお客様

/etc/postfix/main.cf の relayhost に plala が指定してるメールサーバのホスト名(?)を書けばいいのかと思ってたけど。
・対象ドメイン
◇ *.vodafone.ne.jp(jp-*.ne.jp) : ボーダフォン宛
◇ ezweb.ne.jp : au・ツーカーグループ宛

釣ったよ! F-board より

とある。Docomo には問答無用で送れない状態になってる、ということか。

「外出するから Docomo の携帯のメルアドにも cc: を送れ」と相手から指示されているのだが…。送れないぞ…。こりゃマズイ…。

自分もN506iS持ってるんだから、そっちから送ればいいのか。ってメール送受信のやり方も勉強してないし、そもそもメール関連の設定は何もしてない状態なわけで。

iアプリ制作どころじゃないな。携帯メールの使い方を早急に勉強しないと。トホ。

真っ当なメールサービスに申し込んでおかんといかん気がする。 :

plala も一応、有料でメールアドレスを取れるみたいだけど。どうも plala は信用できん。有料で、真っ当に使えるところってないものだろうか。

_postfix - transport :

デフォルト配送先を定義したい場合には main.cf の relay_host を使う

postfix より

とあるのでそちらを指定しておけば基本的には plala のメールサーバを経由する、のかな。

自分のDocomoメルアドを変更してみたり。 :

ふと。試しに自分のPCから、自分のiモード端末に向けてメール送信。…受信できとるがな。iモード端末から返信してみる。…PCで受信できたがな。

つまり、plalaが何か制限を加えてるというわけではないらしい。plalaが提示してるメールサーバを経由する限りは、Docomo携帯にも届くと。疑ってスマンカッタ。>plala。

となると。相手先のiモード端末で、インターネットからのメールを受信拒否にしているか。指定のメルアド以外はメールを受け取らない設定にしているか。あるいはメルアドを間違えてこちらに伝えてきたか。てなあたりだろうか。

それはさておき。PCからメールを送った途端に携帯がメールを受信してちとビックリ。これじゃ電話じゃないか。利用者の好きな時間にチェックできるという、電子メールのメリットが…。まあ、そのへん何かしら設定できるんだろうけど。マニュアルを読まないといかんなぁ。

電源を切っておけばセンターとやらで保管しておいてくれるのか。

2005/06/10(金) [n年前の日記]

#1 [anime] SEED2、対決1話前の回、かしら

昨日見たのに感想をメモするのを忘れてた。

最初のあたり、『タイタニック』を連想してしまった。 *1 つーか。ちゃんと専門家が死亡を確認したのかしら。コーディネーターの科学力なら蘇生できる可能性もあったのでは。などと思ってしまったけど、そんなところまで細かく描いてたらムードもへったくれもないわな…。

仮面の人はクローンかと思ってたんだけど。違うのだろうか。うーむ。

シャアが演説を! <違います。もしかして、逆シャアまで含めることを予定して…いたりはしないよな。たぶん。
*1: FFでも似たようなシチュエーションがあったらしいとどこかで見かけた。

#2 [anime] _元祖「仮面ライダー」映画で復活

_映画「仮面ライダー THE FIRST」公式サイト

ビデオじゃなくて映画なのか。オリジナルのデザインを踏襲しつつ今風にアレンジしてるあたりが素晴らしい。気もする。が。井上脚本なのか。不安だ…。 _(via 夜鯖の無職な日々 05/06/08-09:57の項)

#3 [anime][zatta] _母の愛、特撮の愛?

_子供のココロ、特撮のココロ。

キャラクター弁当について特集(?)した記事。各リンク先に飛んで、感動。スゴ過ぎる。

全然関係ないけれど。 *1 何故か、 _「もうカップラーメンはやだよー」 を思い出してしまった…。
*1: いや。関係あるかもしれないけど。

#4 [zatta] キャラ弁を見てるうちになんとなく連想・妄想してしまった色々なこと

なんとなくだけど。キャラ弁を作れる階層ってのがありそうな気はする。キャラ弁を作ることが、時間や経済面から許されるのか否かで、何かを測定・分類できるのかもしれないと思ったり。

それにしても、自分が弁当の蓋を開けて、そこにキャラ弁があったら、幸せすぎて泣いてしまいそうだな…。キャラ弁を食べられる子供達・お父さんがうらやましい。ってうっかり「お父さん」って書いちゃったけど。専業主夫がキャラ弁を作ったりする光景は、現実には存在していないのだろうか。男性の場合、専業主夫になっても、そこまで気が回らない人が多かったりするのであれば…女性(or 女性に対して社会が強制する属性)が持っている特有の視点・思考がそこには存在しているのかも。とかそんなことをぼんやりと思ったけど。さて。

キャラ弁文化は海外にもあるんだろうか? :

例えば、アメリカ人のお母さんは、『バットマン』『X-MEN』『ミッキーマウス』『パワーレンジャー』のキャラ弁を作っていたり、とか。それともこういった文化は日本特有で、海外のお母さん達に見せたら日本人の手先の器用さにビックリされてしまうのだろうか。

そもそも海外には、各家庭が子供のために弁当を作る文化・状況が存在しているのだろうか…。実は、保育園・幼稚園に相当するモノがなかったりして? 例えばアメリカあたりでは、ベビーシッター云々の文化があるみたいだし。アジア各国では経済的理由からそういったところに行かせることも難しい地域が多かったりしそうだし。となると、「幼児期から集団で生活することがそこそこ当たり前な日本人」と、「幼児期に集団で生活することは稀な○○人」ということで、その後の国民性に関しても何か違いが出てきたりするのかもしれない。…たぶんこのへん、誰かが真面目に研究してそうな予感。

_海外で人気の「キャラ弁」をおせちで作ってみた :

最近、海外のブログなどでよく見かける「BENTO BOX」という言葉。日本料理店などではテイクアウトできるものもあり、なかでも、さまざまなキャラクターをかたどった可愛い弁当が人気だという。それって、主婦が子供のために作る「キャラクター弁当(キャラ弁)」ではないか。確かに、様々な食材で顔などをこしらえる細かな作業は、器用な日本人ならではの技術かもしれない。あっぱれジャパニーズカルチャー。
なんと。日本特有なのか。

つまり、キャラ弁を作るお母さんたちは、世界でも類を見ない独自のアートを日々研究・開発・創作しているといえるかもしれない。なんかスゴイ。

_Bento box :

久しぶりに、日本食を食べようと思って、日本食レストランのお弁当を買ってきました。こういうのは、Bento boxという名前がついています。
弁当箱自体が日本独自の文化、なのかな?

いや、おそらく、各国版の同種の文化がありそうな感もあるのだけど。外出先で食事をとることを容易にする技術の需要は、人間が生活する以上、必ずあるはずだし。といっても食べ物の種類によって、箱におさめることができるか、あるいは別の何かにおさめるかが違ってくるような気もする。米を主食にしてる文化圏じゃないと、一つの箱に、食事に必要な全ての食材を“詰めて”“完結”させる、なんて文化は生まれてこないとか?

外出先でシートを広げて、カゴに入っていた食材を展開させる食事風景なら、海外にもよくありそうな予感。その点、弁当箱は、箱の中に入ってる食材を展開させずに箱の中だけで食事が済んでしまうあたりに特異性があるような気も。

_海外のお弁当事情 :

例えばアメリカでは、ピーナッツバターを塗っただけのシンプルなサンドイッチやまるごとの果物が多いようです。大人になると、食べる場所も自由に思い思いのところで、食べ終えたあとは包装紙のごみを捨てるだけ。とっても機能的ですね。
なるほど…。そういう文化では、キャラ弁は生まれてこないかもなぁ。ただ、違った何かが出てきそうではあるけど。

_台湾国会で弁当投げ抗争勃発!
議論が白熱し、野党国民党の女性議員、朱鳳芝が与党民進党の陳宗義に「この恥知らず!」と叫んでテイクアウトの鶏弁当を投げつけた。これに対し陳も弁当を投げ返して反撃。
つまり台湾には弁当が存在するらしい。箱かどうかは画像からは判別できなかった。

_lunchbox :

ここまで書いててスポーンと忘れてたけど。そもそも lunchbox って単語があるじゃん(爆) であれば、海外にもそれらしい文化が絶対にあるわな。

_LunchBoxという概念 :

海外ではどうなのか気になってgoogle&amazonしてみましたが、アメリカで言う弁当箱サイズってもっとデカイのな。なんか工具入れかよとか思いましたよ。
うわ。気になる。自分もググってみよう…。

_The A-Team 1983 Thermos Lunchbox :

なんかよくわかんないけど、「特攻野郎Aチーム」の lunchbox はあるらしい。

_なんで弁当箱にコードがついてるのだ!? :

と思ったら、カーバッテリー(?)を利用して暖めるタイプなのね。

_Googleイメージ検索 してみたら、色々ありそうには見える。ただ、日本のそれとは何かが違う感も。…ひょっとして、向きが違う?

_インドの弁当箱・タイの弁当箱 :

ますます何かが違う。
イスラムやキリスト教、ジャイナ教、スィク教など種々雑多な宗教が混在し、ことに階層や地方ごとに別個の食習慣を持つヒンドゥー教徒が多数派を占めるインドでは、それぞれに食のタブーや戒律といったものが存在する。
従って、例えば農村などの村落共同体に於いて、食事時になるとそれぞれの家に帰りそこで母または妻が作った食事を家族と共に摂れば何も問題無い。
なるほど…。各家庭の宗教の違いが、弁当という概念の発展を後押ししなかったとは。宗教云々も含めて日本と比較すると、興味深い現象かも。
しかし近代に入り都市生活者などが紡績工場といった労働集約型の産業に従事する機会が多くなるにつれ、上述の食習慣差による問題が現れる。近代の都市化はそうした食を含めたインド人の宗教的慣習を希薄にさせたが、一方で伝統を重んじたり食の習慣を継続しようとする人々も出てくる。また外食よりも家庭食の方が安く済む。そこで都市部では労働者が自転車にスチールの弁当箱をくくりつけ、出勤するのがインドの朝の風景である。
ここでもまた、各家庭の宗教の違いが弁当文化の発展を後押しする一因になってるあたりが興味深いかも。

_海外の食・子育て - 体験的「英国の食事事情」 :

手間をかけないことに関しては「もうカップラーメンやだよー」以上かも。が、これって単に、そういう階層・階級の中で体験してしまっただけ、なんてことはないのかしら…。
英国に限らないが、欧米では、大きくなると、子供は弁当を自分で用意して学校に持っていく。子供がつくれるくらいの中身だから、わざわざ親が早く起きてつくる必然性はない。
これはちょっと気になる話。

_多数の体験談 があってなかなか面白いかも。色んな文化があるのだなぁ。 *1

*1: ただ、サイトの趣旨からすると、感想部分は差し引いて読んだほうがいいのかもしれないし、あくまで一部の階層・階級の体験談であることは意識したほうがいいのかもしれないと思ったりもする。日本ですら、キャラ弁を作る階層もあれば、カップラーメンですませる階層もあるのだし。であれば、海外もおそらく同様だろうと想像するわけで。

#5 [zatta] _日本のお弁当箱

弁当箱で検索してたら辿りついた。外人さんが捻じ曲げて異世界と化した日本の姿。異文化の理解って、難しい。

#6 [nitijyou] 『期間限定 KitKatヨーグルト仕立て』ってのを食べたんだけど

味はともかくとして…。匂いが…匂いがキツイ…。ゲロの匂いがする…。こんなものを商品として売っていいのか…?

2004/06/10(木) [n年前の日記]

#1 [comic] 「先生!」再読

あらためて1巻から通しで読んでみると各セリフが刺さる。読み手によるだろうけど。

#2 [seiji] 出生率が下がったら何かマズイのですか

若者達が就職できなくて大変なのに、これ以上子供を増やしてどうするのだろう。しかも、この狭い国土で。

#3 [zatta] _卑屈攻撃

_(via philosophical)

#4 [zatta] _その橋は本当に必要なのか


2003/06/10(火) [n年前の日記]

#1 [pc] 自宅サーバ設置場所に問題があるような

寒さ対策で階下に降ろしダンボールで囲んでたわけだけど、これからの時期は逆にマズイ。今現在も電源ファンの音量が盛んに変化してる。かといってダンボールを外すと稼動音が大き過ぎて居間近辺に置けなくなる。 _熱は部品寿命にも影響する という話もあるので対策を考えないといけない。

#2 [pc] GUI化の難しさ

親父さんのWindowsアプリ操作を眺めていて気づいた事が多数。年配者のPC操作は勉強になる。 *1

メニューを開かない :

必然的に、アプリに様々な機能が内包されてる事にも気づかないようだ。

ツールバーを使わない :

アイコンだけでは何が出来るのかわからない場合が多いらしい。カーソルを乗せれば一応は機能名(チップ? バルーン?)が表示されるわけだが、その待ち時間も嫌なようだ。また、表示された機能名とアイコンを関連付けて覚え続けている事も難しいらしい。

ツールバーの使い方を間違える :

例えば、エクスプローラにおいて、ファイルを選択し、ツールバー上のアイコン(ボタン)の上にD&Dして「コピーできない」と言っている。「アイコン=D&Dして処理ができるもの」というのがWindowsデスクトップのルールだが、それをツールバー上のアイコンにも求めているようだ。 *2

設定をしない :

Windowsアプリの大半は、「ツール」→「オプション」で各種設定ができるが、「オプション」という単語が何を表す単語なのか、そこからして判り難いらしい。かといって「環境設定」と表記されていても、単語に難解さを感じる=自分が触ってはいけないものと思うのか、やはり触ろうとしない。そもそもメニューをあまり開かないので、設定変更をどのようにして行うか把握できてない状況が多い。また、オプションのウインドウを開く事ができても、そこに表示される項目の多さを目にした瞬間、尻ごみして設定作業を諦めてしまいがちのようだ。

要するに、目の前に出てきたものが全て :

そういえばスタートボタンからアプリを起動してる場面をあまり見ない。利用頻度に関係無く、必ずデスクトップにアイコンをコピーしてそれをクリックして起動している。結果、デスクトップはアイコンで埋め尽くされている。

つまりは、その時目の前に表示されているものが全ての機能であると思い込む傾向があるのではないかと思う。他にも機能が隠されている事が認識し難いようだ。かといって実際に全ての機能をウインドウに列挙すれば「こんなにたくさんあってもわからない」と尻ごみするだろう。また、利用頻度の少ない機能を絶えず画面に表示させておく事は狭いデスクトップ画面の有効活用という意味でも無駄だろう。もしかすると、「わかりやすい隠し方」「隠しているけど表示している表現」が必要なのかもしれない。

各瞬間に認識できる範囲は狭い? :

アプリ操作を教えていると、時々、タスクバーの存在を忘れたり、アクティブウインドウの裏にある別ウインドウの存在を忘れたりする光景をよく見る。特定部分に集中してしまうと、他のウインドウ・表示要素については認識できなくなるようだ。 *3 であれば、その時ユーザが注視している箇所から、距離的に離れていないところで、各種情報表示をしていく必要があるように思える。距離的に離れた所(タスクバーなり画面の隅なり)に表示していても、年配者・初心者には、それら表示がされていること自体が認識できていない。

触ってはいけないものが存在している? :

「PCはとにかく難しい」「教えられていない機能を使うと大変な事になる」といった思い込みが根底にあるように感じる。子供であれば、とにかく弄ってしまい、その過程でなんとなく使い方が判って活用できてしまうものだが、歳を取るに従って、「未知のモノを不用意に弄るのはよくない」 *4 と考え、それがPC操作・GUI操作にも表れてる気がする。

であれば、それら心理的障壁を取り払う事がまずは重要なのだろう。 *5 あるいは、仮に「危険な機能」が現実に存在しているなら、それらの危険度を視認できるような表示・表記・分類方法が必要なのかもしれない。 *6

ホームページビルダーの大きなメニューは利用できるようだ :

ビルダーには2つのメニューがある。
  1. 他のWindowsアプリと同様、単語だけが上部に列挙されている標準的なメニュー
  2. 機能名の左側にアイコンがついていて、画面中央でかなり大きな面積を占めている巨大メニュー
後者はメニューでありながら、なぜか頻繁に利用しているようだ。例えば、標準メニューやツールバーの「ファイルを開く」「上書き保存」を利用せず、件の巨大メニューの、「スタート」→「ページを開く」や、「ページを保存」→「編集中のページを保存する」を必ず使っている。それらメニューを利用したいと思わせる理由・原因はどこにあるのだろう。このあたり、年配者にとってより利便性の高いGUI設計についてのヒントが隠されているような気がする。 *7

関連性がありそうなのでメモ :


*1: 一応補足。年配者のPC操作・GUI操作の怪しさについて小馬鹿にするつもりなどは毛頭無く。現在の各種GUIには多数の問題点が未だ必ず残っているはずだが、苦も無く使えてるユーザを標準にしていては問題点も把握できず改善策も生まれない。年配者や初心者の操作から問題点を学び、改良を加え、PCを人間に近づける事が、技術に関わりを持った者のみが果たせるであろう社会への貢献ではないだろうかと思う。自分がPCを使えるからと言って問題点が存在する現状を放置・無視・軽視することは、人間をPCに近づけることを強要することで技術発展の芽を摘み取る行為でもあり、愚行と称してしかるべき。そもそも問題点を認識できたからこそ、MS-DOS→Windows等の流れが起きた現実も既にあるわけで、自分達が今現在使ってる技術がどのような経過をえて生まれたかを認識しているなら年配者や初心者の操作の怪しさを馬鹿にするなど到底できるはずもない。彼等の操作は技術者を志す者・技術で財を成そうとする者にとっていわば宝の山であるはず。
*2: ツールバーのボタンが「フラット」表示されてるところに原因があるのかもしれない。枠がついて、明らかに「ボタン」の形をしていれば、デスクトップ上のアイコンと同一視しない可能性もありそうな。
*3: ベテランドライバーは、目の前の情報をまんべんなく眺めながら運転するが、下手なドライバーは、何か気になる要素があるとそこだけ注視してしまい、他の情報を見落とすという。どうもそれと同じ現象が起きているような気がする。
*4: ならばマニュアルやヘルプを読んで各機能を理解すればいいのだが、文字がズラズラと並んだ画面を見た瞬間に読む気を無くすようだ。
*5: しかしそれは、昔の98ランチのように独自デスクトップを作る方向では解決しないように思える。ユーザに対して標準とは異なる新たなルールを強要すれば別の問題が発生する。
*6: しかし「各機能についての危険度による分類」などそもそも可能なのであろうか。
*7: もしかすると、これもやはり、距離の問題かもしれない。ツールバーや標準メニューより、件のメニューの方が編集エリアから距離的には近い。だが実際には、件のメニューをクリックしてからマウスを更に動かすので、マウスの移動距離はかえって多くなってるはず。件のメニューに何かしら心理的なメリット・好感度があるから使うのだろうけど、はたしてそのメリットとは何だろう。

2002/06/10(月) [n年前の日記]

#1 ADVのシステム

ソレ系のニュースサイトを回ってたら、 _某ゲームのレビュー が紹介されてたのです。
なんだこれは。やられた。こりゃ参った。
スターブレードを初めて目にした時のような感覚。
そのジャンルにおける、次世代性を感じました。

2001/06/10() [n年前の日記]

#1 雷のおかげ

雷の季節がやってきたようです。
怖いんで、PCの電源OFF。
さて何をしよう…

??( ̄□ ̄;)!!
自分が如何にPCに依存してるか、今わかってしまった。

とりあえず、そのへんに転がってたシナリオ関連の書籍を読みはじめたり。
100年ほど昔のソ連映画人達の、シナリオに対する考え方を紹介してる本。
数年前に古本屋で適当につまんだものの、文章が難解すぎて全然手をつけてなかったんです。

イヤイヤ読みながらも、目からウロコが。
シナリオに映像化できないモノを書くのは無意味かと思ってたけど、そんな単純なものじゃないらしい。
それらには、映像化する人達の、作品中の情感に対するイメージを充電させる意味合いもあるのですね。
もっともこの本、昔の本だから…
現在では、更に進んだシナリオに対する考え方があるのだろうな。


WSH+JScriptをちょこちょこ勉強。
オートパイロットが出来ないかどうか実験中。


あーまた忘れてた>ガオ,etc
ま、いいか。

2000/06/10() [n年前の日記]

#1 写真取ってきた

親父さんが喜多方市のほうへ写真を撮りに行くというので、ついでにオイラも連れていってもらいました。
デジカメで資料になりそな写真を撮るですよ(-_☆)キラーン

目的地は、雄国沼とひめさゆりの里、とか言うところ。

前者は、一応カルデラ湖らしく、山の上にあったのですが。
途中、道がカーブの連続で酔ってしまいそうに。
寝てない状態で行ったのは失敗だった…

後者は、ひめさゆりという花の群生地らしく。
これも山の上でカーブがかなり…
ううっぷ。

それにしても、オイラのデジカメ(RICOH DC-4U)はどうしてこうもヒドイんだろう。
撮った絵のほとんどが真っ白。
もうRICOHの製品は二度と買わん。
つか、ちゃんとしたカメラメーカーの製品を買わないとダメですよね >デジカメ
こういうところで、それまでのアナログ機での技術的実績がモノを言う、みたいな。

帰り、親父さんがゴルフクラブを買うというので、ゴルフ店を何軒か見て回ったり。
凄いですね、ゴルフ商品って。
セットで128万円とかいうのを見て、目が点になりました。
スゴい。PCが何台買えるんだろう…
ちなみにオイラの「高い安い」の基準は、PCが買えるかどうかだったり <それもなんだか金銭感覚が変

帰ってきてから、爆睡。

1999/06/10(木) [n年前の日記]

#1 (NoTitle)教習所の帰りに立ち寄...

教習所の帰りに立ち寄った本屋で、「EXIT」5巻(藤田貴美著、きみとぼくコミックス)を発見。GET。
くううう〜〜〜、もう最高! 読んでて顔がずっとニヤニヤ状態。VANCAの各キャラクタも好きだけど、個人的には渡瀬が好きだったりして。裏方の仕事をしてるはずなんだけど、とても生き生きしているように見えて。うらやましすぎる…。

以上、25 日分です。

過去ログ表示

Prev - 2024/04 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project