mieki256's diary



2024/04/25(木) [n年前の日記]

#1 [python][prog] OpenGLで道路を描画するPythonスクリプトを書いてる

OpenGLを使ってアイソメトリック的な見た目で道路を描画するPythonスクリプトを書いている。道路をポリゴンで描く処理もできたし、車のモデルデータを描画して、道路の向きに合わせて回転させる処理もできた。

道路のカーブがところどころ不自然なので、道路データを修正。QGIS を起動して、道路データを ―― 連続した直線データの頂点位置を変更して、再度エクスポート。元々交差点だった地点では90度で曲がっていて、それをそのまま残していたからおかしくなっていた模様。ただ、理想としては、交差点等もそのまま画面に出したい気も…。もしかすると、描画用のデータと、車を移動させるデータを、別々に持ってしまったほうがいいのだろうか…。しかしその場合、描画データをどう持てばいいのか…。

カーブに差し掛かったら車の移動速度を落とすようにしたい。現在の道路セグメントインデックス値から、前方に、何セグメント分か見て、角度の差の合計を求めて、カーブがあるかどうかを判定するようにしてみた。しかし、どうもイイ感じになってくれない。減速しなくていい場所で減速したり、減速してほしい場所で減速しなかったり、急加速が目立ったり…。もしかすると道路データに、ここからここまで減速、的な情報を手作業で追加したほうがいいのだろうか。

2023/04/25(火) [n年前の日記]

#1 [cg_tools] 実写風画像から線画イラストを生成してみたい

_昨日の実験 で、画像生成AI、Stable Diffusion web UI + Anime Lineart Style LORA を使うと、線画イラストっぽい画像を生成できることが分かったけれど、これを使ったら実写風画像から線画イラストっぽい画像を生成できるのかなと疑問が湧いたので、そのあたりを試してみた。

環境は、Windows10 x64 22H2, CPU: AMD Ryzen 5 5600X, RAM: 16GB, GPU: NVIDIA GeForce GTX 1060 6GB。

元画像は以下。basil_mix という学習モデルデータを使って、txt2imgで生成。

00013-3864758789.basil_mix.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 3864758789, Size: 512x512, Model hash: 0ff127093f, Model: Basil_mix_fixed


この画像を、線画イラスト風にして出力したい。線画イラスト風を出力しやすくするために、学習モデルデータとVAEを変更する。
そして、前述の元画像を、txt2img の ControlNet の画像入力欄にドラッグアンドドロップ。
プロンプトに、"<lora:animeLineartMangaLike_v30MangaLike:1>, lineart, " を追加しつつ、生成したら以下になった。

00014-331652086.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres, <lora:animeLineartMangaLike_v30MangaLike:1>, lineart, monochrome, greyscale,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 331652086, Size: 512x512, Model hash: 1d1e459f9f, Model: anything-v4.5, ControlNet Enabled: True, ControlNet Module: softedge_pidisafe, ControlNet Model: control_v11p_sd15_softedge [a8575a2a], ControlNet Weight: 1, ControlNet Guidance Start: 0, ControlNet Guidance End: 1

結構イイ感じかもしれない…。

解像度を上げると変わってしまう :

txt2img の Hires.fix を使って、512x512 の画像を 1024x1024 として生成してみたところ、以下のような結果になった。

00016-331652086.hires.fix.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres, <lora:animeLineartMangaLike_v30MangaLike:1>, lineart, monochrome, greyscale,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 331652086, Size: 512x512, Model hash: 1d1e459f9f, Model: anything-v4.5, Denoising strength: 0.7, ControlNet Enabled: True, ControlNet Module: softedge_pidisafe, ControlNet Model: control_v11p_sd15_softedge [a8575a2a], ControlNet Weight: 1, ControlNet Guidance Start: 0, ControlNet Guidance End: 1, Hires upscale: 2, Hires steps: 8, Hires upscaler: Latent (bicubic antialiased)

前述の生成画像と比べると、随分と絵柄が変わってしまった。これがもし手描きイラストだったら「別の方が描きましたか?」って言われそう。

解像度を上げて生成するだけでも、これほど絵柄が変わってしまうのでは、漫画やアニメのように、ある程度絵柄の統一が期待されるメディアでは使えないよなと思えてきた。いやまあ、背景だけとか、そういう部分では使えるかもしれないけれど。 *1

余談。そういえば、背景制作の一部にAIを使ってみたアニメ作品がある、という話を以前ネットで見かけた気がする。もしかすると、「キャラは絵柄が安定しないから使えないけど、背景だけなら大体は一枚絵で済むし使えなくもないかも」ということだったのかもしれない。分らんけど。

img2imgでは線画にならない :

img2imgだけで ―― ControlNet は未使用状態で試してみたけど、なかなか厳しい結果になった。

00013-3864758789-1475614968.i2i.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres, <lora:animeLineartMangaLike_v30MangaLike:1>, lineart, monochrome, greyscale,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 1475614968, Size: 512x512, Model hash: 1d1e459f9f, Model: anything-v4.5, Denoising strength: 0.55

白黒イラストっぽいけれど、これは線画じゃないなと。いやまあ、改めて見直してみたら、前述の2つの生成事例も全然線画じゃない気がしてきたけど…。

ちなみに、最初に試してみた際には、うっすら色がついた感じの画像が生成されてしまった。プロンプトに "monochrome, greyscale," を追加してやることで、無理矢理だけど白黒画像にできた。でも、コレは線画じゃない。

カラーイラスト風で生成するのであれば、img2imgでもイケるのだろうけど…。例えば、下のような結果でも良いのであれば…。

00013-3864758789-1520341489.i2i.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 1520341489, Size: 512x512, Model hash: eb4099ba9c, Model: abyssorangemix3AOM3_aom3a3, Denoising strength: 0.58

余談。AIの生成画像なので、やっぱり指がおかしいですね。

cannyで試してみた :

ControlNet のプリプロセッサ種類で、softedge_pidisafe を選んでるのがよろしくないのではないか、canny だったら違うのではと思えてきたので試してみた。txt2img で生成。
  • ControlNet を有効化。
  • プリプロセッサ : canny
  • モデル : control_v11p_sd15_canny

00015-331652086.canny.png
1 girl, beautiful, school uniform, upper body, masterpiece, best quality, highres, <lora:animeLineartMangaLike_v30MangaLike:1>, lineart, monochrome, greyscale,
Negative prompt: EasyNegative, (worst quality:1.4), (low quality:1.4), (normal quality:1.4), lowers,
Steps: 25, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 331652086, Size: 512x512, Model hash: 1d1e459f9f, Model: anything-v4.5, ControlNet Enabled: True, ControlNet Module: canny, ControlNet Model: control_v11p_sd15_canny [d14c016b], ControlNet Weight: 1, ControlNet Guidance Start: 0, ControlNet Guidance End: 1

髪のあたりは線画っぽくなったけど、服の部分は線画のソレではないな…。元画像の服の部分が黒すぎるのだろうか。それはともかく、やっぱり指がおかしいですな。

実験結果 :

結論としては…。
  • 何もない状態から、txt2img + Anime Lineart Style LORA を使って、線画イラスト風画像を生成できることは分かった。
  • 実写風画像を img2img に渡して、カラーイラスト風画像を生成することもできると分かった。
  • しかし、実写風画像を元にして、線画イラスト風を生成するのは難しい。グレースケール画像っぽいイラスト風なら生成できるけど、線画イラスト風にはなってくれない。

まあ、仮に線画イラストを生成できたとしても、ソレを一体何に使うのと問われたら、現時点では使い道が思いつかないのだけど…。それに、権利的にも、これらの学習モデルデータは色々アウトだろうから、そういった面でも使い道は無いよなと…。

VRAMが足りない :

Hires.fix を使って 1024x1024の画像を出力しようとしたら、NaN が大量発生しただの、VRAM が足りないだのエラーが出て処理が中断されてしまった。GTX 1060 6GB では、やはり厳しいのか…。

webui-user.bat 内の指定を変えればVRAMが少ない環境でも動くかも、という話を見かけたので試してみた。

webui-user.bat の2行目に以下を追加。なんでも、VRAM に対してガベージコレクションを行う頻度を指定しているらしい。
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6, max_split_size_mb:128

加えて、webui-user.bat内の、COMMANDLINE_ARGS の指定を増やした。
@rem set COMMANDLINE_ARGS=
set COMMANDLINE_ARGS= --xformers --no-half-vae --medvram
  • --xformers : xformers を使うことで処理が速くなる。その代わり、同じ乱数シードを与えてもビミョーに違う生成画像になる。
  • --no-half-vae : NaN とやらが大量に出て処理が止まってしまう場合、これをつけることで fp16 とやらが fp32 になって、処理が通るかもしれない、ということらしい。
  • --medvram : VRAMが4GBしかない時はコレをつけてみよ、ということらしい。その分処理速度は遅くなるそうで。

上記の指定をしたところ、Hires.fix を使って、512x512の画像を1024x1024として出力することができた。

もっとも、前述の通り、生成される画像は結構盛大に変わってしまうので、処理時間がかかった割に「コレジャナイ」感が…。うーん。

*1: もっとも、背景として使うとしても、パースがめちゃくちゃな画像が平気で生成されたりするらしいので、やっぱり漫画には使えないよ、という話もどこかで見かけた気がする。パース云々が絡んでくると、3DCGを活用するのが妥当という話になるのだろうなと。3DCGであれば、活用している漫画家さんも既に居るから、実績があるし。

#2 [zatta][neta] フレーム間が統一されていないことの魅力

思考メモ。

少し前に、踊っている人の実写映像を、1フレームずつAIで手描き風に変換した動画を目にした。ググってみたら見つかった。以下の動画。

_「AIアニメーション始まりすぎだろ..」実写モデルの動きをアニメに変換するAIの精度が高すぎることに対するクリエイターの反応 - Togetter

初見時は、「うわ、スゴイ」と思ったものの、よく見てみると、1フレームずつ変換してるから、フレーム単位で服の種類も影の付き方もパカパカ変わっていて、これではまだまだ使い物にはならないわな、と…。

ただ、3DCGでレンダリングして作ったセルルックなアニメ映像と比べると、AIが生成したソレに魅力を感じるというか、妙な手描きアニメ感が付加されているようにも思えて、そこからなんだか色々と考え始めてしまった。のでメモ。思考メモ。

機械が描いたような線を求められてた時代 :

大昔、セルとフィルムでアニメを作り始めた頃は、仕上げのお姉さん達が、つけペンを使って、セルに動画の線をトレスしてた(らしい)。その頃は、動画に忠実に、かつ、どれだけ奇麗な線を引くか、そういう能力が仕上げの方々に求められてた。

そのうち、トレスマシンが出現して、機械が、動画用紙上の線をセルにトレスしてくれるようになった。ところが今度は、動画用紙上の線自体にバラツキがあることが問題になってきた。動画を描いてる方々はそれぞれ別人なのでバラツキがあるのは当たり前なのだけど。そこで、動画を描く際にはこういう筆記具を使え、みたいなルールが一部のスタジオ内で強制されるようになったりもした。 *1

つまり、昔の日本の手描きアニメ業界には、「均一な線」「無個性な線」「誰が描いても同じ線」を理想として、そんな線を実現すべく、作業に従事する人間達が努力をしていた時代があった。

機械が描いた線を否定される時代 :

これが、3DCGソフトの出現と、セルルック3DCG映像の普及で、ちょっと状況が変わってくる。3DCGのソレは、機械が描く線なので、人間が引くより、間違いなく奇麗で、均一な線。

やったぜ。とうとう理想の線をアニメ業界は手に入れた。これで視聴者も大喜びすること間違い無し。

とはならなかった…。3DCGというだけで、なんだかんだ言って拒否反応を示す視聴者が結構出てきた。おかしいじゃないか。そこにあるのは、アニメ業界が何十年も追い求めてきた理想の線のはずなのに。まるで機械が描いたような均一な線を実現しようと、皆でずっと苦労してきたのに。なんで文句言われるの。お前等、コレが欲しかったんじゃないの?

顧客が本当に欲しかったもの :

つまるところ、手描きアニメにおける、本当の理想の線には、「ゆらぎ」「ズレ」「ブレ」が求められていたのかもしれないなと思えてくるのです。ブレ過ぎていてもダメだけど、機械のように正確過ぎてもダメなんだろう…。人が手を動かして作ったものには、必ず微妙なブレが入る。そのブレに、見る側は何かを感じていたりするのかもしれないなと。

そんなわけで、前述の、AIが生成したブレブレの動画に、自分は妙な魅力を感じてしまったのかもしれないなと。機械が生成した動画のはずなのに、雑な人間がガリガリと描いた動画のように見えなくもない。そこが見ていて面白い。

おそらく今後、フレーム間で形状に連続性を持たせるように、AIによる変換処理が発展していく可能性は高いのだろうけど。仮にそれが実現した時、「昔のほうが活き活きとした動きに見えたなあ」「これでは3DCGと変わらないじゃん。つまんない」という感想が出てきそうな気もする…。

でもまあ、一度はそういうレベルに達してみないと、その次の目標だって見えてこないのかもしれないな、とも思うのですが。

アナログな何かを付加すること :

そういえば、ここ最近の手描きアニメ業界は、セルとフィルムで作ってた時代のアレコレを再現しようと努力しているように見えなくもないなと。

仕上げは完全にデジタルになって、バケツツールで各面をクリックして塗り潰していくから、もはや塗りムラなんてどこにも無い。セルに絵具をペタペタと塗ってた時代は「塗りムラはダメ」という扱いだったけど、その頃からすると今のアニメ制作の仕上げは、間違いなく理想的な塗りのはず。完全にフラット。完全に均一。

なのに、撮影段階でフィルタをかけて、わざわざ塗りムラを再現してる作品が結構前から出てきている…。ガンダムシリーズのMSの塗りとかそんな感じだけど、アレって何時頃からやり始めたんだろう…。

線についても同様で。バケツツールで塗っていく関係で、動画の線は2値化された状態で仕上げに渡されるけど。これまた撮影段階で、鉛筆で描いたようなボサボサ感等をわざわざ付加してる作品があったりして。元々鉛筆で描いていた(かもしれない)動画を、わざわざ2値化して、鉛筆らしさを無くして均一な線にしているのに、また後から鉛筆らしさを追加するのだから、一体何をやってるのだろうと思わないでもないけど…。 *2

でも、その処理を入れるか入れないかで、映像から受ける印象が随分変わるのだよな…。

セルとフィルムで作ってた頃からすると、デジタルな道具の普及によって、これこそが理想と思える状態が実現したと言える。しかし、実際にその状態になってみると、これじゃ物足りない、アナログ感が欲しいと思い始めるという…。なんとも不思議。

てなあたりを考えると、セルルックの3DCGアニメ映像だって、手描き感を付加して印象を変えてしまうことは可能なはずで。実際そのあたりを試みてる作品も既にあるけれど。例えばEテレを眺めてると、時々そういう映像を見かけたりするし。

そういった、あえて不安定さを付加する処理にAIを使えないものかな。今の画像生成AIはフレーム間を統一させることが苦手だけど、いっそのこと、逆にフレーム間を統一させない方向で仕事をさせられないものか。たぶんソレ、手描きの一枚絵にも使えそうな気が…。などとバカ妄想をしてみたけど、何をどう学習させてどういう処理をかければいいのかさっぱりイメージが湧かないですが。

思考メモです。オチは無いです。

*1: たしか、テレコムやジブリではそういうルールがあったと、どこかで聞いたような…。要するに、宮崎駿監督が渡り歩いてきたスタジオでは、そこまで指定されたりしていた、てな話だったような…。
*2: いやまあ、海外の動画作業はデジタルになっていて鉛筆なんかもう使ってないのだろうし。グレースケールの画像を塗っていく仕上げツールは日本のスタジオ内でほとんど普及しなかったから、色んなスタジオの手を借りなきゃ作れない以上、どうしてもどこかで2値化する段階が必要になるんだろうけど。

2022/04/25(月) [n年前の日記]

#1 [nitijyou] 暑い

部屋の温度が28度。暑い…。

#2 [nitijyou] 日記をチェックしているところ

手元ではこの日記を書き溜めているけれど、2021/10/19を最後に日記をアップロードしてないので、そろそろアップロードしないとアレだなと…。とりあえず、誤字脱字が無いか、うっかり炎上しそうなネタを書いてないか、チェックしているのだけど、分量が多くて…。溜め込みすぎ…。

2021/04/25() [n年前の日記]

#1 [windows] Windows10が起動しなくて焦った

メインPCのスリープ解除直後に、Windows10 x64 20H2を再起動したら、「自動修復しています」→「自動修復できませんでした」の表示になって起動せず。またか…。以前と同様に、SSD内の Windowsフォルダは空だったりしないか。このままWindowsは死んでしまうのか。参った…。

メニュー選択はできたので、シャットダウンしてから再度電源を入れたら、今度は起動してくれた。焦った…。

一応、SSDに対して、エクスプローラ経由でエラーチェックはしてみたけど、エラーがあるとは表示されなかった。

どうしてこういう状況が発生するんだろう…。 どれかのパーツがアレなんだろうか。でも、普段は問題無く動いているように見えるわけで…。

「自動修復できなかった」と表示された時に、ログが Gドライブに入ってると表示されていたあたりも気になる。C:\ じゃないのか…。

2020/04/25() [n年前の日記]

#1 [windows] Windowsのプロダクトキーを確認する方法を調べてたり

WindowsがプリインストールされてるDELL製PCの、Windowsのプロダクトキーを知りたいという質問が届いて、方法をググっていたり。

大昔のWindowsプリインストールPCなら、PC本体のどこかにシールが貼ってあって、そこにWindowsのプロダクトキーが印刷されていたので、「プロダクトキーを知りたい」という質問に対しては「PC本体のどこかにキラキラしたシールが貼ってあるので探してください。そこにキーが書いてあります」と答えれば済んだのだけど。今時のPCはM/B(マザーボード)のBIOSにプロダクトキーが格納されているそうで。なので、本来であれば、Windowsをインストールしたりアップグレードする際に自動でプロダクトキーを読み取ってイイ感じに処理してくれるはず、なのだけど…。

とりあえず、プロダクトキーを確認できるフリーソフトがある、ということは分かった。

_ProduKey のダウンロードと使い方 - k本的に無料ソフト・フリーソフト
_Windows OEM Product Key Tool の評価・使い方 - フリーソフト100

その後もググっていたら、そもそも Windowsには標準でプロダクトキーを確認するためのツールがインストールされているようで。

_Windows10のプロダクトキーを確認する方法 | Windows10 FAQ
PowerShellが起動したら、下記のコマンドを入力して Enter キーを押します。

wmic path SoftwareLicensingService get OA3xOriginalProductKey

Windows10のプロダクトキーを確認する方法 | Windows10 FAQ より


_ライセンス認証が正常に完了しない場合に OEM プロダクト キーの再インストールおよびライセンス認証を行う方法 | Microsoft Docs

A-1) コマンド プロンプトを管理者権限で起動します。

A-2) 以下のコマンドを実行し、OEM プロダクト キーを表示します。

wmic path SoftwareLicensingService get /value | findstr OA3x

※ コマンド末尾の "OA3x" は、"OA" のみ大文字で入力します。

A-3) 手順 A-2 のコマンドの実行結果の "OA3xOriginalProductKey=" より、プロダクト キー (25 桁) を確認します。

ライセンス認証が正常に完了しない場合に OEM プロダクト キーの再インストールおよびライセンス認証を行う方法 | Microsoft Docs より


自分のメインPCで試してみたら何も出てこなかった。自作PCだからBISOにプロダクトキーなんて書き込まれてないわけで。これが正常動作ということかも。

2019/04/25(木) [n年前の日記]

#1 [pc] Z80のアセンブラについて調べていたり

MZ-700エミュレータ上で動く何かしらを、アセンブラで書けるかどうか確認したくなったので、Z80用のバイナリを出力できるアセンブラをググっていたり。

ググった感じでは、Z80AS が使われている場合が多いようだなと…。

_We Love MZ-700
_Z80 Abusolute Assembler 'Z80AS'

MZ-80K/700エミュレータで利用できるファイルフォーマット ―― .mzt で出力できるあたりがとてもヨサゲ。

問題は、どういうアセンブラソースを書けば MZ上で動くのか、そこが分からないという…。

モニタサブルーチンの一覧をメモ。 :

MZ-700 のマニュアルを発掘して眺めてみたり。

モニタ 1Z-009A に色々サブルーチンがあるので、そのあたりを呼べば Hello World ぐらいは楽に書けそうな気がする。後々作業する際のことを考えて、サブルーチンの一覧を試しにメモ。

_1Z-009Amonitor_note.pdf
_1Z-009Amonitor_note.csv

MZ-80K/700 は、テープからロードすると 1200h以降にプログラムが格納されるらしいけど、終了する時はどんな儀式を行わないといかんのか、そこが分からない。RET を呼ぶだけでいいのだろうか。

余談。マニュアルを眺めていたら、S-BASIC や Hu-BASIC がロードされた直後は、VRAM がフツーのRAMに切り替わると知った。フリーエリアは増えるけど、その代わり S-BASIC や Hu-BASIC で、いきなり VRAM に値を書き込んで何かを表示しようとしても、メモリ上の何かが破壊されるだけで画面表示はされない、ということかな…。これが MZ-80K用のプログラムなら、VRAM を RAM に切り替えたりはしないから、いきなり VRAM に書き込むこともできるのだろう。その代わり、フリーエリアは少なくなるはず。

#2 [pc] PC-6001のエミュレータを試用

Z80関係のサイトを眺めていたら、PC-6001の互換BASICがあると知り、興味が湧いたのでエミュレータを試用してみたり。

今回試したのは以下。

_PC-6001用互換BASIC
_PC-6001VX - ダウンロードのページ: 808 Midway
_Burnout.-Develop- PC6001VW3
_Burnout.-Develop- PC6001VW4
_ぱぴこんのこころ - PC6001V

PC-6001VX、PC-6001VW3/4 は互換BASICでも動いてくれた。ただ、PC6001V は CRC が違うと言われて動かなかった。おそらく実機のROMを入手しないと動かない作りになっているのだろうな…。

さておき、懐かしい緑色の画面が表示されて、なんだか感動。

もっとも、自分がナイコン族をやってた頃に触っていたPCなので、BASICの仕様等をさっぱり把握してなくて。仕様が分からないから、何かしらを打ち込んで遊ぶこともできず。当時はベーマガのリストを意味も分からずに打ち込んでいただけだから…。

2018/04/25(水) [n年前の日記]

#1 [linux][ubuntu] Linux Mint機にLXDEやxfce4をインストール

Gateway M-2408j + Linux Mint 18.3 cinnamon に、LXDE や xfce4 をインストール。

LXDE のインストールは、 _2017/11/10の日記 を参考にして作業。

xfce4 のインストールは以下。
sudo aptitude install xfce4 mint-meta-xfce
Linux Mint の場合、mint-meta-xfce というメタパッケージがあるらしい。知らなかった…。

_Installing XFCE on Linux Mint Cinnamon - Linux Mint Forums

$ sudo aptitude search mint-meta

i   mint-meta-cinnamon     - Set of packages installed by default in the Cinnamon edition of Linux Mint
i   mint-meta-codecs       - All the packages required for multimedia support in Linux Mint.
i   mint-meta-codecs-core  - All the packages required for multimedia support in Linux Mint.
p   mint-meta-codecs-kde   - All the packages required for multimedia support in Linux Mint
i   mint-meta-core         - Core Linux Mint packages
p   mint-meta-kde          - Set of packages installed by default in the KDE edition of Linux Mint
p   mint-meta-mate         - Set of packages installed by default in the MATE edition of Linux Mint
i   mint-meta-xfce         - Set of packages installed by default in the Xfce edition of Linux Mint

vnc4server をインストールして、VNCで接続できるか動作確認。~/.vnc/xstartup の内容は以下。(LXDEを使う場合)
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

# xsetroot -solid grey

# export XKL_XMODMAP_DISABLE=1
export XMODIFIERS=@im=scim
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
# ibus-daemon -dxr
scim -d &

# x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# x-window-manager &

# exec xfce4-session &
# startxfce4 &
#/etc/X11/Xsession
# exec /usr/bin/gnome-session --session=gnome-classic &
# gnome-session --session=gnome-fallback &

lxsession -s LXDE &
vncconfig -iconic &

日本語入力は、scim-anthy をインストールして指定した。Ctrl + Space で日本語入力のON/OFFができる。

#2 [linux][ubuntu] Connamonを選ぶべきではなかったのかも

Linux Mint 関係の記事をググっていたら気になる話が。

_Linux Mint その79 - Cinnamonでアプリの起動速度の改善 - kledgeb

Cinnamon ってアプリの起動速度が一際遅かったのか…。なんかもっさりだな、とは思ってたけど…。失敗した。MATE か Xfce を選んでインストールすべきだった。

まあ、Linux Mint 19 から改善されるという話らしいから、それまでは我慢かな…。

2017/04/25(火) [n年前の日記]

#1 [python] pysdl2でSDL_Render云々を調べていたり

まだ pysdl2 を触っていたり。

_SDL2の使い方 - mirichiの日記 によると、「SDL_Renderer と SDL_Texture を使えば SDL2 は高速な描画ができる」という話らしいので、pysdl2 でそのあたりを使えるかどうか試したり。

sdl2を使った版。 :

ウインドウを表示して画像を円運動させるだけのスクリプトを書いてみたり。以下のソースが参考になった。ありがたや。

_Example of render to texture with SDL2

手元のソースは、こんな感じになった。

_texture_render_test.py
_res/hello.png
u"""
PySDL2のテスト.

SDL_Texture と SD_Renderer を使うと高速描画できるらしいので試す。
でも、本当に速くなっているのかな…?

動作確認環境:
Windows10 x64 + Python 2.7.13 32bit版 + PySDL2 0.9.5
"""

import os
import sdl2
import sdl2.sdlimage
import ctypes
import math

SCREEN_SIZE = (640, 480)
# SCREEN_SIZE = (1280, 720)


def main():
    u"""メイン処理."""
    # PySDL2 の初期化
    sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO)

    # ウインドウを作成して表示。
    # タイトル文字列、表示位置、ウインドウサイズを指定している
    window = sdl2.SDL_CreateWindow(b"render test",
                                   sdl2.SDL_WINDOWPOS_CENTERED,
                                   sdl2.SDL_WINDOWPOS_CENTERED,
                                   SCREEN_SIZE[0], SCREEN_SIZE[1],
                                   sdl2.SDL_WINDOW_SHOWN)

    # ウインドウから renderer を取得。ウインドウ、インデックス、フラグを渡す
    # インデックスが-1なら初期化

    # fg = 0
    # fg = sdl2.SDL_RENDERER_PRESENTVSYNC | sdl2.SDL_RENDERER_ACCELERATED
    fg = sdl2.SDL_RENDERER_ACCELERATED
    renderer = sdl2.SDL_CreateRenderer(window, -1, fg)

    # 画像ファイルのパスを取得
    filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                            "res", "hello.png")

    # 画像をサーフェイスとして読み込み
    # png等の読み込みには SDL2_image を利用する
    surface = sdl2.sdlimage.IMG_Load(filepath.encode("utf-8"))

    # 画像サイズを取得しておく
    w = surface.contents.w
    h = surface.contents.h
    print("w,h = %d,%d" % (w, h))

    # サーフェイスをテクスチャに変換
    # SDL_CreateTextureFromSurface() を使えば変換できる
    texture = sdl2.SDL_CreateTextureFromSurface(renderer, surface)

    # テクスチャに変換したからサーフェイスは用済み。解放してやる
    sdl2.SDL_FreeSurface(surface)

    ang = 0

    interval = sdl2.SDL_GetPerformanceFrequency() / 60
    oldtime = sdl2.SDL_GetPerformanceCounter()

    running = True
    while running:
        # メインループ

        # イベントを調べる
        # 閉じるボタンのクリック or ESCキーが押されたらメインループを終了
        event = sdl2.SDL_Event()
        while sdl2.SDL_PollEvent(ctypes.byref(event)) != 0:
            if event.type == sdl2.SDL_QUIT:
                # 閉じるボタンがクリックされた
                running = False
                break
            if event.type == sdl2.SDL_KEYDOWN:
                # 何かのキーが押し下げられた
                if event.key.keysym.sym == sdl2.SDLK_ESCAPE:
                    # ESCキーが押された
                    running = False
                    break

        # テクスチャの表示位置を算出。円運動をさせている
        rad = math.radians(ang)
        r = SCREEN_SIZE[0] / 6
        x = int(r * math.cos(rad) + (SCREEN_SIZE[0] / 2) - (w / 2))
        y = int(r * math.sin(rad) + (SCREEN_SIZE[1] / 2) - (h / 2))
        ang = (ang + 3) % 360

        # 画面をクリア
        sdl2.SDL_RenderClear(renderer)

        # テクスチャの転送元領域を設定
        src_rect = sdl2.SDL_Rect(0, 0, w, h)

        # テクスチャの転送先領域を設定
        dst_rect = sdl2.SDL_Rect(x, y, w, h)

        # テクスチャをウインドウの renderer に転送
        # 転送元領域に NULL を指定すれば、全体を指定できる、はずなのだが…
        # sdl2.SDL_RenderCopy(renderer, texture, None, dst_rect)
        sdl2.SDL_RenderCopy(renderer, texture, src_rect, dst_rect)

        # ウインドウ(renderer)の内容を更新
        sdl2.SDL_RenderPresent(renderer)

        # ループの時間待ち
        while True:
            if sdl2.SDL_GetPerformanceCounter() - oldtime >= interval:
                break
            sdl2.SDL_Delay(0)
        oldtime = sdl2.SDL_GetPerformanceCounter()

    # メインループ終了

    # テクスチャ、renderer、ウインドウの解放
    sdl2.SDL_DestroyTexture(texture)
    sdl2.SDL_DestroyRenderer(renderer)
    sdl2.SDL_DestroyWindow(window)

    # sdl2を終了
    sdl2.SDL_Quit()


if __name__ == '__main__':
    main()

長い。ウンザリしてきた。

以下で実行。
python texture_render_test.py
texture_render_test_ss.png

一応、分かった点について、いくつかメモ。

ウインドウを生成したら、sdl2.SDL_CreateRenderer(ウインドウ, インデックス, フラグ) を使って、SDL_Renderer を得られる。
renderer = sdl2.SDL_CreateRenderer(window, -1, fg)
フラグには、sdl2.SDL_RENDERER_ACCELERATED を指定しておけば、ひとまずハードウェアアクセラレーションが適用、されるのかな。たぶん。 _SDL_RendererFlags を眺めると、vsyncと同期するフラグもあるようで。

テクスチャクラス SDL_Texture は、サーフェイスから変換できる。sdl2.SDL_CreateTextureFromSurface(SDL_Renderer, サーフェイス) を使えばいい。
texture = sdl2.SDL_CreateTextureFromSurface(renderer, surface)

画面への描画の仕方は…。テクスチャを renderer に転送することで描画するようで。
sdl2.SDL_RenderCopy(転送先のSDL_renderer, 転送元テクスチャ, 転送元領域, 転送先領域)
みたいな感じ。

_SDL_RenderCopy

転送元領域や転送先領域は、sdl2.SDL_Rect(x, y, w, h) で用意しておく。のかな。たぶん。

sdl2.extを使った版。 :

sdl2を使った版は、やっぱり色々と記述が面倒臭いので、sdl2.ext を使って少しは行数が短くなるように書いてみたり。

_texture_render_test_ext.py
u"""
PySDL2のテスト.

SDL_Texture と SD_Renderer を使うと高速描画できるらしいので試す。
sdl2.ext を利用して、少しは行数が減るように書いてみる

動作確認環境:
Windows10 x64 + Python 2.7.13 32bit版 + PySDL2 0.9.5
"""

import sdl2
import sdl2.ext
import math

SCREEN_SIZE = (640, 480)
# SCREEN_SIZE = (1280, 720)

# リソース(画像等)の場所を指定
RESOURCES = sdl2.ext.Resources(__file__, "res")


def main():
    u"""メイン処理."""
    # PySDL2 の初期化
    sdl2.ext.init()

    # ウインドウを作成して表示。
    window = sdl2.ext.Window("Hello World", size=SCREEN_SIZE)
    window.show()

    # ウインドウから renderer を取得。ウインドウ、インデックス、フラグを渡す。
    # インデックスとフラグは省略可能。インデックスのデフォルト値は index=-1
    # フラグのデフォルト値は flags=sdl2.SDL_RENDERER_ACCELERATED

    # fg = sdl2.SDL_RENDERER_PRESENTVSYNC | sdl2.SDL_RENDERER_ACCELERATED
    fg = sdl2.SDL_RENDERER_ACCELERATED
    renderer = sdl2.ext.Renderer(window, flags=fg)

    # テクスチャベースのスプライト、を作成できるクラス?、を生成
    factory = sdl2.ext.SpriteFactory(sdl2.ext.TEXTURE, renderer=renderer)

    # スプライトを1つ生成。画像の読み込みも行う
    sprite = factory.from_image(RESOURCES.get_path("hello.png"))

    # スプライト描画用のrendererを生成
    spriterenderer = factory.create_sprite_render_system(renderer)

    # テクスチャサイズを取得しておく
    w, h = sprite.size
    print("w,h = %d,%d" % (w, h))

    ang = 0

    interval = sdl2.SDL_GetPerformanceFrequency() / 60
    oldtime = sdl2.SDL_GetPerformanceCounter()

    running = True
    while running:
        # メインループ

        # イベントを調べる
        # 閉じるボタンのクリック or ESCキーが押されたらメインループを終了
        events = sdl2.ext.get_events()
        for event in events:
            if event.type == sdl2.SDL_QUIT:
                # 閉じるボタンがクリックされた
                running = False
                break
            if event.type == sdl2.SDL_KEYDOWN:
                # 何かのキーが押し下げられた
                if event.key.keysym.sym == sdl2.SDLK_ESCAPE:
                    # ESCキーが押された
                    running = False
                    break

        # テクスチャの表示位置を算出。円運動をさせている
        rad = math.radians(ang)
        r = SCREEN_SIZE[0] / 6
        x = int(r * math.cos(rad) + (SCREEN_SIZE[0] / 2) - (w / 2))
        y = int(r * math.sin(rad) + (SCREEN_SIZE[1] / 2) - (h / 2))
        ang = (ang + 3) % 360

        # スプライトの表示位置を変更
        sprite.position = x, y

        # 画面をクリア
        renderer.clear()

        # スプライトを描画
        spriterenderer.render(sprite)

        # ループの時間待ち
        while True:
            if sdl2.SDL_GetPerformanceCounter() - oldtime >= interval:
                break
            sdl2.SDL_Delay(0)
        oldtime = sdl2.SDL_GetPerformanceCounter()

    # メインループ終了。色々なアレやソレを解放
    sdl2.ext.quit()


if __name__ == '__main__':
    main()

相変わらず長い。いやまあ、一応ちょっとは短くなっているのだけど。

以下で実行。
python texture_render_test_ext.py
texture_render_test_ext_ss.png


sdl2.ext版は、やっぱりスプライトを使わないと短く書けないっぽい。sdl2.ext.SpriteFactory() を使うことで、スプライトの生成ができるっぽいけど…。
# テクスチャベースのスプライト、を作成できるクラス?、を生成
factory = sdl2.ext.SpriteFactory(sdl2.ext.TEXTURE, renderer=renderer)

# スプライトを1つ生成。画像の読み込みも行う
sprite = factory.from_image(RESOURCES.get_path("hello.png"))
sdl2.ext は、スプライトの種類として、
  • ソフトウェアベースのスプライト(sdl2.ext.SOFTWARE)
  • テクスチャベースのスプライト(sdl2.ext.TEXTURE)
この2種類が用意されてるようで。名前からして、おそらく前者は遅いんじゃないかな、と…。

スプライトの描画は、create_sprite_render_system() を呼んで、ソレ用の何かを生成して…。
# スプライト描画用のrendererを生成
spriterenderer = factory.create_sprite_render_system(renderer)
後で、.render(スプライト) を呼べばいいのかな。たぶん。
# スプライトを描画
spriterenderer.render(sprite)

ホントにコレで合ってるのか全く自信は無いけれど、一応はコレで動いてるっぽいし…合ってるんじゃないかなあ…怪しいけど。

メインループの時間待ち処理。 :

メインループが60FPSで回るようにしたかったのだけど、最初は _SDL_Delay() だの _SDL_GetTicks() だのを使っていて。

_SDL:フレームレートの制御 | ジャジャガッチブログ

ただ、どうも動きがガクガクする…。

他の方法はないのかなとググっていたら、以下の記事が。

_Windows8(以降?)でSDL_delayの挙動が変わったのかしら?と言う話 - 今日の雑記
_c++ - Sleep(1) and SDL_Delay(1) takes 15 ms - Stack Overflow

Windows7 と Windows8以降では、動作が変わるとか…。そりゃ困る…。

ということで、件の記事で紹介されてる方法でループの時間待ちを書くことに。

_SDL_GetPerformanceFrequency
_SDL_GetPerformanceCounter

一応簡単に解説すると…。
  • sdl2.SDL_GetPerformanceCounter() を呼べば、現在の高分解能カウンタ値を得られる。
  • sdl2.SDL_GetPerformanceFrequency() は、1秒間に何回、高分解能カウンタでカウントできるかを返す。ということは、この値を60で割れば、1/60秒の間にカウントできるはずの数が得られる。(= インターバル値)
  • メインループ処理を始める前に、カウンタ値を覚えておいて…。
  • メインループ処理の最後のあたりで、覚えておいたカウンタ値と、現在のカウンタ値を使って、カウント数の差 = メインループの処理に何カウントかかったのかを取得する。
  • もし、差が、インターバル値に達してないなら、まだ処理時間は余ってるということ。時間待ちをしないといけない。
  • 差が、インターバル値に達するまで延々とループさせる。一応、ループの中で、SDL_Delay(0) を呼ぶことで、ほんの一瞬ちょっとだけ、なんとなく気持ち的にスリープさせておく。
  • 差が、インターバル値に達したら、1/60秒経過したということ。現在カウンタ値を記録して、メインループをまた実行。
面倒臭いですね。こんなの毎回書かせるとか何なんですかね。ライブラリ側でやってほしいですよね。

vsyncの使い方がよく分からない。 :

SDL2 は vsync を利用できるという話を見かけたので、「vsync で合わせれば確実に60FPSで回ってくれるんじゃないのかなあ」などと思ってしまったのだけど。以下の記事を目にして考えが甘かったことに今頃気づいたり。

_python - Locking the frame rate in pygame? - Game Development Stack Exchange

「PCによってディスプレイのリフレッシュレートって違うだろ」「あんなもんを頼りにしてたら何FPSになるか予測つかんぞ」という、あまりにも当たり前な指摘。ああ、たしかに、そうだった…。PCって、ゲーム機と違って、ディスプレイのリフレッシュレートがバラバラだった…。すっかり忘れてた。

となると、vsync って何に使えるんだろ。いや、画面の書き換えが気にならないように、みたいな使い方はできるだろうけど。メインループは60FPSだけどディスプレイは50FPSとかだったら、スクロールがガクガクしたりせんのかな。どうやって辻褄を…。って今頃になってこんなので悩むとか何十年頭の中が止まってるんだよって感じですな。

さすがにこのあたり、誰か対処方法をまとめてないのかしら。昔、アプローチを3種類ぐらい紹介してた記事を見かけた記憶も…。

でも、今時は、こういうのって気にしなくて済むように、ライブラリ/ゲームエンジン側で実装済みだったりするんじゃないのか。その手の解説記事、残ってるのかな…。

とりあえずここまでかな。 :

画像描画とキー入力ができれば、あくまで見た目だけ、ではあるけれど、リアルタイムゲームっぽいソレを頑張れば作れると思うので…。とりあえず今回はここまで、かなと…。pygame より高速に描画できそうな雰囲気もあるし、これはこれで。

でも、やっぱり記述が面倒臭いなあ…。しかし、sdl2.ext は、ちょっとよく分からんし…。pysdl2 の上に被せるグッドなラッパーが出てくれば、Pythonでその手のゲームを書く行為も、ちょっとはアレになるのだろうか。

そういや、SDL2関連DLLの入手も面倒、だったのだよな…。例えば、pythonスクリプトを一つDLして実行するだけで、各ページからzipを落として展開してまとめてくれる、みたいなソレってPythonで書けないのだろうか。あるいは、関連DLLだけをまとめてインストールできる別パッケージを用意するとか…。いやまあ、そのへん、最初からpysdl2に同梱しといてよ、てな気持ちもあるけれど。

ちなみにDXRubyで書いたら。 :

ちなみに、Ruby + DXRuby で上記のスクリプトと同じ処理を書くと…。
require 'dxruby'

# 画像を読み込み
img = Image.load("res/hello.png")

ang = 0

# メインループ
Window.loop do
  # ESCキーが押されたら終了
  break if Input.keyPush?(K_ESCAPE)

  # 円運動をさせる
  rad = ang * Math::PI / 180.0
  r = Window.width / 6
  x = r * Math.cos(rad) + (Window.width / 2) - (img.width / 2)
  y = r * Math.sin(rad) + (Window.height / 2) - (img.height / 2)
  ang = (ang + 3) % 360

  # ウインドウに画像を描画
  Window.draw(x, y, img)
end

他の言語やライブラリで書いたら、どうなるんだろう…。Python + pyglet、Ruby + gosu、HSP、Processing、enchant.js あたりで…。このくらいなら Processing も短く書けそうですな。 *1

*1: もちろん、「短ければいいってもんでもないだろう」と言われそうでもあり…。一般的に、少ない記述量で書けるってことは、その分何かがトレードオフになってるはずで…。結局そのへんケースバイケース、なのだろうと思いますが。

#2 [zatta][neta] 「東北でよかった」について

復興大臣が、東日本大震災に関して「東北のほうでよかった」と発言したらしいけど。

_今村復興相 震災復興に関連し「東北のほうでよかった」と発言 | NHKニュース
_復興相「震災、東北でよかった」 与党から辞任論も :日本経済新聞

最初にその話を聞いた時、自分も東北人でありながら、「え? それマズいの?」と思ってしまったりもして…。だって、これが東京だの関東だので起きてたらこんなもんじゃ済まなかったのは間違いないし。なので、「それはそれで事実じゃないのか」「事実を述べて叩かれるのは、ちとマズくないか」と、なんだか少々複雑な気分に。

しかし、このあたり、言い方が難しい。「不幸中の幸い」てのもなんか違うし。…いや、なんか違う、どころじゃないな。絶対に違うな。「コレコレこういう状況になることを想像した場合、現状は比較的マシなのかもと思えなくもないような、そうでもないような、どうなんだ」みたいなソレを、どう言えばいいのか…。

アレかな。「関東に比べたら人口が少ない東北ですらこれだけの被害が出てるのだから、まして〜」みたいな言い方で止めておけばよかったのかな。いや、それもそれでなんだか叩かれそうな…。

事実と感想を明確に分けて発言しないといけないのだろうな…。「よかった」は感想の域に足を踏み入れてる言葉だから、そこがいかんのだろう…。とは言え、仮に事実のみを述べたとしてもやっぱり叩かれそうで怖い…。

ニホンゴ、ムズカシイデス。…いや、日本語に限った話じゃないな。たぶん。

2016/04/25(月) [n年前の日記]

#1 [prog] three.jsをまだまだまだ勉強中

色々と試しているところ。今現在、こんな感じに。

_roadmake2.html (DEMO)

例えばブラウザ(Firefox、Google Chrome)で表示した後、F11キーを押して全画面表示にすると、それだけでも結構迫力がある、かもしれず。ちなみに、全画面表示を抜ける時は同じくF11キー。

画面に変なポリゴンが描画されてしまうのは、geom.mergeVertices(); を入れてたから、だった模様。コメントアウトしたら変なポリゴンが描画されなくなった。重複した頂点を結合してくれる機能らしいけど、与える頂点群によっては妙な処理がされてしまう時があるっぽい。

背景も追加。three.js サンプルの、 _panorama / equirectangular が参考になった。件のサンプルでは、球を追加して equirectangular 画像(正距円筒図法の画像)をテクスチャとして割り当てているっぽい。BG用の mesh を作成して、mesh.position.set(x, y, z); で、カメラの位置座標を常時入れてやったら、それらしく表示された。

遠くにあるテクスチャがぼけてしまう問題を minFilter の設定を変えることで一旦解決したけれど。texture.anisotropy の値を変更することでも解決できそうなので、そちらを使ってみたり。デフォルトでは1が入ってるらしいけど、以下のように記述して最高品質を指定。
  texture.anisotropy = renderer.getMaxAnisotropy();

ブラウザを全画面表示にするとスクロールバーが表示されてしまうあたりが気になってたけど。各サンプルを眺めていたら、body のスタイルシートで、overflow: hidden; を指定することでスクロールバーが出てこないようにしていたので、手元のソースでもそのように修正。
  <style>
    body {
      margin: 0px;
      padding: 0px;
      overflow: hidden;
    }
  </style>

さて。ビルボードで木を追加したいけど、何を使えばビルボードになるのやら…。

2015/04/25() [n年前の日記]

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

天気が良かったので自転車で。前回型を取って本歯?ができているはずなのでそれを取り付けに。

前回の治療後、かなりの痛みが丸一日続いたことや、仮歯や周辺に触れるとズキッとくるあたりが不安だったので、質問内容をWordで打って印刷して持って行ったり。最近物忘れが激しいので…書いておかないと忘れる…。

さておき、こんな質問したら怒られるだろうか、機嫌を損ねて何かされてしまうだろうかとオドオドしながらも一応質問してみたら一応答えてもらえてホッとした、けれど、なんだか一部の回答を誤魔化された印象も。しかし、しつこく質問して機嫌を損ねたら怖いし…。

とりあえず本歯がついて見た目は綺麗になったけど、たぶん数日痛みそうな予感。念のためということで痛み止めの薬を出してもらえたので少しは安心だけど。しかしそもそもこんなに痛むものだろうかという疑問が頭から離れず。

もっとも、自分の口の中があまりに汚い故に生じる結果かもしれぬと思えてならないわけで。歯の治療は、常に「自業自得」という言葉が付きまとうのがなんというか。普段からちゃんと磨けていたらこんなことにはならないはずで…。

歯医者の何が不安かと言えば。 :

今回通ってる歯医者もそうだし、S歯科もそうだったけど。説明が足りなくて、治療の「道筋」すら把握できないまま治療を受けてる状況が、とにかく不安を煽るというか、恐怖心が湧くというか。自分はこれから一体何をされてしまうんだろう、怖いけど自分の歯と口の中が人質に取られてるも同然だから迂闊なことを聞けない…。歯医者さんを信用するどころじゃない。治療中、「今日は何をされるんだろう」「今、何をされてるんだろう」「こっちが素人なのをいいことに何か酷いことされてるんじゃないのか」と震えっぱなしで。

何せ今回も、
「えっ。今、神経取っちゃってるの? 聞いてないよ…」
「えっ。こんなに小さく削っちゃったの? 聞いてない…」
「こんなに痛むのって正常な展開なの? 『痛む場合もあるかも』って聞いてないんだけど…」
と、コンボが決まって不安になってしまったわけで。

これがもし、例えばコピーの1枚でも渡されて、そこに、「この順番で治療していくよ」「歯はこういう形になっていくよ」「おおよそこのくらいの期間がかかるよ」とでも書いてあったら全然違ったんだろうなと。おそらく治療内容はいくつかのパターンで分類できるのだろうから、メジャーなパターンの説明文書を数種類用意して、「貴方の場合はコレね。眺めておいてね」と患者に渡せば…。

もっとも、治療で忙しくて、そんな文書を作ったり渡したりしてる余裕はないのだろうな。でも、別に先生が作らなきゃいけないわけでもないよな。助手さんに作らせて内容チェックだけして、ではいかんのかな。女性の助手さんの中には、謎生物があちこちに描いてあるファンシー文書を作れそうな人材が居そうな気もするけど。

別にコピーを渡さなくても、治療用の椅子の前に貼ってあるのもアリかも。治療されながら、「ああ、次はこういう治療になるのか」と把握できれば…。

原発事故の放射線量もそうだけど、ただ単に「知る」だけで、恐怖や不安が随分和らぐのは間違いないのだけどな。

もっとも今は、ググれば結構情報が出てくるから、患者側でもできることが。と思ったけど、各人の状況は違うから目的の情報に辿り着けそうか不明だし。歯医者さんがどういうルートを進もうとしてるかは、その歯医者さんにしか分からんし。インターネットをやってない患者はどうすればいいのかという問題も。

PCメンテナンス云々でもそうなのだけど、トラブル解決能力と、説明する能力って違うので、なかなか難しいよなと。

2014/04/25(金) [n年前の日記]

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

親父さんの電動自転車を借りて以下略。ダイソー、リオンドールに行った後、一旦帰宅してからホーマックに。

#2 [pc] 結束バンドとかマーカータイとか

ダイソーで、名札付き結束バンドなるものを見かけたので買ってみた。100円で15本入りだから、1本6〜7円かな…。

ホーマックでもマーカータイなるものを見つけたので、これも買ってみた。300円で100本入り。1本3円。OHM製、MT-100W100P。

ダイソーのソレを使ってみたけど、紐が全然入らなくて。差し込む向きを確認したり、ラジオペンチで引っ張ってみたけど、かなり厳しい。たぶん穴が小さいんじゃないかな…。これはちょっと使えない感じ。

マーカータイは、ケーブルをすんなり縛ることができた。ただ、名札部分が円の中に入ってしまうから、円をキッチリ細くすることができなくて。細いケーブルに使うと、ゆるゆるになってしまう。 _ELECOM LD-ST100WH20 のような形だったら良かったのに…。

また、どちらも一度縛ってしまうと取り外すことはできなくて。ニッパー等でちょん切って外さないといけないので、使い回しはできない。ちと不便というか、もったいない。使い回しが効くようなタイプだったら良かったのに。

ちなみに、普段、この手のソレには、木製ピンチ(木製洗濯ばさみ)を使っております。 _RFC2322 - 洗濯バサミDHCPによるIPアドレスの管理手法 を応用というか。

ダイソーで売ってる、木製ピンチにフックがついてるタイプが結構便利だったり。ケーブルを外した際、どこかそのへんに引っ掛けたりとかできるので。

#3 [windows] IEの自動アップグレードを無効にする方法を調べたり

某所のWindows7機上で、IE8に固定しておかないといかんという話があって。IEの自動更新・自動アップグレードを無効にする方法をググったり。

そのものズバリが、@ITで解説されてた。

_Windows TIPS:Internet Explorer 11の自動インストールをブロックする - @IT
_Windows TIPS:Internet Explorer 10の自動インストールをブロックする - @IT
_Internet Explorer 9の自動インストールをブロックする − @IT

試してないけど、手順を一応メモ。Microsoft のサイトから、ツールをダウンロードして…。

_Internet Explorer 9 自動配布の無効化ツールキット
_Internet Explorer 10 自動配布の無効化ツールキット
_Internet Explorer 11 自動配布の無効化ツールキット

実行すると解凍されてツールが出てくるらしい。以下を実行すれば、自動アップグレードが無効になる。
IE9_Blocker.cmd /B
IE10_Blocker.cmd /B
IE11_Blocker.cmd /B
自動アップグレードを有効にする場合は、/B ではなく /U をつけて実行。

それにしても、Windows8、8.1はもちろん、IE9〜IE11で動作確認していない・対応していない状況ってのは困るなと。IE8までは、色々凄いことができちゃう特殊機能でもあったのでしょうか?

IE8にダウングレードする方法もメモ。 :

「インストールされた更新プログラム」の中から、IE11、IE10、IE9 をアンインストールすればいいらしい。意外と簡単そうで良かった。

ただし、IE10をアンインストールした後、IE9 や IE8 の動作がおかしくなる場合があるそうで。そういった不具合が発生した際は、IE10を再インストール、パッチを当てて、IE10を1度起動して終了、IE10のアンインストールをすれば解決する、という話を見かけた。

_Internet Explorer 10 をアンインストールすると Internet Explorer 8 や 9 でダウンロードができない
_[MS13-047] Internet Explorer 用の累積的なセキュリティ更新プログラム (2013 年 6 月 11 日)
_マイクロソフト セキュリティ情報 MS13-047 - 緊急

2013/04/25(木) [n年前の日記]

#1 [pc][neta] HTML5 + CSS3 + JavaScript と書くのがとても面倒臭いです

略称って、ないのかなあ…。

hcj、とか。ググったら、別の何かに使われているようだった。ダメか。

h5c3js、とか。暗号みたいで覚えられないだろうな。

hhhhhcccjs、とか。さらに分かりづらくなった…。

次世代web技術、とか。でもそれって、そのうち「次世代ゲーム機」みたいなよく分からない扱いになりそうか。

h+c+j、とか。あるいは、h++とか。何を足してるのかよく分からなくなってきた。

誰かイイ感じの略称を考えてくれないものか…。まあ、その略称が普及しなきゃ意味ないけど。

頻繁に書かれる文字列なのに、略称が見当たらないってのが、なんだか不思議でもあり。コンピュータ関係の用語なんて、すぐに略されるのが当たり前なのに。これだけが例外扱いなのは、なんでだろ?

#2 [neta][pc] 8ビットマイコンをネタにしたTV番組が作られないかなあ

てなことをバカ妄想。

内容からしてオッサンホイホイ番組になるんだろうなあ…。ただ、若い人が見たら、今のPCやスマホがどんだけ凄いか痛感できる番組にもなりそうな。

原始的な仕組み、貧相なスペックだからこそ、それをネタにして笑いながら、しかしそれぞれの原理を解説する番組にしていけるのでは、という気もしたり。今のPCはスペックが高まりすぎて、原理の説明はかなり難しい気がする。でも、8ビットマイコンをネタにすれば、まだどうにか説明可能かな、と。…まあ、今時の感覚からすれば、それらは実用になる知識ではなく、単に雑学の範囲になるだろう、とは思うのだけど。

以下、妄想。

「同時表示8色」をネタにすれば…。 :

  • スタジオ内の芸人さんが「色鉛筆セットでも12色ですよ? 8色しか出せないって、なんだソレ!」とツッコんで笑いを誘ったり。
  • どうして8色なのかを解説する際、光の3原色が紹介される。貧相なスペックなれど、そこには物理法則に基づいた、ちゃんとした理由があったことを理解できる。
  • 8色では、肌色すら塗れない。そこで、市松模様を使った疑似中間色表現が紹介される。それはつまり、ディザリングの利用なわけで。現在でもその技術は、FAXやら低価格液晶パネルやらで利用され続けているのだと伝えたり。
  • 表現できる幅が狭かったが故に、ゲーム等に登場するキャラの記号化が激しかったあたりも紹介できるかも。どうして当時のゲームは、UFOや宇宙人等、首を捻る奇天烈ネタが多く登場していたのか。人間を忠実に描写するスペックがなかったから、パッと見で「ああ、アレか」と分かるシンボルを利用するしかなく、それがコンテンツの設定面にまで強い影響を及ぼした、とかそういうアレを。見た目が貧弱だったからこそ、ユーザの脳内にはトンデモな妄想世界が広がっていた、とかなんとか。

同時発色云々とは違うけど、表示関連で考えれば、サランラップも出せそう。
  • サランラップを使った座標取りは、いわば貧乏過ぎるロトスコープと言えるわけで。しかしその延長線上に、仕組みからして高度化したモーションキャプチャ等の技術が位置するのでは、とかなんとか無理矢理繋げたり。
まあ、サランラップを持ち出す時点で、若い人には、「ちょwww おじさん達、一体何やってたんスかwww」と笑ってもらえそうな。

「音楽機能:単音発声」をネタにすれば…。 :

おそらく、音というものの正体について、アレコレ解説できる内容になりそうな。
  • ブザーから、音階を持った単音発声になり、和音が出せるようになり、波形データが鳴らせるようになり、という進化を紹介。
  • 矩形波の単音を使って、周波数とは何か、ドレミファソラシドって何なのか、を解説。
  • 矩形波・正弦波・三角波は、実際はどんな音に聞こえるか紹介。
  • シンセサイザーの操作時に今でも出てくる、エンベロープとは何なのか。どこをどう変えたら、どのように音が変わるのか。
  • 単音や3和音でも、使い方によってはここまで聴いた感じが変わるのだ、と紹介してみたり。ドラクエの音楽で有名な、すぎやまこういちさんの名言を紹介して、視聴者を納得させたりして。やっぱりプロは言うことが違うぜ…、と。
  • 波形再生も、メモリが少なかったから当初はPCMなんて使えなくてADPCM等を使ってたわけだけど。このあたり電話関係の技術と絡んでるとか、音声圧縮技術は今時のMP3プレイヤーでも使われてるとか、そういう方向で話を繋げたり。
音関係は、視聴者に実際聞いてもらうという手が使えるので、「なるほど、昔はこんな音しか鳴らなかったのか」「ここが変わると、こんなに音が違ってくるのか」とすぐにピンときそう。

メモリ容量や、記録媒体をネタにすれば…。 :

  • 16KB、32KB、64KBって、どのくらいの容量なのか。「写真で言えばたったこれだけの大きさです。この中にプログラムもデータも全部入れてたんです」みたいな話になるのかな…。
  • 紙テープだの、カセットテープだのに、プログラムを記録するって一体どういうことなの? どんな仕組みなの? みたいな。アニメにおける、コンピュータの吐き出す紙テープについて絡めつつ紹介すれば、少しは面白くなるだろうか…。と思ったけど、8ビットマイコンと紙テープは関係ないですね。
  • 「テープに記録するなんて信じられない!」と芸人さんが笑いつつ。「いやいや、実はついこないだまで現役だったんですよ」「ええっ?」と。バックアップ用メディアとして、テープという記録媒体も活躍していたことを説明して、他メディアとのコスト計算も紹介したり。しかし今では…という話に持っていく、とか。
そもそも、「カセットテープとは何か?」から説明しないといけない気もするなあ…。

エロゲー回も欲しい…。 :

1回ぐらい、エロゲーの歴史を紹介するのも良さそうな。

国会で取り上げられて発禁?になったエロゲーの存在とか。今見ると、「え? これで問題になるの?」と思うはずで。つまり、社会がどんだけその手のソレに厳しかったのか。それが今ではどんな状態に成り果てて(?)しまったのか。日本の変化がなんとなく分かる、かもしれない。

まあ、番組内映像のほとんどにモザイクがかかった伝説の回になりそうでもあるけど。ゲストのコメントから中身をぼんやり想像してください、という酷い回に…。番組の最後で芸人さんが、「今回視聴者の方は、モザイクしか目にしてないんじゃないですかね?」とポツリ。

広告回も欲しい…。 :

当時のパソコンの広告に、どんな芸能人が登場していたのか、紹介していく回もヨサゲ。あの人が、こんなところに…となるのは間違いない、ような気がする。

タモリさんや武田鉄矢さんに、当時のパソコンに対する印象をインタビューしたり…ってそういうのはお金かかるから無理だろうな。きっとこの手の番組は低予算番組のはずだし。

パソコンを使った落語も紹介してほしい…。 :

再現出来たら尚嬉しい、けど、機材やプログラムが入手できないだろうなあ…。当時の映像は残ってたりしないのかな。

その延長線上に、昨今話題になった、iPadを使ったパフォーマンスなども存在しているのかもしれない、と話を繋げれば…。まあ、これは途中で完全に技術・文化が断絶してる事例だろうとは思うけど。

当時の各種実験の様子を若い人が見たら、「その発想でいけば、こんなパフォーマンスもできるんじゃないか。今のPCはこのくらいできるんだし」と閃いてくれそうな。と思ったけど、考えてみたらVJだの初音ミクのコンサートだのがソレなんじゃないのという気もしてきた。

ちょっと妄想し過ぎ。 :

そもそも、そういう番組が存在したとして、誰が見るんだろう…。

しかし、ファミコンゲームを延々プレイする番組も成立するのだから、ひょっとしたら、という気もする。

いやいや、見せる内容が違うか。ファミコンゲームのソレは、芸人さんのリアクションも発生するし、そもそもファミコンゲーム自体が娯楽コンテンツなので、眺めていてもそこそこ楽しめるけど。8ビットマイコンを紹介して、それが楽しめるのかというと…。さて、どうなんだろう…。微妙だよなあ…。

これが成立してしまうなら、おそらく鉄道オタク向け番組や、ガンプラオタク向け番組なども成立させられそうな。そう考えると、実現は難しいような気がする。そういう番組って、未だに無いもの。成立させるための手管を番組制作側が持ってない・作れていないということでもあるのだろうし。

もう少し経てば、携帯電話をネタにした番組が作れるかもしれない、とは思うのだけど。そのネタなら皆が使ってたから、「うわー懐かしいー」と言いつつ多くの人が見てくれる番組になるのかもしれない。まあ、今はまだスマホに移行してる最中なので、ちと早過ぎるけど。もう少し経てば、アリなのかなと。

2012/04/25(水) [n年前の日記]

#1 [android] スマホのヘッドフォン端子が気になる

スマートフォンのヘッドフォン端子はえてしてヘッドフォンとマイクのコンボになっているらしいのだけど。4極ジャックとやらについて調べていたら気になる話が。規格が違うものがあるらしく。

_XperiaとiPhone(を含む大部分のスマートフォン)の4極プラグの仕様が異なる件 | Listening Podcast
_OMTP Headset Support - Motorola Mobility, Inc. Canada Limited

一般的には先端から、L,R,GND,MIC、の順らしいのだけど、OMTPなるソレは、L,R,MIC,GND、のようで。IdeaPad A1の端子はどちらなのだろうか…。

#2 [android] IdeaPad A1をまだ弄ってたり

玩具としては面白い。

勝手に再起動する症状に遭遇。 :

Google Play を眺めてたら急に再起動。Lenovoロゴが表示されてアニメーション再生された後、いつまで経ってもホーム画面が出てこない。うーん。とりあえず、音量+ボタンを押しながら電源ボタンを長押し。さすが中華PAD、なのだろうか。

スタンドを自作。 :

100円ショップで売っているブックエンド?を折り曲げてそれらしいものを作成。以下の記事、そのまんま。

_誠 Biz.ID:3分LifeHacking:スチール製のブックエンドでスマホやタブレットのスタンドを自作する

試してはみたものの、操作しようとすると前後にグラグラする。スチール板1枚では強度が足りないらしい。

割り箸を使って、タブレット端末を立て掛けるスチール部分を、後ろからつっかえ棒のように支えてみた。接着には強力タイプの両面テープを使用。すると今度は、画面の左右を押した時にグラグラする。接地面が真ん中しかないので、その軸からずれるとグラグラするらしい。また割り箸を使って、奥のほうでT字の形で設置するようにしてみた。すると今度は前後にグラグラする。接地部分の位置の関係で、シーソーのようになってしまったらしい。

単に立てておくだけならどうとでもなるけれど、指で押して操作することを考えるとなかなか難しい。ちゃんとしたものを購入しようかと思ったが、巷で販売されてるモノの中には、やはりグラグラしそうな形のモノが混ざってそうな予感。

2011/04/25(月) [n年前の日記]

#1 [nitijyou] サーバ止めてました

昼頃、豪雨に伴い雷が鳴り始めたので、サーバを止めてました。スイマセン。

かなり近かったらしい。というか落雷のせいで、先日ようやく再開した標準電波を出す塔が壊れた、というニュースを目にした。…原発事故さえなければ復旧作業もできただろうに。

2010/04/25() [n年前の日記]

#1 [anime] 福島でも「けいおん!!」が始まったらしい

土曜の深夜、というか日曜の02:45ぐらいから放映。一応視聴。なるほど、これが話題の…。京アニって凄いんだなあ。「ハルヒ」とか「らきすた」は放映されたことがないので、京都アニメーションのレベルの高さをTV放映で確認するのはほとんどこれが初めてだったり。>福島。

学生時代にこういうキャラデザ・作画を目にしていたら、その可愛さのあまり、メロメロになってただろうなあ。さすがにこの歳になると、見ているだけでもちと恥ずかしくなってくるけど。

#2 [anime] 「犬夜叉完結編」最終回を視聴

スポンサーがついてなくて、いつか放送打ち切りになるかもしれんとドキドキしながら見てたけど。一応最終回まで流してくれたようで。ありがたや。

比較的爽やかな感じで終わったので良かったなと。途中、「ここでこう展開させたらバッドエンドになって、見てる人はもうカンカンだろうなあ」などと邪なことばかり妄想しながら見てたのですが。真っ当(?)に終わってくれて本当に良かった。

2009/04/25() [n年前の日記]

#1 [pc] NSK1480に現自宅サーバのM/BとHDDを入れた

弟が帰省するというのに、全然部屋が片付いていない。元凶は Antec NSK1480 + VIA MM3500。MM3500 に色々な Linuxのディストリを入れてみたけど、どれも何かしら不具合があって。ということで、MM3500 上で Linux を動かして自宅サーバにするのは諦めた。安物買いの銭失い。NSK1480から取り外して箱にしまった。いやまあ、Linux関連の知識がある人なら、特に Debian 関係のアレコレに詳しい人なら、MM3500もバッチリ使えるのかもしれないけれど。

さておき、MM3500は片付いたが、NSK1480は相変わらず部屋の一角を占領してる。購入時に夢想していたとおり、現自宅サーバの M/B、VIA EPIA LN10000EG と、IDE HDD Hitachi HDS721616PLAT80 (160GB, PATA133,7200RPM) を NSK1480 の中に入れることにした。

30分ほどで作業できるかと思ったら甘かった。2時間ぐらいかかった。

ちなみに、アイドル時の消費電力は30W。FAST ES-1100W に入れていた時にはアイドル時 25W だったので、ACアダプタから80PLUS電源にしたことで、5Wほど増えたことになるのだろう。

ファンがうるさい。 :

どうも NSK1480 のファンがうるさい。高速〜低速回転8cmファンを低速で3つ回しているわけだけど。高速回転用のファンを低速で回すとえてしてうるさい、という話をどこかで見かけたので、手持ちの8cmファンの中から駆動音が比較的静かなものを探して取り換えてみた。

大失敗。かえってうるさくなった。どうやら、NSK1480に最初から搭載されてる8cnファンはかなり音が静かなほうらしい。元々のファンに戻した。

考えてみれば、ES-1100W で使っていた時は、HDD冷却用に 8cmファン x1、M/B冷却用に 8cmファン x1 だったのだから、NSK1480のM/B冷却用 8cmファン x2を1つにできるかもしれないと。また、縦置きで使うことを考えているので、M/B付近で暖まった空気は、ケース上面の 8cmファン用の穴から抜けていくはず。ということで、M/B冷却用は 8cmファン x1 にした。

電源投入前に、裸族の頭のACアダプタを使って、ケースファン x2 のみを回してみた。とても静か。

パソコンデスクの足元に置いて、電源投入。…うるさい。つまり、NSK1480のケースファンは静かだけど、80PLUS電源の8cmファンが結構うるさい、ということだった模様。

HDD冷却用ファンの騒音が少なくなったということは、風量も結構落ちてる可能性大。となると、HDD温度も結構上がっているのでは。事前に、ES-1100W利用時のHDD温度を測定しておいたけど。NSK1480に交換したことで、19℃ → 23℃になった。…まあ、ES-1100W の中にHDDを入れた時は、あっという間にHDD温度が60℃を超えて、ファイルコピー中にファイルがバンバン壊れたわけで。それに比べたら全然マシなのかもしれず。

#2 [pc] PC-9821As3をどかした

今まで、パソコンデスクの下に PC-9821As3 を置いて、その上に自宅サーバ機を置いていたけど。今回、自宅サーバ機のケースを交換したついでに、As3 をどかすことに。

どかしたはいいが、どこに置いたものやら。

2008/04/25(金) [n年前の日記]

#1 [iappli] 修正要求が実はたくさんきていた

フリーズバグへの対策を入れて、バイナリを作って、さて送ろうかというところで。修正要求リストを開いて書き込もうとしたら、上のほう・画面外?に大量の修正要求が並んでることに今頃気づいたり。トホホ。ていうかコレ、サーバとの通信部分に関して、ほとんど作り直しのレベルじゃないか…。

できることなら、ゲーム本編のバランス調整云々以前に、こういった部分をチェックしてほしかった…。

とりあえず、サンプルライブラリを、eclipseのプロジェクトとして登録して、使えそうな部分を丸々コピペしていくか…ってeclipseに読み込ませたらガンガン警告が出てきた。うーん。Javadocの書き方が何か間違ってる・標準的なモノから外れてるとか、ライブラリ中の static 指定等が何かおかしいらしい…。いや、eclipse の設定を変えれば警告は消せるけど、そういう対処もどうなんだか。

2007/04/25(水) [n年前の日記]

#1 [pc] コメント欄の炬燵型PCの話を読んで

ふと、PCの排熱で発電できんかなぁと夢想したりして。…発電できるほどの熱を出すPCをそもそも作るなよという気もしてくるけれど。

どこかで誰か実験してないかしら。PCの熱でどこまで発電できるか、連載:永久機関への道、とか。…そもそも熱で発電ってどうやりゃいいのかよく判りませんが。そういうことに使える素子があったりするんだろうか。あるいはタービン回さないとダメでしょうか。

PCの熱で発電できるぐらいなら、人体の熱でも発電できるんじゃないかという気もしてくる。なんだかMatrixっぽい。

この記事へのツッコミ

Re: コメント欄の炬燵型PCの話を読んで by けいと    2007/04/27 20:54
熱エネルギーをもらさず他のエネルギーに変換できると
世の中かなり変わると思うんですけどね^^;

#2 [nitijyou] MSに振込をしてきた

外は雨だったのだけど、親父さんが写真屋さんに行くとのことで、車に同乗させてもらった。ということで、近くの銀行まで。窓口で振込をしてきた。

#3 [nitijyou] EDGE2の振込をしたことをメールで連絡

もしかすると、あちらの確認作業はGW明けになるのかもしれない。てなことをなんとなく思いつつ。

#4 [iappli] 届いた仕様変更要求はたぶんこなせた

と思う…。別の画像が届くという話もあったので、それが届いてから・対応させてからバイナリを送ったほうがいいかもしれないなと。その間にCPUをもうちょっと弄っておこう。全然高い役で上がらないし…。もっとも、高い役を狙ってくるということは、安い手を狙う他CPUのカモにされる場面が多くなる予感も。局ごとに、方針を切り換えるほうがいいだろうか。いや、配牌結果を見て方針を変えるほうがいいかもしれん…。てな感じで悶々と。

#5 [cg_tools][windows] GIMP 2.2.14 と 2.3.14 をインストール

GIMP Windows版も新しい版が出てる・色々バグfixされてるらしいので。2.2.13 をアンインストールして、2.2.14 をインストール。

開発版の 2.3.14 もインストールしようとしたのだけど。 :

そのままインストールしただけでは起動時に libgimpui-2.0-0.dll が見つからない等エラーが出る。該当dllは GIMP 2.3.14 インストールフォルダの bin/以下にあるのだが。

起動用ショートカットファイルの、作業フォルダの欄に、"GIMP-2.3.14インストールフォルダ\bin" を指定した。これで解決…しない。今度は途中で強制終了してしまう。

どうやら ~/.gimp-2.3/ 以下の plugin を初期化しようとして落ちてるっぽい。~/.gimp-2.3/ を削除。

やはり強制終了。どうやら、~/.gimp-2.2/ を ~/.gimp-2.3/ にコピーして起動しようとしてる模様。~/.gimp-2.2/plugins/ の中に、GIMP 2.3.14 では不具合を起こす plugin が混じっているんだろう。一時的に、~/.gimp-2.2/ をリネーム。~/.gimp-2.3/ を削除。GIMP-2.3.14 を起動。素の ~/.gimp-2.3/ が出来た。一度出来てしまえば後は問題なく起動する。

さすが開発版。起動させるだけでもこんなに苦労するとは。ってこのぐらいはまだまだ苦労のうちに入らないのだろうな。自分でコンパイルしてるわけでもないし。

2006/04/25(火) [n年前の日記]

#1 [pc] QuickShot に使えるACアダプタについてメモ

コメント欄で質問があったので書いたのだけど、なんとなくメモしておいたほうが良さそうな気もしてきたのでこちらにもカキコ内容をコピペ。
自分も標準のアダプタは持ってないのですが、説明書を眺めた限りでは、

「使用するオプション電源は、DC 7.5V から DC9V 間での範囲で、600mA 以上の電源容量があるものを必ずご使用ください。」

とありますね。でも、説明書の後ろのほうのページには、

「電源消費量 : 200mA (最大)」

ともあります。

自分はとりあえず、メガドライブという、昔のゲーム機の電源アダプタを流用しています。
「OUTPUT : DC9V 1.2A」
と書いてありますな…。

ちなみに、端子は、外側が「+」で、中が「-」のようです。まあ、QuickShot の電源差込口にも書いてありますが…。「+」「-」が逆なアダプタもあったりするので、ちとアレですね…。

ちなみに、ここで言ってる QuickShot ってのは、昔 Justy から販売されてたリーズナブルなMIDIキーボード。

#2 [firefox] Firefox で svg が表示できるときと表示できないときがあるな

何故。

_livehttpheaders - HTTPヘッダの情報を確認できるFirefoxの拡張 :

_Live HTTP headers - Mozilla Firefox まとめサイト
_@IT:Security Tips > LiveHTTPHeadersでHTTPヘッダ情報を確認する

これを導入してチェックしようとしてみたりして。

404 が返ってきてるな…。

Adobe の svg サイトは、IE 用のビューワが入ってるかどうかをチェックしてるっぽいのでアレみたいではある。

_SVGってどうなの? :

_SVGフォーマット普及の為のuploader

Firefox でも表示できてるな…。とりあえず、Content-Type: image/svg+xml なら問題なし、なのであらうか。

#3 [cg_tools] SVG描画ツールをインストール

_SourceForge.net: Sodipodi

Sodipodi 0.34 をインストール。WinXP を使ってるので、Sodipodi_0_34_Win2000_XP_Setup.exe をDL。

「zlib-1.dll が見つからなかったため、このアプリケーションを開始できませんでした。」と表示される。

検索したら、 _こちらのページ に解説が。
Sodipodi(Unix, Win)という変わった名前のソフトがイラストレーターのような感じで使えます。
http://www.sodipodi.com/
これも、GTK+のライブラリを必要とします。

最新のGTK+だと、zlib-1.dllが見つからないと警告されますが、GTK+のライブラリから「zlib1.dll」を探して「zlib-1.dll」にリネームし、Sodipodiをインストールしたフォルダに入れておけば、大丈夫です。

レイヤーパレットのようなインターフェイスはありませんが、XMLエディタで図形の文字列を直接選択して、操作できます。けっこう新鮮かもしれません。

http://homepage2.nifty.com/onoy/soft.htm より

GIMP を入れてある関係上、GTK+ も入ってるので、そこからコピー。

「プロシージャ エントリ ポイント g_module_open_utf8 がダイナミック リンク ライブラリ libgmodule-2.0-0.dll から見つかりませんでした。」と表示される。

あら。解決策を、 _昔、メモってたわ…。

Sodipodi 操作メモ :

制御点編集ツールで、制御点の上で選択状態で delete キーを押せば制御点削除。Ctrl + クリックで、両ハンドルを直線にするか別々にするか切り替え(滑らか or カクカク)。

_ハンドル伸ばしてる最中にAltキーで折る らしい。

片方だけしかハンドルがない制御点に対してもう片方のハンドルを追加する方法がわからん…。

Sodiposi、落ちた。 :

文字を入れようとしたら落ちた。保存してなかった。…Windows 版はなんだかアレだなぁ。

Inkscape も入れたけど。 :

描画が重い。厳しいな。… 3.1GHzのCPUで重いってのはどういうことなんだろう。

_Potrace - ビットマップ画像をベクター画像に変換するツール :

_POTRACEを使ってBitmapからSVG、PDR作成 - po2pdr : カラー対応BMP→svg→pdrツール
_3ToheiLog: 1bit-paperとpotraceのコンボ
_スキャンデータからのオートトレースについて

試しに、potrace、po2pdr を導入。svg で出力。potrace だけでは白黒画像しか変換できないけど、po2pdr を使えばカラー画像を変換できる。

_出力結果(.svg)。 Sodipodi を使ってもっと真っ当にできないか手作業で修正を始めたものの。途中で嫌気がさして、やめてしまったり。…出力結果の元ネタはアレなんですが、さすがにそのままはマズイかなと思って、胡散臭い駄菓子のパッケージというか、いわばガンガル路線を狙おうとしたはずが。なんというか…ますます問題のある状態に。

ていうか、Firefox じゃやっぱり表示されないな。うーむ。何故だ。ローカルにある .svg を D&Dで渡したら表示できるのに。

(2006/04/27追記。Firefox で見れないのは、Mime-Type の問題だった。 .htaccess に、
AddType image/svg+xml svg
を記述したら解決。)

敵配置ツールとして使えんかと思って :

svg関連ツールを試してたのだけど。どうもビットマップ画像をそうそう入れられないみたいで。いや、image なんちゃらという記述も見かけたから、入れられるんだろうけど。それとは別に、内部で持ってる座標値に小数点がガンガン入ってくるあたり、ちとアレだなと。やはりドット単位で作業できるツールじゃないと流用できない予感。

#4 [nitijyou] 別の作業を進めるようにとの連絡がきた

とりあえず、BGデータの差し替え、というか、マップデータ作り直しと処理の書き直しから始めるか…。

2005/04/25(月) [n年前の日記]

#1 [anime] _ウルトラマンマックス

なるほど。これが新しいウルトラマン…。股間が気になる。そんなところまで微妙にマックス(違
_(via ビバ!ダイナミックBlog@おたく鍋 - 相棒はウルトラマンジャンボか?)

#2 [nitijyou] DVDを返してきた

霧だかもやだかが少し出てたので、厚着をして自転車で。

#3 [game] _DVDPG

先日借りたのはコレだったらしい。

再生してみたけれど、ゲームと称するには程遠い内容だった。元が映像作品=一本道なものだから、あらゆる条件分岐が BAD END に繋がってたりとか。まるで 8bit PC時代のC級アドベンチャーゲーム。また、内部で変数を扱えない or 変数の値を画面に反映させる術がないらしく、パラメータの上下する様子を見た目だけでも実現するために、5、6個のメニュー項目を選択した際の、全経路・全ての組み合わせを用意しているようで。なんとも涙ぐましいというか…。正直、ウンザリ。そうなると、当然総当りで再生してみる気力など更々無く。PC上で再生してるので、該当チャプターにジャンプしてエンディングを眺めて終わり。ちなみに、元の映像作品と同様の、1パターンのみのエンディングだった。

後から映像素材・別音声を追加できるなら、ザッピングだのマルチエンディングだの、多少は面白い内容にできそうではあったけど。出来合いの映像素材のみをやりくりしてゲームっぽくするのは、やはり無理がありそうな…。それでも、ゲーム仕立てにすると売れる等の状況があって、こういう種類の商品が出てくるのだろうか。なんだか再生時間を水増ししてる・ユーザの受けるストレスを増やしてるようにしか見えなかったんだけど。…ゲームって、何だろうな。非・ゲーム業界からは、未だ、「プレイ時間が長ければ長いほど、お得と思ってもらえる、ちょろいジャンル」とでも思われてるのだろうか。まあ、そういうイメージを作ってきたのはゲーム業界自身なんだろうけど。

2004/04/25() [n年前の日記]

#1 [zatta] _あなたにとって、セブン-イレブンとは・・・なんですか?

コレ、ホントにCMで流れないかな。

#2 [vine] 親父さん旧PCの設定中

メインPCからputtyでログインして作業中。 ぐらいしかまだやってない。

user , group追加が不安 :

後で/homeの入ったHDDだけ持ってきて繋ぐつもりだけど。id が一致してないと大変な事になるんだろうな。ユーザ数が少ないから手入力で追加しちゃったけど。膨大なユーザ数だったらどうするんだらう。…実は /etc/passwd と /etc/group をそのまま書き換えていいのかしら。

/etc/apt/sources.list :

コメントアウト部分を外して Vine Plus もインストールできるように。

mod_gzip :

Apache の mod_gzip って別途インストールする必要があったことを忘れてた。Vine Plus から apt-get install mod_gzip でインストール。Vine Plus のは古いみたいだけど、最新版との違いが判らない。…mgstatとやらはVine Plusにはないのだろうか。コンパイルしなきゃダメか。

chkconfig :

chkconfig hogehoge on でサービス有効に。

proftpd の DisplayLogin , DisplayQuit :

一箇所にまとめられないかな。やり方判んないんでユーザのホームフォルダに一々コピーしてるけど。 *1

_Dynamic DNSを利用する :

_No-IP(DDNS)
_ダイナミックDNSの設定(no-ip.com)
_noip2 ( no-ip.com ) アップデートの豆情報

no-ip.com の Linux No-IP DUC 2.1.1 をインストール。たしか以前は _1.6 をインストールしたような。今は 2.x.x しか配布されてないのか。2.x.x は設定ファイルが非テキストになったらしい。

解凍したらredhat用の起動スクリプトがついてた。/etc/rc.d/init.d/ に適当な名前で cp して、chkconfig --add xxx とかやってみた。これで使えるだらうか。

_sudoによるスーパーユーザーアクセスの限定的な移譲 :

ホストIP指定を忘れてた。メモ。

*1: いや。無くてもいいんだけど。でも、無いと寂しい。

#3 [windows] WinXPでSleipnirを立ち上げたままにしておくと

どんどん動作が重くなる。なんでだろう。

2003/04/25(金) [n年前の日記]

#1 名前を連呼するだけの選挙活動に何の意味があるのか

選挙カーがウルサイ。候補者の名前だけを連呼する連中がほとんどだが、彼等はバカじゃないのか。

例えば何か商品を売るとして :

例えば、店頭で野菜を売る為に声を出すとして。野菜の名前を連呼してるだけで売れるだろうか。「キャベツです!キャベツです!」と叫ぶだけで一体どれほどの効果があるのか。産地はどこそこです、無農薬野菜です、こういった栄養が含まれてます、いつもより安いです…等々、つまりはその商品を選択・購入する事でどんなメリットがあるか、それが消費者に認識されなければいくら名前だけ連呼してみても効果はないわけで。

有権者側の視点で物事を考える事ができない候補者であることを露呈している :

おそらく「名前だけを連呼」タイプの候補者は、「自分にとっての効率」しか考えていない。1分間に3回名前が出てくるのと、1分間に10回名前が出てくるのでは、後者のほうが名前を覚えてもらえる可能性が高い…とでも考えた故の「名前だけを連呼」ではないのか。
しかし、有権者側の視点で考えた場合、前述のように「名前だけを連呼」していてもそもそも意味が無い。その候補者を選択する事で自分達にどんなメリットがありそうか、そこを有権者に認識してもらえない限り、名前がどれだけ知られていても意味が無い。そんな当たり前の事にすら気づかず、ひたすら自分に取ってのみ都合のいい誤った論理展開で選挙活動をしているなら、その候補者は、「有権者側の視点、市民側の視点で物事を考える事ができない」人物であることを露呈し続けているも同じだ。はたしてそんな人物に誰が票を入れるというのか。少しは考えろ、といいたい。

#2 [pc] 親父さんが新しいスキャナを購入

親父さんが新しいスキャナを購入。 _EPSON GT-9300UF(2400dpi、CCD、USB接続、フラットベッド、透過原稿ユニット標準装備)。 近所の電器店での価格は¥24,800だったが、ポイント還元も含めて考えると¥20,000+αぐらい。以前、自分が、 _EPSON GT-7600U(1200dpi、CCD、USB接続、フラットベッド)+透過原稿ユニット を購入した際には¥30,000前後かかった記憶があるので、それより1万円安い値段で、より高性能のスキャナが買えてしまった事になる。写真を趣味にしている親父さんにしてみれば、これでようやく、まともにフィルムをスキャンできる環境が整ったわけで、早速ポジフィルムをスキャンして、「前のスキャナ(GT-7600U)とは全然違う。取り込んだ画像が綺麗だ」と喜んでたり。

スキャナが1台余ってしまった :

親父さんに貸し出していたGT-7600Uが戻ってきた事で、今まで自分のメインPCに繋いでいた、 _EPSON GT-5000WINS(300dpi、CCD、SCSI接続、フラットベッド) が余ってしまった。誰か欲しい人居ます? 送料負担してくれるならタダで差し上げますが。と思ったけど、SCSI接続だから別途SCSIボードが必要になるし、解像度も300dpiとヘボいし、どう考えても欲しい人なんか居るわけないか。そもそも、 _価格.com で調べてみたら、 _CanoScan LiDE 20(600dpi、CIS、USB接続、フラッドベッド型)_¥6,500 というお値段。つまり「GT-5000WINSクレヨ」と言ったとしても、その送料に+αするだけで新品のCIS薄型スキャナが購入できてしまう。
というわけでHARD-OFFにでも売ってこようかと思うけど、スペック的に引き取りすら拒否されそうな気も。

#3 [anime] 浦沢脚本って凄いな…

アバレのマッシュルームカットの回を鑑賞。凄い。凄すぎる。ヤバイ薬でもやってるんじゃないかというぐらいに凄い。これが浦沢脚本の力なのか。

2002/04/25(木) [n年前の日記]

#1 遠隔操作

遠隔操作に興味が出てきたです。
VNC(フリーソフト)とやらを導入するとできるらしい。
でも、操作するとしても、階下の親父さんのPCか、隣の部屋の妹のPCぐらい。
そもそも、後ろで指示を出して本人に作業させたほうが、PCの使い方を覚えるという点では意味があるわけで。

LAN内利用を想定したメッセンジャーソフト(?)などにも興味があるのです。
でも、家の中だしな…声出して呼んだ方が早い(爆)
常時リソース食ってしまうのもイヤだし。

自分の場合、その手のモノ、使う場面がないんだよな…

2001/04/25(水) [n年前の日記]

#1 生活サイクル

数日前から、朝(AM8:00頃)起きて、夜(PM10:00頃)寝るという生活サイクルになってしまってます。
おかげでテレホタイム中はぐっすり。
ネットアクセスが全然出来てないです。

この日記、いつもテレホ開始頃から書くんですが。
そういうわけで書くタイミングを逃して…二日分まとめて書いてたり。

妹から犬夜叉のビデオ借りて見てます。
包帯姿の珊瑚に萌え。
ある種、綾波萌えみたいなものでしょうか。
しかし桔梗は可哀想だなぁ。
つか巫女さん姿萌え。

2000/04/25(火) [n年前の日記]

#1 (NoTitle)ビデオに録画してたゲ...

ビデオに録画してたゲートキーパーズを見てたのですが。
なんかものたりない。なんでだろ。
絵が整いすぎているのかな。

1999/04/25() [n年前の日記]

#1 (NoTitle)外はどしゃぶりの雨。...

外はどしゃぶりの雨。だが市議選の投票に行かなければ。親父さんと共に投票所へ。

寝ても覚めても「シルバーガン」。「シルバーガン」三昧。「シルバーガン」漬け。思いっきり「シルバーガン」。朝まで「シルバーガン」。世界まるごと「シルバーガン」。
一応エンディング見ました。なんだか、ロボット君が悲しさせつなさ大炸裂な感じです(意味不明)。…でもよーく考えるとありきたりな設定のような気も。導入アニメを見た時点で「こーいうオチだったりして」なんて思ったことが大当たりだったんで、ちょっと残念……ってシューティングゲームにそういうもの求めてどうする。それにしてもトレジャーは、「ガーディアンヒーローズ」の時も思いましたが「お話」作るのダメっスね。なんだかとてもスカスカした感じ……って、だからぁ、アクションやシューティングにそういうの求めてどうするの。
それにしてもラスボス、なんだかメガデモライク。グー。

以上、26 日分です。

過去ログ表示

Prev - 2024/09 - 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