2015年11月28日
Windowsアプリ ycalc
前回のWindowsアプリ yball と並行して、もうひとつWindowsアプリ ycalc を作りました。
電卓のアプリです。以下のサイトからダウンロードできます。
<"電卓 ycalc">
自分に必要な機能を盛り込んでいるので、PCを使った生活の中で発生するちょっとした計算に重宝しています。ポイントは、カッコを含む式を入力できること、その式はいつでも全体を確認できて誤りがあればその部分を編集できること、です。16進数を使えること、工学系単位を使えることも私にとっては重要です。
起動直後の画面です。上のテキストボックスに計算したい式を入力します。普通の電卓のように数字のボタンはありません。パソコンの場合、マウスで数字を入力するよりもキーボードで数字を入力したほうが早いからです。下のテキストボックスに計算結果が出力されます。計算実行のボタンはありません。数字を1桁入力するたびにそのときの式の計算結果がリアルタイムに(?)表示されます。

計算式はカッコが使えます。

右下のプルダウンメニューで、"eng" を選ぶと、キロ(K)、メガ(M)、ギガ(G)、ミリ(m)、マイクロ(u)、ナノ(n)といった工学系単位で計算結果を表示します。大きな値や小さな値を計算するときに計算結果が見やすくなります。

例えば、0.004は4ミリです。0.004と表示するよりも4m (ミリ) と表示してくれたほうが便利と思う人に向けた機能です。

入力式にもこの工学系単位をつけた数字を使えます。例えば周波数921.6kHzの1周期を計算したい場合は以下のように入力すればOKです。約1.085usと表示しています。

プルダウンメニューで "hex" を選ぶと、計算結果を16進数で表示します。現在のバージョンは、16進数は32ビットで表現できる整数にのみ対応しています。

プルダウンメニューで "binary" を選ぶと、計算結果を2進数で表示します。見やすいように4ビットずつ区切って表示するようにしました。

入力式にも16進数を使えます。16進数と10進数が混合した計算式を計算することも可能です。2進数で入力する機能については、私は16進数で入力できれば困らないので作っていません。

出力形式を16進数にすると、16進数の計算機となります。

ビット演算も使えます。現在サポートしているのは、左シフト(<<)、右シフト(>>)、ビットAND(&)、ビットOR(|)、ビットXOR(^)、ビット反転(~)です。

ビット演算の例です。16進数と組み合わせて使うケースが多いでしょうね。

電卓といえばルート演算です。でも実際の生活では滅多に使いませんよね。sqrt()と入力することでルート演算を行うことができます。sqrtのカッコの中にも数式が使えます。

べき乗の関数もサポートしています。例えばpow(2, 3)と入力することで2の3乗を計算できます。こちらもカッコの中にも数式を使うことができます。この例では、3の(1/2)乗、つまりルート3を計算しています。

電卓のアプリです。以下のサイトからダウンロードできます。
<"電卓 ycalc">
自分に必要な機能を盛り込んでいるので、PCを使った生活の中で発生するちょっとした計算に重宝しています。ポイントは、カッコを含む式を入力できること、その式はいつでも全体を確認できて誤りがあればその部分を編集できること、です。16進数を使えること、工学系単位を使えることも私にとっては重要です。
起動直後の画面です。上のテキストボックスに計算したい式を入力します。普通の電卓のように数字のボタンはありません。パソコンの場合、マウスで数字を入力するよりもキーボードで数字を入力したほうが早いからです。下のテキストボックスに計算結果が出力されます。計算実行のボタンはありません。数字を1桁入力するたびにそのときの式の計算結果がリアルタイムに(?)表示されます。

計算式はカッコが使えます。

右下のプルダウンメニューで、"eng" を選ぶと、キロ(K)、メガ(M)、ギガ(G)、ミリ(m)、マイクロ(u)、ナノ(n)といった工学系単位で計算結果を表示します。大きな値や小さな値を計算するときに計算結果が見やすくなります。

例えば、0.004は4ミリです。0.004と表示するよりも4m (ミリ) と表示してくれたほうが便利と思う人に向けた機能です。

入力式にもこの工学系単位をつけた数字を使えます。例えば周波数921.6kHzの1周期を計算したい場合は以下のように入力すればOKです。約1.085usと表示しています。

プルダウンメニューで "hex" を選ぶと、計算結果を16進数で表示します。現在のバージョンは、16進数は32ビットで表現できる整数にのみ対応しています。

プルダウンメニューで "binary" を選ぶと、計算結果を2進数で表示します。見やすいように4ビットずつ区切って表示するようにしました。

入力式にも16進数を使えます。16進数と10進数が混合した計算式を計算することも可能です。2進数で入力する機能については、私は16進数で入力できれば困らないので作っていません。

出力形式を16進数にすると、16進数の計算機となります。

ビット演算も使えます。現在サポートしているのは、左シフト(<<)、右シフト(>>)、ビットAND(&)、ビットOR(|)、ビットXOR(^)、ビット反転(~)です。

ビット演算の例です。16進数と組み合わせて使うケースが多いでしょうね。

電卓といえばルート演算です。でも実際の生活では滅多に使いませんよね。sqrt()と入力することでルート演算を行うことができます。sqrtのカッコの中にも数式が使えます。

べき乗の関数もサポートしています。例えばpow(2, 3)と入力することで2の3乗を計算できます。こちらもカッコの中にも数式を使うことができます。この例では、3の(1/2)乗、つまりルート3を計算しています。

2015年11月18日
Windowsアプリ yball
趣味でWindowsアプリを作ってみました。
こちらからダウンロードできます。
<"ボール運動シミュレータ yball">
物理法則にしたがったボールの運動を観察するソフトです。
具体的には以下の動作をシミュレートします。
- ウィンドウフレームと衝突した場合の跳ね返り
- 重力による落下
- ボールとボールの間の引力
- 空気抵抗による減速
アプリを起動すると、緑のボール1と赤のボール2の二つのボールが表示されます。互いに引かれるように回転しています。

ボールは壁にぶつかると跳ね返ります。マウスでウィンドウのフレームを掴んで動かしボールにぶつけてもボールは反動で跳ね返ります。

重力はOnとOffを選べます。重力をOnにするとこんな感じで下の方へ落ちていきます。

キーボードの矢印キーを動かすと緑のボールを動かすことができます。例えば↑キーを押すと、上向きの力が加わって上方向へ加速します。←キーを押すと左向きの力が加わって左方向へ加速。↑と←を同時に押すと左上方向へ加速します。(↓と→も同様です)

赤のボールはSキーが上、Xキーが下、Zキーが左、Cキーが右への加速です。
うまく位置と速度をコントロールすると、このように引力でお互いの周りを回りはじめます。ふたりでそれぞれのボールを動かしてこのような状態にしてみるゲームも良いですね。なかなか難しいと思いますが。

3番目のボールを出現させることも可能です。3番目のボールはわざと位置を固定しています。そのため、他のふたつのボールは、太陽の周囲を回る惑星のように、回転する様子を観察することができます。ボールの動きが速過ぎると回転せずに通りすぎてしまうので、その加減が難しいです。

ボールに加わる力ベクタを表示させることが可能です。ボール1とボール2がどのくらいの力で引かれあっているかを視覚的に理解することができます。ボール1とボール3、ボール2とボール3の間の力ベクタも表示しています。(ボール3は力が加わっても動かないので、力ベクタの表示は省略しています)

ボールにはボール間の引力の他に、垂直方向の重力と、運動しているときの空気抵抗による抗力を作用させることができ、その力ベクタも表示することができます。ボールはリアルタイムに動きますが、力ベクタもリアルタイムで大きさや方向が変化するので、見ていると興味深いです。

上で説明したOn/OffはFileメニューのParameter Settingsダイアログのチェックボックスで設定できます。

まとめると、キーボード操作により以下のことができます。
- ボール1を動かせます(外力の付与) ←↑↓→ キー
- ボール2を動かせます(外力の付与) Z S X C キー
- (ボール3はキー操作により動かせません)
- ボール1の質量の変更 1 2 キー
- ボール2の質量の変更 3 4 キー
- ボール3の質量の変更 5 6 キー
- 重力加速度の変更 7 8 キー
- 空気抵抗係数の変更 9 0 キー
また、メニュー設定により、以下のことができます。
- First ball: ボール1の有効化/無効化
- Second ball: ボール2の有効化/無効化
- Third ball: ボール3の有効化/無効化
- Vertical gravity: 重力の有効化/無効化
- Air registance: 空気抵抗の有効化/無効化
- Display vectors: 力ベクタ表示の有効化/無効化
- Update graphics: グラフィックス更新の有効化/無効化
- Pause: 時間停止
ボールの質量を増やしたり減らしたり、空気抵抗を大きくしたり、小さくしたりして、どのようにボールが動くかを観察してみると楽しいです。
アニメで、宇宙空間をロボットや宇宙船が高速で機動する様子が描かれることがありますが、実際にはそんなに自由には動けないことを体感できると思います。
こちらからダウンロードできます。
<"ボール運動シミュレータ yball">
物理法則にしたがったボールの運動を観察するソフトです。
具体的には以下の動作をシミュレートします。
- ウィンドウフレームと衝突した場合の跳ね返り
- 重力による落下
- ボールとボールの間の引力
- 空気抵抗による減速
アプリを起動すると、緑のボール1と赤のボール2の二つのボールが表示されます。互いに引かれるように回転しています。

ボールは壁にぶつかると跳ね返ります。マウスでウィンドウのフレームを掴んで動かしボールにぶつけてもボールは反動で跳ね返ります。

重力はOnとOffを選べます。重力をOnにするとこんな感じで下の方へ落ちていきます。

キーボードの矢印キーを動かすと緑のボールを動かすことができます。例えば↑キーを押すと、上向きの力が加わって上方向へ加速します。←キーを押すと左向きの力が加わって左方向へ加速。↑と←を同時に押すと左上方向へ加速します。(↓と→も同様です)

赤のボールはSキーが上、Xキーが下、Zキーが左、Cキーが右への加速です。
うまく位置と速度をコントロールすると、このように引力でお互いの周りを回りはじめます。ふたりでそれぞれのボールを動かしてこのような状態にしてみるゲームも良いですね。なかなか難しいと思いますが。

3番目のボールを出現させることも可能です。3番目のボールはわざと位置を固定しています。そのため、他のふたつのボールは、太陽の周囲を回る惑星のように、回転する様子を観察することができます。ボールの動きが速過ぎると回転せずに通りすぎてしまうので、その加減が難しいです。

ボールに加わる力ベクタを表示させることが可能です。ボール1とボール2がどのくらいの力で引かれあっているかを視覚的に理解することができます。ボール1とボール3、ボール2とボール3の間の力ベクタも表示しています。(ボール3は力が加わっても動かないので、力ベクタの表示は省略しています)

ボールにはボール間の引力の他に、垂直方向の重力と、運動しているときの空気抵抗による抗力を作用させることができ、その力ベクタも表示することができます。ボールはリアルタイムに動きますが、力ベクタもリアルタイムで大きさや方向が変化するので、見ていると興味深いです。

上で説明したOn/OffはFileメニューのParameter Settingsダイアログのチェックボックスで設定できます。

まとめると、キーボード操作により以下のことができます。
- ボール1を動かせます(外力の付与) ←↑↓→ キー
- ボール2を動かせます(外力の付与) Z S X C キー
- (ボール3はキー操作により動かせません)
- ボール1の質量の変更 1 2 キー
- ボール2の質量の変更 3 4 キー
- ボール3の質量の変更 5 6 キー
- 重力加速度の変更 7 8 キー
- 空気抵抗係数の変更 9 0 キー
また、メニュー設定により、以下のことができます。
- First ball: ボール1の有効化/無効化
- Second ball: ボール2の有効化/無効化
- Third ball: ボール3の有効化/無効化
- Vertical gravity: 重力の有効化/無効化
- Air registance: 空気抵抗の有効化/無効化
- Display vectors: 力ベクタ表示の有効化/無効化
- Update graphics: グラフィックス更新の有効化/無効化
- Pause: 時間停止
ボールの質量を増やしたり減らしたり、空気抵抗を大きくしたり、小さくしたりして、どのようにボールが動くかを観察してみると楽しいです。
アニメで、宇宙空間をロボットや宇宙船が高速で機動する様子が描かれることがありますが、実際にはそんなに自由には動けないことを体感できると思います。
2006年07月30日
過去の名作を作れるシアワセ (5550)
レゴに触るのは久しぶりです。インターネットの作り方説明書を見ながら、過去の名作(でしょう、たぶん)のCustom Rally Vanを作ってみました。
オリジナルと全く同じパーツを持っていないので、そこはデザインを少しずつ変えながら作りました。制約の中でなんとかやりくりするのもレゴの楽しみのひとつだと思います。
フロントガラスは2分割になるし、タイヤはやけに小さいし、顔つきは恐くなるしで、けっこうハチャメチャになってしまいましたが、とにかく完成状態までたどりついて満足です。
買いたくても今はもう売っていない過去の名作を作れるなんてシアワセ。
2006年05月04日
可動部がたくさんあります
2006年05月03日
久しぶりに買いました
7903 Rescue Helicopterを買いました。これ、すごくいいです。デザインがレゴ社製品にしては(すみません)あか抜けています。前から見ても、横から見ても、斜め後ろから見ても、上から見ても、シルエットが美しいし、コックピット周辺、ローターの下の排気口、後輪周辺のディテールも好きです。


