2010年9月4日土曜日
粒子法による固液連成シミュレーション
先日のエントリを、表面抽出をして奇麗にレンダリングしました。
前半は剛体の密度が流体より小さいケース、後半は剛体の密度が流体より大きいケースです。
シミュレーション上は剛体も粒子として扱い、レンダリングのときだけポリゴンで表現しています。
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
カメラ位置を変えて流体をレンダリング
固液連成シミュレーション
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション
--
2010年8月3日火曜日
【本】はじめてのCUDAプログラミング - 8.1 1次元配列へのアクセス
「はじめてのCUDAプログラミング」の「8.1 1次元配列へのアクセス」について。
メモリアクセスの例として、1次元配列への足し算を挙げている。
挙げられているサンプルは、要素数Nの配列A、B、Cについて、
C[i] = A[i] + B[i]
を計算するというもの。
GPUで計算した場合とCPUで計算した場合とでどのような違いがあるかというと、CPUでこの計算をするとN回の計算となる一方、GPUで計算すると1スレッドにつき1回の計算をするだけで済むことになる。
処理のステップは、
- メモリ確保
ホストとGPUそれぞれにメモリ領域を確保する
- 初期値の用意
ホストメモリ上で配列A,B,Cを初期化
- GPUに初期値をコピー
GPUメモリにホストメモリから初期値をコピー
- カーネル関数をコール
カーネル関数をコールすることで計算を実行
- 解をGPUからホストにコピー
計算結果をGPUメモリからホストメモリにコピー
- 計算が正しく行われていることを確認
その後実行性能を求めているのだが、理論値の1/10の性能しかでていないという。また、式をより複雑なものに変えても性能が変わらない。このことから、実はグローバルメモリ転送が処理時間の大半を占めていることが説明されている。ここから、8.3 メモリアクセスの最適化へとつながる。
--
2010年7月31日土曜日
固液連成シミュレーション
固液連成シミュレーションです。
剛体を粒子の集合として扱い、剛体粒子も流体粒子と同様に計算しています。
ムービーには2つのシーンが入っており、1つは固体の密度が流体より軽い場合、もう1つは固体の密度が流体より重い場合です。
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
カメラ位置を変えて流体をレンダリング
固液連成シミュレーション
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション
--
2010年7月30日金曜日
2010年7月21日水曜日
【論文】Two-way Coupling of Fluids to Rigid and Deformable Solids and Shells
Fedkiwらによる、固液連成系のアニメーションについての2008年の論文である。
著者らによると、この論文で提案されている手法には以下の特徴がある。
- 流体にオイラー法、固体にラグランジュ法を用いる
- 完全な陰解法
- 系の運動量が保存される
- カルテシアン座標を使用
また、完全な陰解法のため時間が経った後や大きな密度比があるような場合でも安定した結果が得られる。
さらに、座標系にはカルテシアン座標を用いるため、四面体メッシュやALEが必要ない。
この方法は非常に汎用的で、煙、水、多相流体、剛体、弾性体、布やシェル状の物体にも適用できるという。
関連研究としてあげられているものに、
- Yngve et al. 2000
- Genevanx et al. 2003
- Carlson et al. 2004
- Guendelman et al. 2005
- Losasso et al. 2006a
また、
- Klinger et al. 2006
- Chentanez et al. 2006
- Batty et al. 2007
--
2010年7月18日日曜日
カメラ位置を変えて流体をレンダリング
以前の3次元の粒子法シミュレーションに載せているムービーを、カメラ位置を変えてまたレンダリングしてみました。
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
カメラ位置を変えて流体をレンダリング
--
sedコマンドの使い方
sedコマンドの使い方をいくつか解説します。
文字列の置換を行うには、-eオプションに続けて置換したい文字列と置換後の文字列を指定します。
出力先は標準出力です。リダイレクトを使えばファイルに記録できます。
ファイルに保存する別の方法として、-iオプションによって同名での上書き保存ができます。-iオプションの場合、同時に置換前のファイルがバックアップされるため便利です。
「-i.bak」と指定することで、ファイル名.bakがバックアップのファイル名になります。
ファイル名にワイルドカードを指定することで、複数のファイルを一度に置換できます。これは-eオプション単独ではできないので、-iオプションが便利です。
ここまで、sedを使った文字列の置換についてでした。
次は挿入についてです。sedは単なる置換用のコマンドではありません。Stream EDitorという名前の通り汎用的なエディタなので、テキストファイルに対して様々な編集が可能です。挿入もその1つです。
挿入する場合は-fオプションで外部ファイルからコマンドを読み込ませることで行います。
※複数業にわたるコマンドになるため、-eオプションでは不可
コマンドファイルは以下のように記述します。
挿入したい行として指定した行の手前に、挿入したい文字列が挿入されます。たとえば、
出力先は置換の場合と同様に標準出力です。-iオプションで上書きできることも同様です。
--
置換
文字列の置換を行うには、-eオプションに続けて置換したい文字列と置換後の文字列を指定します。
$ sed -e "s/置換したい文字列/置換後の文字列/g" ファイル名
出力先は標準出力です。リダイレクトを使えばファイルに記録できます。
$ sed -e "s/置換したい文字列/置換後の文字列/g" ファイル名 > 保存先ファイル名
ファイルに保存する別の方法として、-iオプションによって同名での上書き保存ができます。-iオプションの場合、同時に置換前のファイルがバックアップされるため便利です。
$ sed -i.bak -e "s/置換したい文字列/置換後の文字列/g" ファイル名
「-i.bak」と指定することで、ファイル名.bakがバックアップのファイル名になります。
ファイル名にワイルドカードを指定することで、複数のファイルを一度に置換できます。これは-eオプション単独ではできないので、-iオプションが便利です。
$ sed -i.bak -e "s/置換したい文字列/置換後の文字列/g" *
ここまで、sedを使った文字列の置換についてでした。
挿入
次は挿入についてです。sedは単なる置換用のコマンドではありません。Stream EDitorという名前の通り汎用的なエディタなので、テキストファイルに対して様々な編集が可能です。挿入もその1つです。
挿入する場合は-fオプションで外部ファイルからコマンドを読み込ませることで行います。
※複数業にわたるコマンドになるため、-eオプションでは不可
$ sed -f コマンドファイル名 編集対象ファイル名
コマンドファイルは以下のように記述します。
挿入したい行(何番目の行か){
i\
挿入したい文字列
}
挿入したい行として指定した行の手前に、挿入したい文字列が挿入されます。たとえば、
10{とすると、10行目の手前、つまり9行目と10行目の間に「この文字列を挿入します。」という文字列が挿入されます。
i\
この文字列を挿入します。
}
出力先は置換の場合と同様に標準出力です。-iオプションで上書きできることも同様です。
--
2010年4月26日月曜日
傾斜平面への剛体落下シミュレーション
傾斜平面に剛体を落下させるシミュレーション。
静止摩擦、動摩擦をうまく表現できるかどうか、というところなのですが、調整が必要です。
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
-
静止摩擦、動摩擦をうまく表現できるかどうか、というところなのですが、調整が必要です。
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
-
2010年4月25日日曜日
【Haskell】正格フラグの使い方
Haskellのデータ構造は一般的にlazyである。それによって、評価されたときにエラーやプログラム停止をもたらすような要素をデータ構造に含めることができる。lazyなデータ構造によってHaskellの表現を高めることができ、Haskellのプログラミングの重要な側面となっている。
内部的には、lazyなデータオブジェクトは、thunkと呼ばれる構造でラップされており、内部にエラーが含まれていても影響がない。たとえば、("a", ⊥)というタプルを保持することができる(⊥は未定義な値を表す)。一方、ほとんどのプログラミング言語は正格で、値が評価されてからデータ構造に入れられる。
ところが、thunkにはオーバーヘッドが大きいというデメリットがある。構築と評価に時間が必要だったり、heapにthunkのためのメモリが必要になる。
Haskellでは、このオーバーヘッドを避けるために、正格評価させるフィールドに正格フラグをつけることができる。正格フラグを付けた方が良いケースとしては、実行中の特定のタイミングで評価されるべきものや、評価がシンプルで決してエラーとならないもの、部分的な未定義値が意味をもたないものがある。
正格フラグの例としては、複素数ライブラリのComplex型があげられる。
data RealFloat a => Complex a = !a +: !a実部と虚部に正格フラグが付けられており、これらのフィールドには評価後の値が保持される。
正格フラグはデータコンストラクタでのみ使うことができる。逆に、関数の引数に対して正格処理をさせるようなフラグはないが、関数評価に!$演算子を使うことで同等のことを実現できる。
正格フラグを使うときの注意点としては、使用しないデータがメモリに残ってリークしがちな点がある。また、lazinessはHaskellの根本的な性質であり、正格フラグによってその性質を曲げることで、無限ループの発見が難しくなったり、予期せぬ結果をもたらす可能性はある。たとえば、循環定義がある場合には注意が必要である。
2010年4月18日日曜日
【書評】ソフトウェア企業の競争戦略
ソフトウェア企業の競争戦略(原題:The Business of Software)は、MIT(マサチューセッツ工科大学)スローン経営大学院教授のマイケル A.クスマノによる著書である。
著者はもともと70年代後半から、特に自動車の設計と製造に関する、日本の製造管理と品質管理の技術を研究していた。日本の製造業が急成長し、日米の貿易摩擦が顕在化し始めた時期である。
そんな中、著者は自動車の次に日本が挑戦するのはコンピュータ・ソフトウェアだろうと考え、日本企業が大規模な商業用ソフトウェア・システムをどのように構築しているか、すでに日本人が確立しているハードウェアのスキルに高度化されたソフトウェア・スキルをいかに追加しようとしているか、を研究し始めた。
研究を進めるうち、著者は、ソフトウェアが戦略と管理の面で特別な問題をはらむ独特のビジネスであると認識するに至る。85年のことだという。
本書は、著者の20年近くにわたるソフトウェア業界の研究、数十ものソフトウェア企業や組織へのコンサルタントとしてのかかわり合い、さらには1997年から続けられているMITでの「ソフトウェア・ビジネス」クラスでの教育経験から得られた観察をまとめたものである。
第1章には本書の概要を記してある。ソフトウェア・ビジネスが他のビジネスと異なっている点、技術としてのソフトウェア、日本企業からマイクロソフトに至る研究、欧米企業と日本企業の重要な違いについてまとめ、また、ソフトウェア・ビジネスの典型的な事例として、仏ビジネスオブジェクツと米i2テクノロジーズの2社を紹介している。
第2章では、ソフトウェア企業のとるべき戦略について述べている。製品企業なのかサービス企業なのか、ターゲットは個人か法人か、マスかニッチか、水平的か垂直的か、メインストリームを狙うのかキャズムを回避するのか、マーケットリーダーかフォロワーか補完製品メーカーか、会社にどのような特徴を持たせたいのか、といった問いが投げかけられている。
第3章は、ソフトウェアビジネスの歴史である。過去を研究する事で進むべき方向についての示唆を得られるとしている。1950年代にはハードウェアを販売する事が主目的でソフトウェアは付属品であった。独立したソフトウェア製品のビジネスが登場するのは60年代である。70年代に新しいプラットフォーム「PC」が出現する。「ワールド・ワイド・ウェブ(WWW)」という次のプラットフォームが90年代に現れる。この歴史を踏まえて、第4章以下で、次のビジネスチャンスがどこにあるのかを問うていく。
第4章では、ソフトウェア開発のベスト・プラクティスと銘打って、ソフトウェア開発を最適管理するにはどのようにしたら良いか考察している。ソフト開発で繰り返し発生している問題と、多くのソフトウェア・ファクトリーを通して試みられている技術の構造化、およびソフトウェア工学分野での取り組みについて紹介しつつ、それが誤った考え方を導くことになったと指摘し、重要になってくるのは繰り返しのプロセスを生み出そうというSEIの概念や、頻繁な同期と周期的な安定化だと結論づけている。
第5章は、ソフトウェア起業家精神についてである。製品開発の視点にとどまらず、とりわけ戦略とビジネスモデルにまで視点を広げ、ソフトウェアのスタートアップ企業を成功裏に設立するために本書の内容がどう当てはまるかを考察している。
第6章は、スタートアップ10社のケーススタディである。筆者が取締役、顧問、コンサルタントとして知るところとなったスタートアップ企業10社について、成功企業、失敗企業、現段階ではまだ何ともいえない企業の3つに分類して述べている。
最後に第7章で、ソフトウェアのスタートアップ企業にとって「理想的」もしくは「ベストの」モデルは何かを一般化することは考慮すべき変数があまりにも多く難しいとしつつも、少なくとも法人向けソフトウェア企業の場合、ビジネスモデルの判断基準は製品企業、サービス企業、ハイブリッド企業のどれを目指すのかという1つに帰結できると結んでいる。
ソフトウェア開発に関する本は、開発手法やプロジェクト管理についてのものはそれこそ掃いて捨てるほどあるのだが、ビジネスという視点から論じているものは驚くほど少ない(大きめの本屋でコンピュータ関連の棚を見てみればわかるだろう)。ソフトウェア企業の競争戦略は、ソフトウェアをビジネスの面から論じた数少ない本であり、かつ、内容としても非常に優れた良書である。
■その他、本に関係するエントリ
研究開発を着実に利益に結びつける方法
CUDAの入門本
最近読んでいるマーケティング本
コンピュータ将棋のいま
-
引き続き、粒子ベース剛体シミュレーション
引き続き、粒子ベース剛体シミュレーションです。
重力を追加し4つのキューブが落下するシーンを計算しました。
■Δt=0.0033sec
さらに、タイムステップによる挙動の違いを見るために、Δtを変えていくつか計算しました。先ほどの動画はΔt=0.0033secです。
■Δt=0.0017sec
■Δt=0.0008sec
■Δt=0.0004sec
■Δt=0.0002sec
これらを見比べると、タイムステップを変えるだけでキューブの挙動が変化しています。タイムステップを変えていき、Δt=0.0004secとΔt=0.0002secまで小さくすると、だいぶ挙動の違いがなくなってきています。
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
-
重力を追加し4つのキューブが落下するシーンを計算しました。
■Δt=0.0033sec
さらに、タイムステップによる挙動の違いを見るために、Δtを変えていくつか計算しました。先ほどの動画はΔt=0.0033secです。
■Δt=0.0017sec
■Δt=0.0008sec
■Δt=0.0004sec
■Δt=0.0002sec
これらを見比べると、タイムステップを変えるだけでキューブの挙動が変化しています。タイムステップを変えていき、Δt=0.0004secとΔt=0.0002secまで小さくすると、だいぶ挙動の違いがなくなってきています。
■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
-
2010年4月15日木曜日
粒子ベース多体衝突シミュレーション
いま、粒子ベースのアプローチで多体衝突シミュレーションを実装しています。
剛体を粒子の集まりとして表現することで、衝突判定と応力の計算を行います。
この方法の強みは、ポリゴンベースのアプローチに比べて、アルゴリズムが単純なことと、複雑な形の物体について効率良くシミュレーションできることです。
上のムービーでは立方体の衝突をシミュレーションし、立方体を表現するために使っている粒子をそのままレンダリングしています。
■関連する記事
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
-
剛体を粒子の集まりとして表現することで、衝突判定と応力の計算を行います。
この方法の強みは、ポリゴンベースのアプローチに比べて、アルゴリズムが単純なことと、複雑な形の物体について効率良くシミュレーションできることです。
上のムービーでは立方体の衝突をシミュレーションし、立方体を表現するために使っている粒子をそのままレンダリングしています。
■関連する記事
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
-
2010年4月13日火曜日
2010年4月4日日曜日
理想的なベッドの選び方
ここのところ数ヶ月、どうも疲れが抜けない。寝ても疲れて、どんどん消耗する困った状態になっている。原因が分からず、運動してみたり仕事の負荷を下げてみているのだが、いっこうに良くならない。
そこで、もう原因として残っているのはベッドだなと思い、ベッドを変えてみることにした。
いま使っているベッドは、折りたたみできる簡易的なもので、その上に布団を敷いて寝ている。以前にもベッドが原因ではないかと疑って床にマットと布団を敷いて寝てみたのだが、そのときは特に改善がみられなかったので、ベッドが原因ではないだろうと思っていた。
とはいえ、寝て起きるときが一番しんどかったり、腰や背中が痛かったりと、症状としては寝疲れなので、思い切ってベッドを変えてみる。
ベッドの選び方
ベッドは、主にベッドフレームとマットレスからなっている。このうち、寝心地に元も影響があるのはマットレスなので、マットレスに絞って調べてみた。
マットレスを決めるポイント
マットレスを決める要素としては、
・スプリング
・枠材の有無
・詰め物の層
・生地
・一層か二層か
といった点があげられる。
これらのうち、寝たときの姿勢に最も影響するのがスプリングである。スプリングについては、最も重要な要素なので下方で詳述する。
その他の要素として、枠材というのは、スプリングの外側、マットレスの周囲に沿って構造材を入れるかで、これはマットの耐久性に関係する。スプリングだけ では寝返り時の横ズレでスプリングがへたりやすくなるため、周囲に構造材を埋めることでスプリングの耐久性を増すことができる。
詰め物の層とは、スプリングの上に層状に入れられたもので、これは通気性や表面の感触に関係する。マットによっては表面と裏面で材質を変えて、片方は通気性に優れた夏用、もう片方は保温性に優れた冬用、といった機能を持たせているものもある。
生地はマットの一番外側の布地で、これは純粋に肌触りや視覚的な効果に関係する。キングストンなど値段の高いメーカのマットは、このあたりで差別化を図っている。とはいえ、寝たときの姿勢をサポートするというマットレス本来の機能という点では影響しないところでもある。
最後に一層か二層かというのは、マットレスのスプリング層と詰め物層の間にしきりをいれることで、詰め物層で柔らかく体をつつみ、スプリング層でしっかり支える、というもの。二層の方が質が高く、その分高価になる。
スプリングについて
さて、これらのポイントのうち最も重要な要素がスプリングだというのは前で書いた。それでは、スプリングにはどのような種類があるのかというと、大きく2種類あり、
- ボンネルコイル
- ポケットコイル
ボンネルコイルというのは昔からあるスプリングの種類で、1本のワイヤをいくつものコイルに巻いて敷き詰めた形になっている。特徴としては、体を面で支え、横ズレに強く、通気性が良い。フィーリングとしては堅い印象。ポケットコイルよりも価格は安く、半値になることも。
一方、ポケットコイルというのは、独立したコイルを布で包み、それをマットの中にたくさん敷き詰めた構造となっている。体を点で支えるのが特徴で、より体 全体を包み込む柔らかいフィーリングとなる。ただ、横ズレに弱く、スプリングを布で包むため通気性が悪くなりがちで、値段としては、製造に手間がかかるのでボンネルコイ ルに比べ高価になりやすい。とはいえ、体全体を包み込まれる感じはとても優れている。
どちらのマットを選ぶのが良いか?
どちらのマットが良いかは、体格や体重にもよるので人それぞれだが、販売員の方の話では、ポケットコイルを好む人が7割だそうだ。
ベッドを販売しているお店に行けば実際に横になって寝心地を試すことができるので、一度行ってみると良いだろう。
■最近のエントリ
subversionでテキストがバイナリに誤認識されてしまう場合
WiMAXを契約したのでそのまとめ
Haskell(GHC)をMac OSX 10.6 Snow Leopardにインストールする方法
Silverlightとトロイの木馬
ghciのコマンドまとめ
-
subversionでテキストがバイナリに誤認識されてしまう場合には
subversionに日本語のUTF-8ファイルを追加したときに、テイストファイルであるにも関わらずバイナリと誤認識されてしまうことがあります。バイナリと認識されてしまうと、svn diffで差分を表示することができずに困ります。
バイナリと認識されてしまっていることは、svn addしたときに(bin)と表示されるのでわかります。また、次のようにしても調べられます。
$ svn propget svn:mime-type hoge.texこれはmime-typeがapplication/octet-streamになってしまっていることを表しています。
application/octet-stream
バイナリと誤認識されたファイルをテキストとして再認識させるには、mime-typeをtext/で始まる文字列にすれば大丈夫です。あるいは単にmime-typeを消すだけでもOK。
$ svn propset svn:mime-type text/x-tex hoge.txtさらに文字コードを指定したい場合は svn:mime-type 'text/plain; charset=euc-jp' などとすればよいです。
$ または svn propdel svn:mime-type hoge.txt
$ svn commit -m ''
■最近のエントリ
WiMAXを契約したのでそのまとめ
Haskell(GHC)をMac OSX 10.6 Snow Leopardにインストールする方法
Silverlightとトロイの木馬
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
-
2010年3月28日日曜日
WiMAXを契約したのでそのまとめ
WiMAXを契約してきた。契約は、UQコミュニケーションとではなく、UQコミュニケーションからMVNOでサービス提供をしているビックカメラのBIC WiMAX Serviceを契約した。
同時購入した端末は2,800円。UQブランドのものが通常12,800円、キャンペーンで半額の6,400円となっているのと比べると安い。
モノとしてはUQブランドで提供されているものと同じで、製造元はシンセイコーポレーション。端末には製造元の他に開発元と販売元も記載されていて、開発元はMODACOM、販売元はラネットとなっている。
MODACOMは韓国のWiMAX機器メーカーで、シンセイコーポレーションにOEM販売しているようだ。実際、端末の型番はBDSS01と契約時に伝えられていたのだが、端末に記載されている型番はMW-2510となっている。MODACOMのサイトにMV-2500という型番のMobile WiMAX USB Modemが載っているのでそれだろう。
端末のデザインは、端末自体は特にどうというものでもないが、ツヤ黒で指紋が目立つのは勘弁して欲しい。それ以外はとくに不満はない。箱はiPhoneやiPod touchを参考にした感じで、「高級感」というと言い過ぎだが一定の洗練を感じさせるものとなっている。
販売元と記載されているラネットは、会社概要を見ると「携帯電話の小売、及び大手カメラ量販店内における販売代理店」とあり、どうやらもともと携帯ショップから始まった会社のよう。大手カメラ量販店内における販売代理店とあるので、ビックカメラで応対してくれたのはラネットの人なんだろう。
加えて、Wi2 300を提供するワイヤ・アンド・ワイヤレスと提携しているとのことで、「BIC WiMAX Service」にWi2 300がビックカメラオリジナルプランとして含まれているのは、この関係と思われる。
シンセイコーポレーションは、もともと新星貿易株式会社といって、兵庫県姫路の商社である。もともと1973年に輸出入貿易から始まり、その後IT製品、エレクトロニクス製品へ手を伸ばしている。WiMAXの端末は韓国MODACOMからのOEM販売のようだ。MODACOMが「開発元」シンセイコーポレーションが「製造元」とあるので、日本向けの製造はシンセイコーポレーションが行っているのかもしれない。ちなみにMADE IN KOREAとある。
「UQ WiMAX」と「BIC WiMAX Service」についてプレイヤーを整理すると、
■UQ WiMAX
・UQコミュニケーションズ
→通信事業者
・シンセイコーポレーション - MODACOM
→端末提供
■BIC WiMAX Service
・ビックカメラ - UQコミュニケーションズ
→通信事業者。ビックカメラはMVNO
・シンセイコーポレーション - MODACOM
→端末提供
・ラネット - ワイヤ・アンド・ワイヤレス
→販売代理、Wi-Fi提供
といったところか。
ワイヤ・アンド・ワイヤレスがビックカメラと提携するのは、契約者を増やしたいというのがあるのだろう。一方で、ビックカメラがMVNOで通信事業を行うのはなぜなんだろう?他の量販店との競争の中で、少しでも他ではやっていないキャンペーンを打ちたいということだろうか?通信料金の分配はどのようになっているのだろう?
■最近のエントリ
Haskell(GHC)をMac OSX 10.6 Snow Leopardにインストールする方法
Silverlightとトロイの木馬
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
欧米企業のソーシャル・メディア・マーケティングの普及状況
2010年3月21日日曜日
Haskell(GHC)をMac OSX 10.6 Snow Leopardにインストールする方法
Mac OSX 10.6 (Snow Leopard)にGHCをインストールするときの注意点をまとめました。
Mac Portsではインストールできない
MacPortsのghcはまだOSX 10.6には対応していないので、MacPortsからGHCをインストールすることはできません。
$ sudo port install ghc
---> Computing dependencies for ghc
---> Fetching ghc
Error: Target org.macports.fetch returned: ghc is not yet supported on Mac OS X 10.6.x (SnowLeopard)
ではどうやってインストールするのか?
OSX 10.6にGHCを入れるには、Haskell Platformにあるバイナリを使います。
HaskellPlatform
ところが・・・
それでも動かない!
実は、HaskellPlatformのバイナリをインストールしても、そのままでは動きません。
理由は、Snow Leopardとその中にあるコンパイラが基本的に64bitでの処理となったことに伴い、GHCがOSX用に生成する32bitのコードでは、アセンブラとリンカがエラーを出してしまうためです。
じゃあどうすればいいの?
GHCが動作するようにするには、ghcにパッチを当てて、32bitコードのままバイナリが生成されるようにします。
具体的には、/usr/bin/ghc (GHC自体を呼び出すためのシェルスクリプト)をテキストエディタで編集して、オプションに-optc-m32 -opta-m32 -optl-m32を追加します。
/usr/bin/ghc
#!/bin/sh
exec /Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.4/ghc -optc-m32 -opta-m32 -optl-m32 -B/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.4/. -dynload wrapped ${1+"$@"}
これで、OSX 10.6でGHCを使えるようになります。
■最近のエントリ
Silverlightとトロイの木馬
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
欧米企業のソーシャル・メディア・マーケティングの普及状況
Google Analyticsのカスタム変数機能とは?
-
2010年3月14日日曜日
Silverlightとトロイの木馬
MacのQuicktimeプレーヤでWindows Media Videoを見られるようにするプラグインに、Flip4Macというのがある。
先日Macを新しくしたので、Flip4Macも新しくインストールしようとして検索すると、Microsoftのダウンロードセンターから落とすようになっていた。名前も、Flip4Macではなく、QuicktimeComponentsとなっている。昔はFlip4Macのサイトから落としていたのに。
なんでMicrosoftなんだろうと思いつつインストールを進めると、理由がわかった。
Flip4MacがMicrosoftから提供されている理由は、Flip4Macのインストールすると一緒にSilverlightも潜り込ませるようにするためだった。
なるほどねぇ。
Flashの対抗馬としてのSilverlightだから、とにかくたくさんのPCにインストールされていることが至上命題。たくさんのPCにインストールされていれば、開発者も集まってくる。
このFlip4Macも、Yahooの映像トピックスも、いい線をついてくる。この辺は、流石Microsoftというところか。
■最近のエントリ
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
欧米企業のソーシャル・メディア・マーケティングの普及状況
先日Macを新しくしたので、Flip4Macも新しくインストールしようとして検索すると、Microsoftのダウンロードセンターから落とすようになっていた。名前も、Flip4Macではなく、QuicktimeComponentsとなっている。昔はFlip4Macのサイトから落としていたのに。
なんでMicrosoftなんだろうと思いつつインストールを進めると、理由がわかった。
Flip4MacがMicrosoftから提供されている理由は、Flip4Macのインストールすると一緒にSilverlightも潜り込ませるようにするためだった。
なるほどねぇ。
Flashの対抗馬としてのSilverlightだから、とにかくたくさんのPCにインストールされていることが至上命題。たくさんのPCにインストールされていれば、開発者も集まってくる。
このFlip4Macも、Yahooの映像トピックスも、いい線をついてくる。この辺は、流石Microsoftというところか。
■最近のエントリ
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
欧米企業のソーシャル・メディア・マーケティングの普及状況
2010年2月15日月曜日
ghciのコマンドまとめ
Haskellの実装の1つであるGHCの、インタラクティブ実行環境ghciのコマンドまとめです。
:type <expr>
:info [<name> ...]
-
:type <expr>
<expr>の型を表示する。:typeは:tに省略可能。<expr>は型を持ったものでないといけないので、データコンストラクタは指定できない。
:info [<name> ...]
<name>についての情報を表示する。表示される情報は、<name>の定義やどこで定義されているか、また何の型クラスのインスタンスか、など。
-
2010年2月12日金曜日
MacBook・MacBook Pro用ケースまとめ
大学時代から使っていたPowerBookG4を壊してしまったので、MacBook Proに買い替え。
使っていたPowerBookG4は12インチで、新しく買ったMacBook Proは13インチ。なので、当然これまで使っていたケースに入らず、新しいケースを買おうとしています。
どんなのを買おうかと探してみた。
▼まず1つめ。よくある感じの黒のケース。
安さが魅力で、アマゾンのレビューをみると機能的にも問題なさそう。
▼2つめは、ネットで検索してみつけたこれ。
ファスナーがついていなくて、口がみょーんと伸びて入れるタイプ。
シンプルで出し入れしやすそう。
▼3つめ。

assistOnというところで見つけたもの。
柄がオシャレで、形もかわいい。
バッグに入れるよりは、手持ち用かな。
▼4つめ。これは・・・

古洋書のようなデザインのケースだって。
おもしろい。
▼最後に、アマゾンで見つけたこれ。
フェルトのハンドメイドで封筒入れみたいなのがオシャレ。
6,000円といい値段します。
これいいなー
しばらく悩んでみてから買おう♪
MacBook Proについては、
・グレア液晶について
・SnowLeopardについて
・Chrome for Macについて
・キーボードについて
などなど、いろいろ思ったことがあるので、少しずつ書いていきたいなー。
-
使っていたPowerBookG4は12インチで、新しく買ったMacBook Proは13インチ。なので、当然これまで使っていたケースに入らず、新しいケースを買おうとしています。
どんなのを買おうかと探してみた。
▼まず1つめ。よくある感じの黒のケース。
安さが魅力で、アマゾンのレビューをみると機能的にも問題なさそう。
▼2つめは、ネットで検索してみつけたこれ。
ファスナーがついていなくて、口がみょーんと伸びて入れるタイプ。
シンプルで出し入れしやすそう。
▼3つめ。

assistOnというところで見つけたもの。
柄がオシャレで、形もかわいい。
バッグに入れるよりは、手持ち用かな。
▼4つめ。これは・・・

古洋書のようなデザインのケースだって。
おもしろい。
▼最後に、アマゾンで見つけたこれ。
フェルトのハンドメイドで封筒入れみたいなのがオシャレ。
6,000円といい値段します。
これいいなー
しばらく悩んでみてから買おう♪
MacBook Proについては、
・グレア液晶について
・SnowLeopardについて
・Chrome for Macについて
・キーボードについて
などなど、いろいろ思ったことがあるので、少しずつ書いていきたいなー。
-
登録:
投稿 (Atom)









