その6.3次元グラフィックスの作成 2 ('10年04月10日〜20日) Android Java による「懐かしの3次元グラフィックス」の再現です。 仕様は、「その2.3次元グラフィックスの作成 1」の場合と同様です。 (参考文献: 雑誌 月刊ASCII '78 8月・10月号、'79 5月号 何れも、3次元グラフィックス関連の記事より) (5) Android Java バージョン 実行結果 → [ Android Java サンプル2 ] その5.JavaによるI/O制御機能サンプルプログラムの作成 Windows 2000マシンでのシリアルポート出力 ('02年02月20日〜03月15日) 携帯電話からの遠隔制御により、おもちゃの扇風機を回転させるという実験です。 ◆ 製作した回路と実験システムの全景(拡大写真) ◆ ◆ 携帯電話で遠隔制御させている様子(拡大写真) ◆ そして作成したプログラム。 (1) コマンド送信用プログラム(HTML で作成) (2) ファイル書き込み用CGI これらは、前回(下記の その4.)のものをそのまま使用しています。 (3) コマンド読み出し&シリアルポート出力プログラム(Java アプリケーション) シリアルポート(COM1:)の制御線を以下のように使用しています。 ・DTRライン(ON:FAN ON OFF:FAN OFF) ・RTSライン(ON:逆転 OFF:正転) なお、今回もJNIを利用して、次のようなルートでシリアル制御を行っています。 アプリ → シリアル制御用クラス → DLL. (Frame1.java) (SERIAL.java) (SERIALJ.cpp) 同一のプログラムで、Win2k、WinMe どちらでも動作することを確認しました。 =============================================================================== なお、Java とJNIによるプログラミングのノウハウについては、「IT関連BBS」の 「16:【技術情報】Java によるI/O制御、JNI 関連技術 」 のコーナーで公開しています。 ↓ http://www3.biwako.ne.jp/~mirai954/bbs/bbs.cgi?id=2002031800 その4.JavaによるI/O制御機能サンプルプログラムの作成 Windows Meマシンでのパラレルポート出力 ('02年01月16日〜02月08日: 実験結果を記載) ('02年03月17日: PORT入出力用クラス、DLLのソースを追加) 携帯電話からの遠隔制御により、おもちゃの扇風機を回転させるという実験です。 ◆ 製作した回路と実験システムの全景(拡大写真) ◆ ◆ 携帯電話で遠隔制御させている様子(拡大写真) ◆ 今回作成したのは、「その3.」のプログラムの応用編です。 ニコチャン マークの表示を変更するのではなく、パソコンのパラレルポートに外部接続した機器を リモートコントロールさせてみようというもの。 そのために作成したプログラム。 (1) コマンド送信用プログラム(HTML で作成) ニコチャンのときのとほとんど同様です。 送信するデータは、停止=0、正転=1、逆転=3。 (2) ファイル書き込み用CGI これもニコチャンのときと同様。書き込むファイル名を変えただけです。 (3) コマンド読み出し&ポート出力プログラム(Java アプリケーション) パソコンのI/Oポートをコントロールするということで、ニコチャンの場合と大きく変わった部分が 2点あります。 ・Java アプレットではなく、Java アプリケーションで作成しています。 (理由や違いについては、ご自分で勉強してくださいね) ・I/Oポート制御を行うために、JNI(Java Native Interface)の技術を導入しました。 2点目について、ちょっと補足しておきます。 Java はVM(Virtual Machine)という構造上、特定のプラットフォームに依存するような ハードに対する入出力機能を標準では装備していません。 ならば、どうするか? というと ・シリアルポート、パラレルポート出力ならば、Sunの提供している拡張APIを利用する。 ・JNI(Java Native Interface) つまりJavaの拡張機能により、マシン固有のデバイスドライバ (Windows ならばDLL)を作成してJavaプログラムから呼び出して使用する。 の何れかの方法をとることになります。 Mirai くん の場合も、当初この両方にチャレンジしてみたのですが、 当初何れの方法も失敗しました。 結局、約3週間後 VAIOノート → 東芝ノートに変更して動作することを確認しました。 (原因の正解は、VAIO はWindows 2000、 東芝機は Win Me ということです。) (ホント、ケアレスミスもいいところで、「穴があったら入りたい」という心境です・・) その3.インターネット通信機能サンプルプログラムの作成 PC/iモード携帯電話共用版 ('01年09月17日〜10月01日、10月08日、10月10日、10月14日) 今回のプログラムは、携帯電話からの操作で、ノートパソコンのブラウザ上での表示内容を 動的に変更させてみようというものです。将来的には、これを発展させれば、パソコンに接続した 外部機器を コントロールさせることもできるかな?と構想しております。 というわけで、実行手順です。 (1) インターネット接続できるパソコン1台と、i モード携帯(i アプリ携帯でなくても可)を用意します。 (お金持ちの方は、インターネット接続可能なパソコン2台でも構いません) (貧乏でパソコンが1台しか無いかたでも、工夫すれば何とかなります ) (2) パソコンの方でブラウザを起動して、右記のページを表示させます → [ Java サンプル3 ] ニコチャン マークが表示されて、時々、「送信中」の表示がされていればOKです。 このとき、あまりにも頻繁に「送信中」の表示が行われるときは、1000(msec)の数値を 2000 〜 3000 の範囲で適当に増やしてください。 (逆にめったに「送信中」の表示が見れない場合は、この数値を、100 〜 200 のように 減らしてください) (3) 次に、i モード携帯(または、もう一台のパソコン)で、下記のページを表示させます ↓ [ HTML サンプル3 ] ( http://www3.biwako.ne.jp/~mirai954/PC_TX1.htm ) パソコンが1台しか無いかたは、同じパソコン上で、さらにもうひとつブラウザを起動して、 上記のHTMLを表示させます。 表示された、4つの表情のどれかを選択して、[送信]ボタンを押してしばらくすると、 パソコン上のニコチャン マークが変わったでしょう。。。。 なお、ニコチャンの画面のほうは、構造上、無限ループになっていますので、 [終了]ボタンを押してから、ブラウザの[戻る]ボタンを押してくださいね。 =============================================================================== iアプリ版 ('01年10月08日) ・ iアプリ バージョン 実行結果 → [ iアプリ版 Java サンプル3 ] (503i での i アプリのダウンロードは、こちら) ↓ http://www3.biwako.ne.jp/~mirai954/iappli/Ntest1A.html (503i をお持ちのかたは、このURLを指定することにより、表情コマンド送信プログラムを) (ダウンロードして実行することができます。) =============================================================================== Palm版 ('01年10月10日) ・Palm バージョン 実行結果 → [ Palm版 Java サンプル3 ] 但し、Mirai くんは、Palm では直接インターネットに接続するための環境を所有していませんので、 CLIE 用の Palm OS Emulator(POSE) での実行結果です。 その2.3次元グラフィックスの作成 1 ('01年08月12日〜22日、9月17日) 8月4日(土)でJavaスクールの入門講座を修了しました。 スクールでは、特に課題制作はなかったので、自主的に作成してみました。 PART1は、Java による「懐かしの3次元グラフィックス」の再現です。 (参考文献: 雑誌 月刊ASCII '78 8月・10月号、'79 5月号 何れも、3次元グラフィックス関連の記事より) 同一仕様のプログラムを各種プラットフォームでのJavaに移植してみるという実験に挑んでみました。 (Palm と iアプリのJavaについては、全て独学により習得しています) (1) Java アプレットバージョン 実行結果 → [ Java サンプル2 ] (2) Palm バージョン 実行結果 → [ Palm 版 Java サンプル2 ] (3) iアプリ バージョン 実行結果 → [ iアプリ版 Java サンプル2 ] ** 参考出品 ?? ** (4) Visual Basic バージョン 実行結果(画面表示例) → [ VB サンプル2 ] =============================================================================== 【3次元グラフィックスのソースファイルのダウンロードコーナー】 (1) PC用 Java アプレット バージョンのダウンロードは、こちら → [Javaソース2]) (Javaソース、HTMLをLZH圧縮してあります) (2) Palm バージョン ソースファイルのダウンロードは、こちら → [ Palm 版 Javaソース2]) (3) iアプリ バージョン ソースファイルなどのダウンロードは、こちら → [iアプリ版 Javaソース2]) (Javaソース、jam、jar ファイルをLZH圧縮してあります) (503i での i アプリのダウンロードは、こちら ↓) http://www3.biwako.ne.jp/~mirai954/iappli/graph.html (503i をお持ちのかたは、このURLを指定することにより、3Dグラフィックス表示プログラムを) (ダウンロードして実行することができます。) ** 参考出品 ?? ** (4) Visual Basic バージョン ソースファイルなどのダウンロードは、こちら → [VBソース2]) V6.0でのVBソース、プロジェクトファイルなどをLZH圧縮してあります。 VBの開発環境は持っていないけど、実行してみたいというかたは、 メールにて個別にご相談ください) その1.Javaアプレットへの初挑戦 ('01年05月07日) このときは、スクールでの講座が開講していなかったため、 独習(予習)していた内容です。 Java アプレットの入門書で、いつも最初に出てくるような例題です。 (1) Java ソースプログラム import java.applet.Applet; import java.awt.Graphics; public class aplt_test1 extends Applet { public void paint(Graphics g) { g.drawString("Mirai くんのアプレットテスト1です!", 50,30); } } (2) HTML ソースプログラム <applet code="aplt_test1.class" WIDTH=300 HEIGHT=50> </applet> 実行結果は、こちらをクリックしてみて〜 → [ Java サンプル1 ] |
メール |
トップ |