ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

Java3DのCanvas3Dを、NetBeans上でラベルの上に乗っけたい

2011年01月31日 23時56分26秒 | ソフト開発日記
プラットフォームに依存しない3Dソフトを作るお仕事が来そうなので、
以前挫折したJava3Dをまたいじってみることに。

Canvas3DをNetBeansのGUIデザイナ上になんとか乗っけてそこで表示させたい。
(インターフェース作りで楽をしたいから。)

とりあえずこちらのサイト様で、NetBeansにJava3Dライブラリをインストール。
ttp://feather.cocolog-nifty.com/weblog/2008/02/netbeansguimati_f3a3.html

そして試行錯誤の末、
なんとかNetBeansのJFrameフォーム上にCanvas3Dを乗っけて描画を行うことに成功。

JFrameフォーム上に、lblDrawという名前のラベルを配置。
そしてJFrameフォームのコンストラクタに、以下のコードを書き足し。
忘れてしまったとき用のメモソース。

public MainFrame() {
initComponents();

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
lblDraw.setLayout(new BorderLayout());
lblDraw.add("Center", canvas);

SimpleUniverse universe = new SimpleUniverse(canvas);
universe.getViewingPlatform().setNominalViewingTransform();
BranchGroup root = new BranchGroup();
root.addChild(new ColorCube(0.3f));

universe.addBranchGraph(root);
}

これでなんとか、lblDrawという名前のラベル上にCanvas3Dを乗っけることができた。
意外としんどかった。

Office2007のライセンスキーの認証回数が上限を超えたので

2011年01月30日 19時34分01秒 | 独り言
新しいPCに、以前購入したOffice2007 Professionalをインストールしようとしたら、
何度もPCを買い換えたりリカバリーするたびに再インストールしていたためか、
「ライセンスキーの認証回数が上限を超えてるので認証できません」
のようなメッセージが出てきました。

大学では研究室で購入したOffice2010を使用しており、
ノートPC1台にだけOffice2007 Professionalが入っている状態。

デスクトップPCとノートPC1台ずつならインストールしてOKなはずなので、
電話認証をしてみました。
画面に表示されたフリーダイヤルに電話し、
指示に従いボタンを入力していくと、
最終的にオペレーターに繋がり、事情を説明することに。

「もしもし、すみません。Officeをインストールしてライセンス認証を行おうとしたら、
認証回数が上限を越えていると出て、インストールできなかったのですが。」
「あ、はぁ、そうですか。」

心なしか冷たい返事が帰ってきてちょっとブルーになりました。
その後、PCを何度か買い換えたりしたことや、リカバリーを何度もしたこと、
現在はノートPC1台にしか入っていないので、デスクトップに入れることができるはずということを説明。

すると持っている製品のパッケージに特徴等を聞かれました。
角が丸いか四角いかですが。
角が丸ければ正規版で、四角ければOEM(DSP)版なので、恐らくそれの確認です。

パッケージの特徴の説明後は、心なしか声が暖かくなり、
スムーズに新しい認証コードの入力を指示してくれました。
勝手な思い込みですが、OEM版で複数台に入れようとして入らなくて
電話をかけてくる人が多く、うんざりしていてはじめ冷たかったのかなぁとか思ったりしてます。

Word2010とかPowerPoint2010の数式で、3行3列より大きい行列を描く方法

2011年01月29日 17時05分49秒 | 独り言
Office2010の数式(恐らく2007でも同様)で、大きい行列を描きたかったので
それについてのメモ。

数式リボンの行列のテンプレートには、最大で3行3列しか入っていません。
4行4列や5行5列(描きたかったのは8行8列)、といった大きな行列を描くにはどうすればいいのか。

結局テンプレートやわかりやすい入力インターフェースは無いみたいなので、
コマンドで入力することにしました。

数式モードの中で、
\matrix( a & b & c & d @ e & f & g & h @ i & j & k & l @ m & n & o & p )

といった具合に入力して、スペースキーを押すと行列を出すことができました。
(※コピーしても多分うまくいきません。直接入力が必要だと思います。)
"\matrix("まで入力すると、なんか四角(■)が出てきますが、その後気にせず入力。
'&'で列を区切り、'@'で行を区切ることができます。
ただ、行列を生成した後で行や列の変更をする方法はわからないので、
まずは以下のように、目的の行と列を持った行列を生成するのがお勧め。

\matrix(1&2&3&4&5@2@3@4@5)

次のような、5行5列の行列ができあがります。

1 2 3 4 5
2□□□□
3□□□□
4□□□□
5□□□□

'&'と'@'で分かりづらい書き方で頑張って記入して、
いざ行列を生成したときに行や列の数がズレていた、なんて切ない事故を防げます。

バブシュカのパラドックス

2011年01月28日 18時57分54秒 | 独り言
計算力学の本を読んでいたら、
バブシュカのパラドックスという言葉がでてきました。

FEMにおいて、荷重が集中する付近でメッシュを細分化すると
その周辺で非現実的な変形が強調されてしまう現象のことで、
バブシュカ(ばぶしゅか)という人が由来らしいです。

しかしながらこの単語を初めて見たときは、
バブシュさんといういう人がいて、その人が考えた力(ちから)に関するパラドクス、
すなわちバブシュ力のパラドクス(ばぶしゅりょくのぱらどくす)だと思いました。
カ(か)と力(ちから)の区別が全然つきません。

Googleで検索した結果、
"バブシュ力のパラドックス" 検索結果 0件 (ばぶしゅりょく)
であり、ここでバブシュ力(ばぶしゅりょく)は間違いだと気が付きました。

ちなみに、
"バブシュカのパラドックス" 検索結果 1件 (ばぶしゅか)
であり、どちらにせよマニアックなワードっぽいです。

グラボとディスプレイとスピーカーを購入

2011年01月27日 16時56分53秒 | 独り言
グラボとディスプレイとスピーカーが届きました。

【VGA】Sapphire Radeon HD5670 512MB DDR5 RGB PCI-E \6,900(送料 +\500)
【ディスプレイ】24型LCDワイドモニター VW2420H \21,665
(液晶モニタドット抜け交換保証サービス付)
【スピーカー】Creative ステレオスピーカー Inspire T10 IN-T10 \3,180

結局、前回の下記パーツ(\36,247)と合わせて
【CPU】AMD AthlonII X4 640 TDP95W 3.0GHz ADX640WFGMBOX \8,690
【M/B】ASRock 880GM-LE \5,500
【メモリ】CFD W3U1333Q-2G (DDR3 PC3-10600 2GB 2枚組) \3,745
【HDD】日立 HGST Deskstar パッケージ版 3.5inch 1TB 32MB 7200rpm 0S02601 \5,305
【光学ドライブ】KEIAN LITEON 内蔵スーパーマルチドライブ S-ATA ブラック IHAS324-27 \3,087
【ケース】GIGABYTE ミドルタワー GZ-X1シリーズ PCケース GZ-X1BPD-100 (185x410x478 mm) \3,480
【電源】KEIAN KEIAN BullMAX 520W電源 KT-520RS \3,000
【キーボード】LOGICOOL Wireless Desktop MK320 \3,440

【合計】\68,672

結構痛い出費。
とりあえずディスプレイにはドット抜けなくて一安心。
グラボ挿入した後のWindowsエクスペリエンスインデックスは
グラフィックが4.2 → 5.9
ゲーム用グラフィックが4.0 → 5.9
に。All5.9となりました。

ネット回覧、DVD再生、Office系ソフト、CやらJavaのIDEはサクサクでした。
ファンとかHDDの音はほとんど気にならないレベル。
BTOと比べてそんなに価格差無いっぽいですが、満足いくものができました。