武 庫 川 女 子 大 学
情報教育研究センター年報
2005
武庫川女子大学 情報教育研究センター年報
2005
巻頭言 Webの功罪 情報教育研究センター長 濱谷 英次 1.大学入学者の情報リテラシー:その現状と情報基礎教育の今後………1 ―プレイスメントテスト結果による情報リテラシー分析に基づいて― 情報教育研究センター研究員 中野 彰 2.Java 3 Dによる3次元グラフィックスその2 ………11 情報教育研究センター研究員 福井 哲夫 3.栄養士養成のための教材の電子化………20 情報教育研究センター研究員 松浦 寿喜 4.習熟度別クラス編成による新たな格差………24 ―情報基礎教育への取り組みから― 情報教育研究センター助手 岡田由紀子 センター関係諸規程 É武庫川女子大学情報教育研究センター規程………37 É武庫川女子大学・武庫川女子大学短期大学部情報処理教育委員会規程………38 É武庫川学院キャンパスネットワーク運営委員会規程………39 É武庫川学院キャンパスネットワーク運用規約………40G
G
G
巻
頭
言
Webの功罪
情報教育研究センター長濱
谷
英
次
インターネットという仕組みが今日のように社会の隅々まで普及するとは十数年前に誰が予想できた であろうか。かつて、「テレビ世代」という言葉が使われた時期があったが、現在生まれた子供は間違い なく「インターネット世代」とでもいうべきであろう。 日本においては、政府の規制緩和政策により通信事業への新規参入が容易になり、競争が激化するに つれ通信料金は大幅に低下し、インターネットの普及率は世界でも上位に位置している。世界に散在す るネットワークを相互接続した状態が「インターネット」であるが、ネットワークが世界規模で整備さ れただけでは、インターネットの急激な普及は起こりえない。一番の理由は、インターネット上を流れ る情報を「Web」という形式で発信・閲覧ができるようになったことであろう。研究情報の共有化を目 的に考え出されたWebという仕組みは、その後テキスト情報だけでなく画像や音声などマルチメディア 情報を扱えるようになり、商業利用だけでなく、個人による情報発信にも広く利用されている。 ところで、こうしたWebによる情報発信・閲覧の仕組みの結果、一個人が接することのできる情報の 種類や量を飛躍的に増大させた。何か調べたいことがあれば、検索サイトでキーワードを入力するだけ で、かなりの確率で欲しい情報を手に入れることができる。さらに検索サイトの機能強化も進んでおり、 複数言語間での翻訳や衛星写真による地図サービス、さらにWebによる文書処理・表計算機能の提供な ども始まっている。 現代社会は「情報社会」と呼ばれるが、情報社会では入手した情報が信頼できるかどうかの判断が難 しい。情報へのアクセスの容易さとは裏腹に「不確実性の増加」が現実のものとなる。かつで、シャノ ンらは「ある体系が一定量の不確実性を持っているとき、この不確実性の量を減らす役割を持つものが 情報である」とし、こうした不確実性を一つ減らすものを1ビットの情報であると定義した。この結果、 情報を定量的に扱うことがでるようになったのであるが、こうした考えの出発点が「不確実性」である ことは興味深い。 各種の情報が飛びかう情報社会の進展はWebによる情報の発信・閲覧という仕組みに負うところが大 きいが、情報の不確実性も確実に高まっていることを常に意識しておく必要がある。Webは情報世界の 「眺め」が素晴らしいことを実感させてくれるが、その眺めに虚実が混在していることをWebが気づか せてくれるわけではない。インターネット世代と呼ばれる若者には、こうしたWebの功と罪についての 適切な教育が一層重要になってこよう。大学入学者の情報リテラシー:その現状と情報基礎教育の今後
― プレイスメントテスト結果による情報リテラシー分析に基づいて ―
中
野
彰
Akira NAKANO 情報教育研究センター研究員 日本語日本文学科教授
Information Lireracy of the New Students : The Current state and Analysis Based on the Result of Placement Test on Information Lireracy
1.はじめに 大学等における情報基礎教育のあり方を考えるにあ たり、2006年度入学者の情報リテラシーの分析は重要 である。その理由は、2006年度高等学校卒業者は原則 的には全員が高等学校で「情報科」を履修しており、 そのことによって大学入学者の情報リテラシーが前年 に比較して大きく変化している可能性があるからであ る。事前の予想としては、「あまり大きな変化はない」 という見方や、「リテラシーの二極分化が進む」とか、 「全体にリテラシーの向上が見られる」、などの様々 な見方が存在していた。 情報科履修が入学者の情報リテラシーに与えた影響 だけでなく、これからの情報教育のありかたを探る上 でも大学入学者の情報リテラシーについての調査は重 要である。本研究では、プレイスメントテストを実施、 分析することにより、本年度大学入学者の情報リテラ シーの様相とともに、情報科履修の影響、中でも普通 教科情報の科目選択の影響を知ることができた。これ らについて報告する。 2.大学入門期の情報リテラシー 本研究では、情報リテラシープレイスメントテスト を作成、実施、分析・考察を行った。 本学独自のプレイスメントテストは、2004年度から 作成・実施しているが、2005年度からは40問題の共通 問題を設定し、入学生の情報リテラシーの経年的な変 化を確認できるようにしている。 プレイスメントテストは、eLearningのシステム (WebCT)によって受験者に提供することにしてい る。本学のように毎年3000人弱もの入学生がある場合、 入学者全員を対象とするプレイスメントテストでは、 eLearningシステムによる出題、受験、解答の回収と 採点は不可欠である。 プレイスメントテストの概要については次の通りで ある。 É問題数80問。その内、前年度との共通問題は40問。 É回答方法はすべて選択肢による。(5肢選択で、5 番目の選択肢を「わからない」とする。) ÉeLearningシステム(WebCT)で出題。回答機会 は1回のみとした。 テストは次の通り実施した。 É実施日時:2006年4月10日(月)∼4月14日(金) É対 象:本学2006年度入学生 É受験人数:2006年度の本学新入生全員を対象として 実施した。受験者は2853人 (9名の再履修者を含む) テスト結果の分析については、全体的な傾向の分析、 昨年度のプレイスメントテストとの比較による入学生 の経年的な変化、入学生が高等学校時代に履修した情 報科の教科による特徴、および出題した問題の妥当性 と信頼性についての検討を行った。 3.プレイスメントテストの検討 ò 1 プレイスメントテストの構成 プレイスメントテストにおける学習目標の構成は、 おおむね次のような考え方に基づいて行っている。 É学習目標の設定 学習目標の設定は、①情報科の教科書の分析、②学 習指導要領の分析、③一般的な情報リテラシーとして のパソコン検定試験(P検)の分析を合成し、その中 から、本学の基礎的情報処理カリキュラムである「情 報活用の基礎」の学習内容・学習時間によって重み付 けを行っている。 情報科の目標分析、学習指導要領の分析、一般的情 報リテラシーを含めて設定した学習目標を図1に示す。 図1 学習目標の目標数 コード 大 項 目 中目標数 目 標 数 01 情報と社会 6 42 02 コンピュータ基礎 9 135 03 ネットワーク 7 81 04 セキュリティと情報モラル 6 61 05 情報科学の基礎 9 105 06 ワープロソフト 8 45 07 表計算ソフト 11 68 08 データベース 4 27 09 プレゼンテーション 8 35 合 計 68 599
図1には大項目の内容とそれぞれの目標数のみ示しているが、最終的な目標である学習目標レベルのリスト約600項 目が完成している。 図2には、コード01の「情報と社会」の目標リストについての学習目標のリストを示している。 図2 「情報と社会」の目標リスト 分類 中 項 目 コード 目コード標 学 習 目 標 g111 01 「情報」とは何かが理解できる g141 02 身近な情報機器にどういうものがあるかが分かる g142 03 身の回りの事例を通して、情報と生活の関わりについて調べる 101 情報社会 g142 04 社会が情報化されることによる、身の回りの生活の変化について理解する g342 05 IT革命の意味がわかる L128 06 情報社会とはどのような社会かわかる g122 07 確実な情報伝達網を確立するために、様々な工夫や技術があることを理解する g112 01 コンピュータは、機能などの違いにより様々な目的に使われていることが分かる g122 02 情報機器を利用することにより情報をより効果的に活用できることがわかる 102 コンピュータ の利用 g141 03 身の回りにある器具の中でコンピュータが入っているものを指摘することが出来る g312 04 各種情報機器の機能と特性をあげることができる g221 01 デジタルとアナログの違いがわかる g311 02 身のまわりのディジタル器具を理解する 103 デジタルと アナログ g312 03 ディジタル化した情報の特徴を説明できる g312 04 ディジタル情報機器の特性を理解する g312 05 ディジタル情報を記録できる機器や媒体を挙げることができる g111 01 問題を明確化することができる g111 02 具体的な問題解決活動を通してその方法や工夫を理解する g111 03 問題解決の基本的な手順が分かる(問題の発見、分析、解決) g111 04 調査すべき情報をリストアップすることができる g111 05 問題解決のために、情報を収集することができる g332 06 情報の整理・分析の手順がわかる g122 07 情報の収集から発信までの手順や方法を調べ、情報活用の計画を立てる 104 問題解決と 情報収集 g121 08 複数の情報収集手段から目的に合ったものを選択ことができる g111 09 問題解決のために、情報の整理・分析をすることができる g123 10 収集した情報を適切な方法で整理・分析することの重要性を理解している g111 11 問題解決のために、解決案を検討することができる g112 12 複数の情報伝達やメディアから目的や対象に合ったものを選択ことができる g111 13 情報機器を適切に活用して問題解決を効率よく行うことができる g111 14 問題解決の手段に情報機器を使うべきかどうか検討できる g121 01 情報収集の一手段としての取材活動の役割を理解している g121 02 情報を効果的に収集するために、基本的な検索の仕方を理解する g121 03 調査、観察などを計画実行するときの方法と注意点を知っている 105 情報収集 g121 04 調査、観察など実際の現象に直接触れる方法を目的に応じて使い分けることができる g121 05 情報源を目的に応じて使い分けることができる g121 06 情報通信ネットワークやデータベースなどを活用して、情報を効率的に検索・収集できる g112 01 情報を分かりやすく伝えるとはどういうことかを理解する g112 02 情報をうまく伝達するために、表現方法を工夫することができる 106 情報伝達 g122 03 電話や手紙のマナーや習慣を、情報伝達の観点から整理できる g122 04 情報の効率的な発信や共有のために、工夫や取り決めなどが必要なことを理解している
図1の目標を本学カリキュラムにおける取り扱いに よって重み付けを行い出題比率を決めている。この出 題比率をガイドラインとして問題を作成することに した。 図3 目標別出題比率 コード 目 標 出題比率 01 情報と社会 5% 02 コンピュータ基礎 20% 03 ネットワーク 10% 04 セキュリティと情報モラル 10% 05 情報科学の基礎 10% 06 ワープロソフト 15% 07 表計算ソフト 15% 08 データベース 5% 09 プレゼンテーション 10% 合 計 ò 2 共通問題 2005年度プレイスメントテストを分析し、問題の信 頼性、妥当性に問題があると考えられる問題を除く40 問題を共通問題として2006年度以降も継続的に出題す ることにした。信頼性の基準として相関係数と正答率 をそれぞれ、0.15以下、10未満または90以上と設定した。 相関係数の低かった学習目標は次の通りである。 É問39 関数を利用することができる É問38 計算式をコピーして利用することができる É問40 関数を利用することができる É問13 検索方法を説明できる 平均点の高すぎる目標は次の通りである。 É問48 チェーンメールへの対処方法を説明できる É問50 著作権とは何かを説明できる É問47 パスワード管理の重要性を理解している É問45 コンピュータウィルスの感染時の対処方法を 説明できる 平均点の低すぎるものをあげる。 É問7 ファイルとフォルダの違いを説明できる É問3 出力装置の例を挙げることができる これらの問題と解答傾向を検討してみることによっ て、問題の信頼性・妥当性が得られなかった原因を検 討した。その結果、次のような問題点が考えられた。 É問題が単に難しすぎたり易しすぎたりしたもの É学習目標が多肢選択という解答形式になじまない もの É問題の表現や内容に誤解を生む可能性があるもの これらはそれぞれの原因に応じて、問題を作成し直 したり、同一大項目中の別の学習目標に属する問題に 変更することによって対応した。 ò 3 新規作成問題の予備調査 2005年度プレイスメントテスト50問題のうち、40問 題を共通問題とした。残りの10問題は作成し直し、さ らに、図3の出題比率に対応できるように多数の新規 問題を作成した。 プレイスメントテストは原則的に次のような手順で 作成している。プレイスメント作成グループとは日文 学科言語情報系ゼミの学生8名で構成されている。 ① 粗問題の作成 プレイスメント作成グループの一人一人が大項目 に相当する学習目標を分担し、オリジナルな問題を 作成する。 ② 粗問題の検討 プレイスメント作成グループで、それぞれが作成 した問題を全員で実際に解答してから、1問ずつ妥 当性や表現についてディスカッションしていく。問 題点が見つかったものは作成者に差し戻す。 ③ 問題、選択肢の修正 作成者に差し戻された問題は、必要な修正を行っ て再度サーバーにアップする。 ②と③を何度か繰り返す。 ④ 予備調査の実施 4∼50名の規模で、②と③の作業を経た問題を 使ってテストを行う。その際に、正誤データ以外に 全員から各問題についての難度やそのほかの印象を アンケート形式で収集する。2006年度実施のプレイ スメントテストにかかわる予備調査は、大食1D・ 短教1Dに協力をいただいた。 ⑤ 問題データベースに加える 予備調査の結果使用可能と判断された問題のみを 新たに問題データベースとして追加する。今回は共 通問題として40題を用意しているので、さらに新規 問題40題の追加を行う。 前項④で予備調査を実施しているが、本年度のプレ イスメントテストについては次のような内容で行った。 É予備調査の対象:大学食物栄養学科1年D組(有 効標本数37)および、短期大学教育学科1年D組 (有効標本数40) É実 施 日:2005年12月 É実施方法:eLearning Éアンケート回答方法:Web(CGI)による 次の図4に予備調査の結果データを、図5にアン ケート項目をそれぞれあげる。
図4 予備調査の結果データ(短教の一部) 正答率(%): 解 答 頻 度 No. 総数 弁別力 全体 上位 25% 下位 25% − a b c d e 1 40 32 60 8 0.47 0 5 3 6 13 13 2 40 15 40 8 0.52 1 2 7 6 11 13 3 40 15 30 0 0.39 1 10 6 3 6 14 4 40 25 30 8 0.25 0 4 10 11 13 2 5 40 32 40 16 0.34 1 16 1 13 9 0 6 40 7 20 0 0.42 1 4 3 3 3 26 7 40 17 40 8 0.44 1 7 9 12 1 10 8 40 7 10 8 0.37 0 3 1 31 1 4 9 40 30 60 16 0.43 1 2 2 17 12 6 10 40 62 80 50 0.32 0 1 7 5 25 2 図5 アンケート項目 プレイスメントテスト予備調査 このアンケートはプレイスメントテストの問題に対する評価をお 願いするものです。選択ボタンについてはすべて答えてください。 気がついたことがあれば、自由記述欄にも書いていただけるとあ りがたいです。短教1Dの皆さんのご協力に感謝します。 【項目1】氏 名 【項目2】あなたは高校までに「情報」に関する授業を受けましたか? ä受けなかった äよくわからない ä受けた 【項目5】問題01に対するコメント 【項目6】問題として修正の必要がありますか? ä修正した方がいい äこのままでよい 【項目7】難しさはどうですか? ä難しすぎる äやや難しい äどちらでもない äやや易しい ä易しすぎる 予備調査結果に基づいて、問題作成グループには Webで修正点を指示し、掲示板を使ってディスカッ ションを行った。 図6 予備調査に基づいた問題作成グループへの指示(短教の一部) 問題番号 妥当か? 具 体 的 指 摘 事 項 問題1 × 答えが複数考えられる。 bは精神的ストレスでないのでOK。dは聞いたこ とがないので… 問題2 × 答えが複数考えられる b、cともに正解のように見える。 dの意味が不明。 問題3 × 答えが複数考えられる(b、c) bは文の前半と後半で別のことを説明している dの意味が不明。 問題4 × 答えが複数考えられる(b、c、d) 問題5 ○ 問題6 ○ 問題7 ○ 問題8 △ “ネットワークにおいて、コンピュータなどの通 信機器が…”とすればよくわかる 問題9 × 答えは一般的にはdだけど、プライベートIPの場 合は同じアドレスが存在する。 bが唯一無二だけど問題文が少しあわないかも。 問題10 △ “パソコンからWWWサーバにファイルを送った り、ファイルサーバに転送することを何という か。”にしてはどうでしょう。 これらの予備調査に基づいて、筆者から問題作成グ ループに宛てた指示の例を図6に示す。これらはすべ てWeb上で行っている。 予備調査で得られたデータ(正答率、弁別力、感想 −難度、自由記述)をもとに再度問題を作成し、妥当 と思われるもの40題を選択した。 4.結 果 ò 1 全体的な傾向 図7に本年度実施したプレイスメントテストのヒス トグラム、図8に概要データをあげる。 図7 2006年度テストのヒストグラム 図8 2006年度テスト結果の概要 サンプル数 2,853 平 均 値 41.66 最 小 値 0 最 大 値 79 分 散 161.75 標 準 偏 差 12.72 変 動 係 数 0.31 適合度の検定 **:1%有意 *:5%有意 x2乗値 自由度 P 値 判 定 30.80 13 0.0036 ** 図7,8は、共通問題40題に、新規問題40題を加え た80問題の結果である。ヒストグラムを見ると、事前 の予想と異なりかなり一様に得点が分布していること がわかる。図8からも、平均点41.6に対して、標準偏 差12.7であり、適合度の検定結果からもかなり、まと まった結果が得られたと考えられる。 次の図9には、昨年度実施したプレイスメントテス トのヒストグラム、図10にその概要データをあげる。
図9 2005年度テストヒストグラム 図10 2005年度テスト結果の概要 サンプル数 2,700 平 均 値 41.17 最 小 値 0 最 大 値 90 分 散 207.38 標 準 偏 差 14.40 変 動 係 数 0.35 適合度の検定 **:1%有意 *:5%有意 x2乗値 自由度 P 値 判 定 107.97 16 0.00 ** 2005年度のプレイスメントテストは、50問題の構成 であるが、2006年度の問題とは40問題が共通である。 図10のデータからは顕著な特徴が見られないが、図9 のヒストグラムからは、分布にややばらつきが見ら れる。 2005年度と2006年度では、共通問題が40問題あると は行っても全く同じものではないので、これらのデー タからテストを受けた学生の情報リテラシーを比較・ 判断することは出来ない。これらの比較には共通問題 だけを用いる必要がある。 ò 2 情報リテラシーの変化 ここでは、2005年度プレイスメントテストと2006年 度プレイスメントテストのうち、40問の共通問題のみ についての比較を行う。次の図11、図12には、2006年 度のヒストグラムと数値データ、図13、図14には、 2005年度のヒストグラムと数値データをあげる。 図11 2006年度のヒストグラム(共通問題) 図12 2006年度の数値データ(共通問題) サンプル数 2,853 平 均 値 46.36 最 小 値 0 最 大 値 90 分 散 215.89 標 準 偏 差 14.89 変 動 係 数 0.32 適合度の検定 **:1%有意 *:5%有意 x2乗値 自由度 P 値 判 定 49.47 16 0.00 ** 図13 2005年度のヒストグラム(共通問題) 図14 2005年度の数値データ(共通問題) サンプル数 2,700 平 均 値 39.76 最 小 値 0 最 大 値 90 分 散 232.66 標 準 偏 差 15.25 変 動 係 数 0.38 適合度の検定 **:1%有意 *:5%有意 x2乗値 自由度 P 値 判 定 45.73 16 0.00 ** 2005年と2006年のヒストグラムを比較すると、得点 はほぼ一様に分布しているものの2006年の方がやや高 得点になっていることがわかる。値からも、平均値が 39.76から46.36へ上昇している。標準偏差、変動係数 ともに大きな差はないもののむしろ、2006年が小さく なっていることから、2005年に比較して2006年につい て、次のようなことが言える。 É成績の向上が見られる。 Éばらつきが減少している この両者のテストを通じて、本学2005年と2006年入 学生を標本として、2005年と2006年の受験生を母集団 とする情報リテラシーの差を検討してみたい。独立し た異母集団の平均値の差の検定をWelchの方法で行っ た結果を図15に示す。
図15 2005,2006年受験生の情報リテラシー 変 数 2005年度 2006年度 差 サ ン プ ル 数 2,700 2,853 平 均 値 39.76 46.36 6.61 不 偏 分 散 232.75 215.97 標本標準偏差 15.26 14.70 0.56 T検定(Welchの方法) 統 計 量 : t 16.42 自 由 度 5503.93 両 側 P 値 0.00 ** 片 側 P 値 0.00 ** 図15に見るように、母集団を受験生全体とした場合、 両側検定でもt値は16.42であり、dfは十分に大きいた め∞と仮定すると、0.005の有意水準であるt=2.807 よりはるかに大きい。従って、この2回のテストから、 平均点の差6.61が0.5%の水準で有意である事が明ら かになった。つまり、2006年の受験生が2005年の受験 生より情報リテラシーが明らかに向上しているという ことになる。 ò 3 問題別、カテゴリ別の変化 次ページの図16に、2005年と2006年のプレイスメン トテストで対応する各問題の平均点の差と、それらを カテゴリ別にまとめたデータを示す。 平均点上昇の項目で▲をつけたデータは平均点が降 下したものである。降下した問題は2問題で、いずれ も大きな変化ではなかった。これ以外の問題について は平均点が上昇していることがわかる。 a.カテゴリ別平均点の検討 平均点が10点以上上昇している問題が、40問中9問 題、15点以上でも4問題もあった。平均点が著しく上 昇している問題をカテゴリ別に見ていくと、「コン ピュータ基礎」が最も多く7問中5問、「ワープロ」 が6問中2問(9.9%も含めると3問)「情報科学」と 「ネットワーク」が各1問ということになる。 従来の教育課程ではコンピュータの仕組みや周辺装 置などについて系統的に学習する場面がなかったこと を考えると、「コンピュータ基礎」の平均点の上昇は、 教科「情報」の学習が大きく寄与しているものと考え られる。 一方、「セキュリティ」や「情報社会」については 平均点の上昇が鈍い。「セキュリティ」の平均点上昇 は2.8点であるが、平均点そのものが75.8点と高いの で、高校段階での指導の結果が平均点の上昇に現れに くかったと考えられる。「情報社会」は、情報化の進 行とともに変化する社会システムの現状を理解すると いう内容であるが、カテゴリの平均点が66.1で平均点 の上昇は2.6にとどまっている。後の項で検討するが、 セキュリティとともに、情報科の科目選択、あるいは 高等学校での指導のばらつきがあるのではないかと見 られる。この内容は、「私たちの生活と情報」や「み んなで作る情報社会」などという単元名でほとんどの 高等学校の「情報科」教科書は扱われている。 b.個別の問題についての検討 「コンピュータ基礎」のカテゴリでは、問8につい ても9.3%の平均点上昇という大きな変化があるが、 問11については、2.2%の上昇しかない。 問11 一般のユーザがデータを書き込むことがで きない記録媒体はどれか。 CDROMに関する知識を問う問題であるが、DVD を含めた光記憶媒体の正確な知識(読み出し専用媒体、 追記式媒体、書き換え可能媒体)が整理されていない ようである。情報科の教科書における記述も、CD ROMやDVDROMなどの説明はあるが、それに対す る、CDRやRWなどは十分に説明されていない。ま た、科目によっては読み出し専用、追記式、書き換え 可能の区別を十分に扱っておらず、ばらつきはやむを 得ないと思われる。 一方、平均点が下がっている2つの問題(問33− 0.7%降下、問50−3.8%降下)についてみてみる。 問33 情報の信頼性に関する記述で正しいものは どれか。 新聞やテレビの情報でも常に信用できるとは限らな いという、メディアリテラシーに関する問題であるが、 もともと正答率が大変高い問題であるので、平均点の 下降は問題にならない。この問題については、情報科 では各科目で大きく取り扱うということはなく、情報 科履修による影響というよりも、情報社会の常識とし て働いていると考えられる。
図16 2005,2006年の対応する各問題の平均点の差 2005 年 度 2006 年 度 番号 カ テ ゴ リ 上 昇 問 平均点 ?割合 問 平均点 ?割合 1 問1 45.0 21.7% 問2 50.8 22.2% 5.8 2 情報社会 問2 75.2 4.9% 問3 76.9 5.9% 1.7 3 問3 70.2 9.7% 問6 70.6 7.6% 0.3 4 問4 60.9 20.4% 問7 78.0 10.3% 17.0 5 問5 27.9 33.6% 問8 37.2 30.5% 9.3 6 問7 29.7 9.4% 問9 41.5 9.1% 11.8 7 コンピュータ基礎 問8 35.8 17.8% 問10 55.1 15.6% 19.3 8 問9 15.5 16.5% 問11 17.7 14.3% 2.2 9 問10 23.7 30.7% 問21 34.3 26.0% 10.6 10 問11 39.3 18.9% 問20 57.9 15.5% 18.6 11 問12 28.9 46.0% 問22 42.6 38.9% 13.7 12 問14 68.4 15.9% 問23 76.7 10.0% 8.3 13 問15 12.9 15.7% 問25 14.3 12.9% 1.4 14 問16 17.1 5.1% 問26 19.5 5.9% 2.4 ネットワーク 15 問17 43.1 9.4% 問27 49.7 7.8% 6.6 16 問18 41.4 19.6% 問28 46.7 18.1% 5.3 17 問19 28.0 43.4% 問29 27.9 43.2% ▲ 0.0 18 問20 66.0 5.9% 問30 72.2 5.5% 6.2 19 問21 75.6 2.8% 問31 83.7 2.8% 8.1 20 問23 74.1 8.7% 問32 75.3 8.8% 1.2 セキュリティ・倫理 21 問24 87.2 3.0% 問33 86.5 3.6% ▲ 0.7 22 問25 55.0 14.7% 問34 57.8 15.4% 2.8 23 問27 45.8 15.2% 問35 60.2 9.0% 14.4 24 問28 24.8 34.9% 問36 26.7 32.0% 1.9 情報科学 25 問29 20.3 54.5% 問37 29.0 41.8% 8.7 26 問31 22.5 30.0% 問38 25.0 35.2% 2.5 27 問32 27.4 29.9% 問39 30.4 28.0% 3.0 28 問33 71.3 16.3% 問40 89.3 3.1% 18.0 29 問34 31.6 7.4% 問41 37.3 7.5% 5.7 ワープロ 30 問35 27.7 16.6% 問42 37.6 11.4% 9.9 31 問37 43.1 26.0% 問43 56.3 17.2% 13.2 32 問38 38.5 21.9% 問44 44.3 17.8% 5.8 33 問40 18.6 30.0% 問45 24.7 25.4% 6.1 34 問41 20.1 35.9% 問46 28.4 21.6% 8.3 35 問42 22.1 27.3% 問47 25.4 25.4% 3.3 36 問43 54.8 34.3% 問48 63.0 19.2% 8.2 表計算とデータベース 37 問44 16.3 54.7% 問49 25.0 40.0% 8.8 38 問46 12.3 32.8% 問52 15.0 39.5% 2.7 39 問49 21.8 2.6% 問50 17.9 2.5% ▲ 3.8 40 問50 50.4 10.7% 問51 55.9 5.6% 5.5
平均点も低い上に、平均点が下降した次の問題につ いては、選択肢と選択肢を選択した割合を( )内 に示す。 問50 栄養のバランスを比較するのに適したグラ フはどれか。 a. 円グラフ (59%) b. 棒グラフ (16%) c. 折れ線グラフ (4%) d. レーダーチャート(18%) e. 分からない (3%) この問題は平均点が下降しているだけでなく、正答 率が18%しかない。解答傾向を見ると、円グラフの選 択が高く、構成比を見るための円グラフ、バランスを 見るためのレーダーチャートというグラフ表現の知識 が不十分であることがわかる。 本プレイスメントテストでは、各問題とも5番目の 選択肢に「わからない」という項目を設定している。 「わからない」と答えることが成績等何にも影響しな いことを十分伝えていたので、2005年度、2006年度と もに学生たちは自由にこの項目を選択している。その 結果、ほとんどの設問について、「わからない」が減 少していることがわかった。特に、次の問題が大きく 減少している。 問7(50.7%)インターネットのWebページを 閲覧するためのソフトウェアを何というか。 問51(52.5%)表計算ソフトで矢印が図のような 形のとき、どのような操作ができるか。 問48(56.0%)表計算ソフトで平均を求める関数 はどれか。 問35(59.4%)コンピュータで扱われるデータ量 の単位のうち、一番大きい単位はどれか。 問23(62.5%)URLの説明として正しいものは どれか。 個別に問題についての分析は行わないが、「ブラウ ザ」というソフトウエアの名称や、表計算ソフトの授 業での活用、データ量の単位についての知識、URL という用語についての知識など、「情報科」の学習の 影響が読み取れる。 ò 4 情報科履修による影響 教科「情報」には、普通教科として、「情報A」「情 報B」「情報C」の3科目があり、専門教科「情報」 には、「情報と職業」など11科目が存在する。一般的 には、普通高校や総合科などでは普通教科「情報」を、 商業科などの職業系の学科・学校では、専門教科「情 報」を開講している。従って、学生が卒業した高等学 校によって、科目選択は多様である。 情報科の履修科目の状況については今回実施したプ レイスメントテストの中で調査している。その結果を 次の図17に示す。 図17 情報科の履修状況 図17からは、情報科の履修については、情報Aが最 も多く、全体の半分近くを占めており、情報BはAの 4分の1、情報Cはさらにその半分しかないことがわ かる。自分がどの科目を履修したのか、あるいは科目 そのものの履修についても理解できていない学生が22 %いることは、高等学校での指導のあり方をうかがう 数字として注目に値する。 「情報A」「情報B」「情報C」の履修とプレイスメ ントテストの結果のクロスデータを図18に示す。この 表からは次のようなことが読み取れる。 なお、この表において太枠で囲んだ数値は他の数値 に比較し、顕著に高いものである。 ① 情報Aの履修者は他の科目の履修者に比較して高 得点を得たカテゴリがない。 ② 情報Bの履修者は、「コンピュータ基礎」「情報科 学」「表計算とデータベース」のカテゴリの得点が 高い。 ③ 情報Cの履修者は、「情報と社会」「コンピュータ 基礎」「ネットワーク」「モラルとセキュリティ」 「情報科学」など、多くのカテゴリで得点が高い。 これらを解釈すると、情報Bまたは情報Cを選択す る高等学校では選択に強い意志やこだわりがある場合 が多くそのことが指導に現れている、と考えることが できる。一般に、高等学校での科目選択は情報活用の 実践力を重視する情報Aに偏っている現実があるから である。
図18 クロスデータ(情報科履修科目と各問題の平均点) № 情報A履修者 情報B履修者 情報C履修者 問2 52.8 47.4 50.5 問3 1 情報と社会 77.7 66.6 77.5 66.4 82.3 70.4 問6 69.3 74.3 78.3 問7 79.6 75.7 84.8 問8 37.8 43.9 46.5 問9 39.5 49.1 44.4 問10 2 コンピュータ基礎 54.5 43.5 60.4 50.1 56.6 48.3 問11 18.7 17.6 18.7 問21 34.0 46.5 32.3 問22 40.5 57.2 54.5 問20 56.2 65.9 66.2 問23 78.8 74.3 85.4 問25 14.5 13.6 17.2 問26 3 ネットワーク 18.9 42.5 18.8 42.9 24.7 46.8 問27 52.1 52.6 55.6 問28 47.5 48.0 48.5 問29 29.4 27.5 30.3 問30 72.5 68.2 77.3 問31 85.0 82.4 89.9 問32 4 モラルとセキュリティ 75.7 75.9 72.8 73.1 81.8 79.9 問33 87.2 84.1 87.9 問34 59.1 57.8 62.6 問35 58.9 66.2 72.7 問36 16.8 19.7 17.7 5 情報科学 33.0 36.8 38.5 問37 30.7 32.1 35.4 問38 25.5 29.2 28.3 問39 30.3 34.7 31.3 問40 91.1 91.0 89.9 問41 37.7 36.1 40.9 6 ワープロ 50.4 52.9 49.3 問42 37.9 43.9 36.4 問43 59.7 61.0 56.6 問44 45.5 50.9 40.9 問45 25.7 29.5 29.8 問46 29.4 34.4 26.8 問47 25.6 31.8 25.8 問48 65.7 67.9 61.6 7 表計算とデータベース 32.7 36.8 31.4 問49 26.0 29.8 23.7 問50 16.9 19.4 17.7 問51 58.1 57.8 52.0 問52 14.3 24.0 14.1 5.結 論 プレイスメントテストを実施した結果から、次のよ うな結論を得た。 第1に、2006年の受験生は2005年の受験生より情報 リテラシーが向上していることである。 プレイスメントテスト全体についてもそうであるが、 共通問題について、平均点が向上し、標準偏差、変動 係数ともに2005年に比較してが小さくなっている。お おむね各問題とも平均点が上昇したが、特に「コン ピュータ基礎」「ワープロ」に関するものが顕著であ る。特に「コンピュータ基礎」の平均点の上昇は、教 科「情報」の学習が大きく影響しているものと考えら れる。 第2に、情報Aに比べてB,Cの学習者が得点が高 いことも明らかになった。 情報Bの履修者は、「コンピュータ基礎」「情報科学」 「表計算とデータベース」で、情報Cの履修者は、 「情報と社会」「コンピュータ基礎」「ネットワーク」 「モラルとセキュリティ」「情報科学」など、多くの カテゴリで高得点である。これらのカテゴリはそれぞ れの科目の学習内容と一致しており、平均点の上昇は 科目選択の結果と考えられる。 6.課 題 テストの作成に関しては、まだ多くの課題がある。 その一つは、信頼性・妥当性の高いテストの開発であ る。今回の共通問題以外のテストも含めてIRTの技法
を用いてテストの信頼性を確保し、活用できるテスト のデータベース化をはかる必要がある。情報リテラ シーのうち、機器を操作する能力に関しては、実際に 操作する力をプレイスメントテストとの関連について も検証が必要である。 第二に、テスト作成のためのシステム化である。今 回、テスト作成チームから予備調査にいたる作業が時 間に追われながら進めざるを得なかった。これらを チャート化しそれぞれに負担の少ない無駄のない方法 を開発して行かなくてはならない。 さらに、情報科履修とテスト結果との関連を明確に しなければならないと考えている。今回の調査では、 可能な限り客観的にテスト結果を扱ってきたが情報科 履修との関連についてはクロス集計をカテゴリ別に見 てきたにすぎない。それぞれの科目の学習内容とテス ト結果との関連をもう少し丁寧に見ていきたい。 【参考文献】 1)文部科学省 2002 情報教育の実践と学校の情 報化 2)大岩元ら 2002 大学等における一般情報処理教 育のあり方に関する調査研究 情報処理学会 3)山内祐平 2003 デジタル社会のリテラシー 岩 波書店 4)若山芳三郎 2001 学生のための情報リテラシー 東京電機大学出版会 5)菊沢正裕ら 2001 情報リテラシー 森北出版
Java3Dによる3次元グラフィックスその2
福
井
哲
夫
キーワード :3次元グラフィックス、Java3D、視覚化、情報処理教育Tetsuo FUKUI 情報教育研究センター研究員 情報メディア学科教授 Educational pointⅡ for 3D computer graphics programming by Java3D
1.はじめに 2005年度に、中級段階のプログラミング教育として、 希望の多かった3次元グラフィックスの本学学生向け 教育プログラムの提案を行い7)、後期に情報に関する 応用演習の科目にて指導を行った。 指導内容は文献7)でまとめた3次元グラフィック スの基本であり、基本図形(プリミティブ)の生成、 色や光沢などの質感、物体の配置方法などであった。 受講者は18名、指導はねらい通り進み、簡単なシーン を作ることができるようになった。提出された自由課 題作品をみると、動物や花、文具や玩具、机、灯籠な ど多岐にわたり、特に色使いは見事であった。ただし、 レポートの感想によれば、座標変換を使った物体の配 置や変形が難しかったようで、平行移動はできてもス ケール変換や回転変換を使いこなせない学生もみられ た。それでも、指導内容を絞り込み、例題を工夫した おかげで演習は楽しく取り組むことができたとの評価 を得た。 さて、演習によって理解が進んだ学生の次なる要望 はリアルな表現の手法である。本稿ではその続きとし て、Java3D1),2)における任意形状の生成やイメージ 画像を物体表面に貼付ける質感表現の方法を紹介する。 今回も例題など広内哲夫氏の文献5)を大いに参考 にした。記して謝意を表す。 2.任意形状の作成 2.1 Shape3Dクラス 文献7)で説明したように、3Dグラフィックスの三 要素はå物体、å視点、å描画面である。この物体を 表現するための任意形状を定義するにはShape3Dク ラスを使う。さらに、Shape3Dクラスは 1)形を記録するGeometryクラスの集合と、 2)質感を記録するAppearanceクラス によって定義される。 物体の色や光沢、透明度などの質感表現については 文献7)で説明した。壁紙のようなさらに高度な質感 の表現方法は第3章で説明する。本章では、任意形状 の生成方法を中心に解説する。 まず、Shape3Dのコンストラクタおよびメソッド についてまとめておく。Shape3Dオブジェクトは シーングラフのしかるべき配置にある座標系クラス TransformGroupに接続できる。 [Shape3Dのコンストラクタ] Shape3D() Shape3D(Geometry geom)
Shape3D(Geometry geom, Appearance ap)
[Shape3Dのメソッド]
一つの物体に(同じ質感で)複数の形状を組み合わ せて定義することができる。
表1 Shape3Dの形状追加・挿入・削除・置換 void addGeometry(Geometry geom) 形状を追加 void insertGeometry
(Geometry geom, int index) 形状をindex番目に挿入 void removeGeometry(int index) 形状列のindex番目
を削除 void setGeometry(Geometry geom) 0番目に置換 void setGeometry
(Geometry geom, int index) index番目に置換
2.2 GeometryArrayクラス 形状を点、線、面によって簡易に表現するクラスで ある。実際には以下のような継承クラスを使って、目 的に合わせて点集合、線分集合、三角面集合、四角面 集合による形を定義する。 ò 1 点集合体 [PointArrayクラス] 三次元空間上にある点の集合を表現したいときに使 う。コンストラクタは次である。 PointArray(int 頂点数,int 頂点の形式フラグ) 点集合体を定義する手順は次のようになる。実際の プログラム例をリスト1に示す。このプログラムは以 後の線分集合体、面集合体の頂点定義の基本にもなっ ている。
[点集合体の作成手順] P-① 点集合の頂点座標配列を作成する。 P-② 点集合体クラスを生成。 (頂点数、頂点の形式フラグ(表2)を指定) P-③ 点集合体クラスに頂点座標配列を設定 P-④ 各頂点色を設定(省略時は白) P-⑤ 点集合体によるShape3Dクラスを生成 表2 頂点の形式フラグ GeometryArray. COORDINATES 頂点座標を使用 GeometryArray. COLOR_3 頂点色にRGB使用 リスト1 6点集合体の作成例 /* P-①頂点座標配列を作成 */ Point3d[] vertex=new Point3d[6]; vertex[0]=new Point3d(0.8, 0.0, 0.4); vertex[1]=new Point3d(0.3, 0.8, 0.0); vertex[2]=new Point3d(0.2, 0.7, 0.2); vertex[3]=new Point3d(0.7, 0.0, 0.8); vertex[4]=new Point3d(0.5, 0.3, 0.0); vertex[5]=new Point3d(0.5, 0.6, 0.0); /* P-②点集合体クラスを生成 */ PointArray geom=new PointArray(
vertex. length,
GeometryArray. COORDINATES| GeometryArray. COLOR_3 );
/* P-③点集合体クラスに頂点座標配列を設定 */ geom. setCoordinates(0, vertex);
/* P-④各頂点ごとに色を指定 */
geom. setColor(0, new Color3f(Color. green)); geom. setColor(1, new Color3f(Color. cyan)); geom. setColor(2, new Color3f(Color. orange)); geom. setColor(3, new Color3f(Color. white)); geom. setColor(4, new Color3f(Color. red)); geom. setColor(5, new Color3f(Color. red));
/* P-⑤作成したGeometryを元に点集合体を生成 */ Shape3D shape=new Shape3D(geom);
2)線分集合体 空間上の曲線や運動の軌跡などを表現するには線分 集合体クラスを使う。定義方法の違いによって4通り のクラスが用意されている(表3)。 [LineArrayクラス] 線分集合体の定義の仕方は点集合体のP-①∼⑤と ほとんど同じ手順でよい。ただし、LineArrayの場合 は頂点は必ず偶数でなければならない。実際のプログ ラムも、リスト1のP-②のみをリスト2のように変 更するだけでよい。このとき、線分(頂点対)[4]-[5] は赤であるが、[0]-[1]、[2]-[3]は頂点色が異なるの でその色間のグラディエーションになる。 表3 線分集合体の4つのクラス LineArray(int , int) 線分(頂点対)集合
IndexedLineArray(int, int, int) 頂点集合と線分の頂点対番号 LineStripArray(int, int, int[]) 連続線分集合
IndexedLineStripArray (int, int, int, int[]) 頂点集合と連続頂点番号 リスト2 線分集合体の生成例
/* P-②線分集合体クラスを生成 */ LineArray geom=new LineArray(
vertex. length, GeometryArray. COORDINATES │ GeometryArray. COLOR_3 ); [IndexedLineArrayクラス] この線分の定義は頂点座標配列とは別に、index番 号の頂点対を整数配列で定義するタイプで、重複する 頂点が多い場合にメモリの節約が可能となる。リスト 1の例で異なる部分はP-②とP-③である(リスト3)。 この場合、頂点は6点のままであるが、index配列は 8個で、線分は[0]-[3]、[1]-[2]、[4]-[5]、[0]-[5] の4本となっている。コンストラクタの第3パラメタ にindex番号配列の長さを指定する。 リスト3 頂点のindex番号による線分集合体 /* 頂点対の番号配列を作成 */ int[] index={0,3, 1,2, 4,5, 0,5}; /* P-②線分集合体クラスを生成 */
IndexedLineArray geom=new IndexedLineArray( vertex. length, GeometryArray. COORDINATES │ GeometryArray. COLOR_3, index. length ); /* P-③線分集合体クラスに頂点座標配列を設定 */ geom. setCoordinates(0, vertex);
geom. setCoordinateIndices(0, index);
[LineStripArrayクラス]
は連続曲線などを描くときに便利である。コンストラ クタの第3パラメタに連続する頂点の数の配列を指定 する必要がある。例えば、リスト1の6頂点が連続し ている場合は、P-②の部分をリスト4のように変更 すればよい。もし、6頂点の内、はじめの4点が連続 し、次の2点が連続している場合は、頂点の数の配列 は次のようにする。 int[] stripVertexCounts={4,2}; この応用として、第4章の図8に常微分方程式の解 曲線の例を示してある。 リスト4 連続線分集合体の例 /* 連続する頂点の数の配列を作成 */ int[] stripVertexCounts={6}; /* P-②連続線分集合体クラスを生成 */ LineStripArray geom=new LineStripArray(
vertex.length, GeometryArray.COORDINATES │ GeometryArray.COLOR_3, stripVertexCounts ); [IndexedLineStripArrayクラス] 前の2つ同様に連続する頂点をindex番号で指定す るタイプで、コンストラクタのパラメタの3つ目が indexの長さ、4つ目が頂点の数の配列を指定する。 詳細は省略する。 ò 3 三角面集合体 ピラミッドのような立体や曲面を作るには、この三 角面集合体を使う。定義方法は6通りある(表4)。 使い方は、線分集合体とほとんど同じである。ただ し、3頂点一組で面を構成していることと、Trian gleFanArrayでは連続する最初の頂点の回りに扇状に 作られることに注意する。これらのクラスは形状を簡 易に作成できるので便利であるが、より実践的な表現 のためには2.3節の手法を使う方が優れている。 ò 4 四角面集合体 三角形の代わりに四角形を張り合わせた形状を生成 したい場合は、表5の方法がある。これについても実 践的な作成手順は次節で中心的に解説する。 2.3 GeometryInfoクラス 複雑な立体図形やなめらかな曲面を表現するのに適 したクラスである。 2.2節のGeometryArrayクラスとの大きな違い は、頂点集合の個数を指定する必要がなく、データか ら判断される。また、面の垂直方向(法線)を利用し た表現がしやすい。法線によって ò ⅰ 面の表側を指定できる。裏面は通常表示せず、計 算効率を図っている。 ò ⅱ 隣接する面の折り目角(図1)に応じて滑らか表 現が可能となる。 表4 三角面集合体を生成する6つのクラス TriangleArray(int, int) 三角点集合(集合は3の倍数) IndexedTriangleArray(int, int, int) 頂点集合と三角点番号
TriangleStripArray(int, int, int[]) 連続三角点集合
IndexedTriangleStripArray (int, int, int, int[]) 頂点集合と連続三角点番号 TriangleFanArray(int, int, int[]) 中心点周りの三角点集合 IndexedTriangleFanArray
(int, int, int, int[]) 頂点集合と中心周りの三角点番号
表5 四角面集合体を生成する2つのクラス QuadArray(int, int)
四角面集合(4の倍数) IndexedQuadArray(int, int, int) 頂点集合と四角点番号 図1 折り目角(シェーディング) 面の表とは、その面の周りの頂点が反時計回りに定 義されている側と定めている。したがって、頂点集合 の配列データの順番は、面ごとに反時計回りに設定し なければならない。例えば、図2のピラミッド型の物 体の場合、4面×3=12個のデータを次のように並べる。
Point3d[] vertex={O,A,B, O,B,C, O,C,D, O,D,A}; ただし、O,A,B,C,Dはnew Point3d(x,y,z)等の略
GeometryInfoクラスによる任意形状の作成手順は 次のようになる。
[三角(四角)面集合体の作成手順] F-① 形状のための頂点座標配列の作成 F-② 形状の原型(GeometryInfo)クラスを生成 (集合体の種別(表6参照)を指定) F-③ 原型クラスに頂点座標配列を設定 F-④ 法線のスムーズシェーディング角を設定 F-⑤ 法線を計算(頂点座標配列より) F-⑥ 質感を生成・設定 F-⑦ 必要なら、質感に面の描画属性を設定 (裏面表示・ワイヤーフレーム表示など) F-⑧ 物体生成(形状、質感を設定) ò 1 三角面集合体のプログラム例 この手順に従って、実際に図2のピラミッド型の物 体を作成したプログラムをリスト5に示す。この実行 画面が図3である。 F-①の頂点座標配列にはPoint3f[]を使用し、F-② で形状の種別として三角面集合体を指定している。 F-④で指定したスムーズシェーディング角とは図1の様 な接続面同士の折り目角が指定した角度より小さい場 合は両者の中間の法線を採用し、滑らか表現を実現す るものである。単位はラジアンである。しかし、リス ト5のようなピラミッド型の場合、折り目角が設定値 より大きいので滑らかにはならない。スムーズシェー ディングが有効に働いている例を図4に示しておく。 通常は描画されない裏面を表示させたい場合は、リ スト5のF-⑦のようにPolygonAttributeクラスを使 い、質感に設定する。ところで、面の描画属性設定と してリスト5のF-⑦の代わりに、リスト6の設定を 行うと、形状を(ちょうど図2のような)ワイヤーフ レーム表示させることができる。第4章の図10にワイ ヤーフレームの応用例が示されている。 最後のF-⑧で、生成されたShape3Dオブジェクト をシーングラフのしかるべきローカル座標系に接続す れば完成である。 図2 ピラミッド型の空間座標 表6 集合体の種別フラグ値 GeometryInfo. TRIANLGE_ARRAY 三角面集合体 GeometryInfo. QUAD_ARRAY 四角面集合体 リスト5 三角面集合体の作成プログラム例 /* F-①頂点座標配列の作成 */ Point3f[] vertex={ new Point3f(0.0f,1.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(0.0f,1.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(0.0f,1.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(0.0f,1.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f) }; /* F-②形状の原型クラスを生成 */ GeometryInfo info=new GeometryInfo(GeometryInfo. TRIANGLE_ARRAY); /* F-③原型クラスに頂点座標配列を設定 */ info. setCoordinates(vertex); /* F-④法線のスムーズシェーディング角(44度)を設定 */ NormalGenerator normalGen=new NormalGenerator(); normalGen. setCreaseAngle(0.768);
/* F-⑤法線を計算 */
normalGen. generateNormals(info); /* F-⑥質感の生成・設定 */
Appearance appearance=new Appearance(); Material material=new Material();
material. setDiffuseColor(new Color3f(1.0f,0.5f,1.0f)); appearance. setMaterial(material);
/* F-⑦質感に面の描画属性(裏面描画)を設定 */ PolygonAttributes polAttr=new PolygonAttributes(); polAttr. setCullFace(PolygonAttributes. CULL_NONE); polAttr. setBackFaceNormalFlip(true);//裏面の法線指定 appearance. setPolygonAttributes(polAttr);
/* F-⑧物体(形状、質感)を生成 */ Shape3D shape=new Shape3D(
(Geometry)info. getGeometryArray(), appearance
リスト6 質感にワイヤーフレーム表示を設定
/* F-⑦質感に面の描画属性(ワイヤーフレーム表示)を 設定 */
PolygonAttributes polAttr=new PolygonAttributes(); polAttr. setPolygonMode( PolygonAttributes. POLYGON_LINE); ppearance. setPolygonAttributes(polAttr); 図3 三角面集合による形状例 ò 2 頂点のindex番号で面を作る方法 リスト7は8角錐の例(図4)を描画するプログラ ムで、三角面への対応に、頂点データのindex番号に より指定する方法を採用している。隣接した面の集合 体の場合は頂点が重複しているので、この方がメモリ 効率がよい。 図4 スムーズシェーディングによる8角錐 リスト7 index番号指定による8角錐の定義例 /* F-①頂点座標配列の作成 */ Point3f[] vertex={ new Point3f(0.0f,0.5f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.41f,0.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(0.0f,0.0f,1.41f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.41f,0.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(0.0f,0.0f,1.41f) }; /* F-②形状の原型クラスを生成 */ GeometryInfo info=new GeometryInfo(GeometryInfo. TRIANGLE_ARRAY); /* F-③原型クラスに頂点座標配列およびindex番号を設定 */ info. setCoordinates(vertex); int[] index={0,1,2, 0,2,3, 0,3,4, 0,4,5, 0,5,6, 0,6,7, 0,7,8, 0,8,1}; info. setCoordinateIndices(index); /* F-④∼⑦はリスト5と同じ */ /* F-⑧物体(形状、質感)を生成 */ Shape3D shape=new Shape3D(
(Geometry)info. getIndexedGeometryArray(), appearance ); 3.テクスチャ・マッピング テクスチャ・マッピングとは、物体の表面に貼付け る画像のことである。使用できる画像フォーマットは、 JPEG,GIF,PNGの三種である。また、プログラム で加工した画像を利用することも可能である。 テクスチャ・マッピングを行うための手順は次のよ うになる。 3.1 テクスチャ・マッピングの手順 T-① テクスチャ画像ファイルの読み込み T-② 質感に テクスチャ画像およびテクスチャ属性を設定 T-③ 原型クラスに 形状に貼付けるテクスチャ座標を設定 T-④ 物体を生成(テクスチャ・マッピングによる 形状、質感の設定) 3.2 テクスチャ画像の読み込み 画像ファイルの読み込みはメインクラスで行うのが 一般的である。具体例を示そう。リスト8では、初期
化メソッドinit()で行っている。 テクスチャ画像はTextureクラスのオブジェクトに 記録する。画像を読み込んで、テクスチャ画像に変換 するクラスがTextureLoaderクラスである。指定でき る画像クラスは 1)URLクラスで設定した画像ファイル、 2)Imageクラス、 3)BufferedImageクラスである。 コンストラクタの第2パラメタはComponentクラス で、メインのAppletクラス自身を指定している。テ クスチャ画像への変換はgetTexture()メソッドを使う: texture=tloader. getTexture(); 一方、Imegeクラスを読み込んだ場合の例をリスト 9に示す。どちらも読み込みエラーに備えてtrycatch 文が使われている。 リスト8 URLクラスによるテクスチャ読み込み import java.net.*; // URL
import com.sun.j3d.utils.image.*; // Texture public class Example extends Applet {
Texture texture=null; // テクスチャクラス public static void main(String[] args){
Example example= new Example(); MainFrame frame=
new MainFrame(example,600,480); }
public void init(){
/* T-①テクスチャ画像ファイルの読み込み */ try{
String path=this. getCodeBase(). toString(); URL url=new URL(new String(path+“earth.jpg”)); TextureLoader tloader=
new TextureLoader(url,(Component)this); texture=tloader. getTexture();
}catch(Exception ex){
System. out. println(ex+“Error:”+“earth.jpg”); } /* その他の手続きが続く */ } 3.3 質感へのテクスチャ画像設定・属性設定 ここでは質感への設定手順T-②について解説する。 使用例をリスト10に示す。テクスチャ画像はリスト8 または9に従って読み込んだものとする。テクスチャ 属性は元の物体の色や明暗とテクスチャ画像との合成 の条件を細かく設定するためにある。単純には表7の モードから選ぶ。 リスト9 Imageクラスによるテクスチャ読み込み /* T-①画像ファイルの読み込み */ Image image=getImage(getCodeBase(),“earth. jpg”); MediaTracker mt=new MediaTracker(this);
mt. addImage(image, 0); mt. checkAll(true); try { mt. waitForID(0); }
catch (InterruptedException e){ e. printStackTrace(); } /* T-①テクスチャ画像へ変換 */
Texture texture=
new TextureLoader(image, this). getTexture(); 表7 テクスチャ画像との合成モード TextureAttributes. MODULATE テクスチャの色と対象物 の色を対等に合成する。 TextureAttributes. DECAL 移し絵のように対象物の アルファ値を変えずに張 り合わせる。 TextureAttributes. BLEND テクスチャブレンド色を セットしておき、その色 をテクスチャに加えて対 象物と混ぜ合わせる。 TextureAttributes. REPLACE テクスチャ色で置換 リスト10 テクスチャ画像および属性の設定例
Appearance appearance=new Appearance(); Material material=new Material();
appearance. setMaterial(material); /* T-②テクスチャ画像を設定 */ appearance. setTexture(texture); /* T-②テクスチャ属性を設定 */
TextureAttributes texAttr=new TextureAttributes(); texAttr. setTextureMode(TextureAttributes. MODULATE); appearance. setTextureAttributes(texAttr); 3.4 プリミティブ形状へのテクスチャ・マッピング 直方体、球、円錐、円柱へのテクスチャ・マッピン グ手順は簡単で、手順のT-③、T-④がリスト11の一 文で実行できる(手順T-①、T-②は前述)。他の基 本形状も同様に指定すればよい。
リスト11 プリミティブ形状へのテクスチャ例 Sphere earth=new Sphere( 0.4f,
Sphere. GENERATE_NORMALS │ Sphere. GENERATE_TEXTURE_COORDS, appearance ); 3.5 任意形状へのテクスチャ・マッピング 三角面あるいは四角面の集合体である任意形状への テクスチャ画像を張り付けるには、一つ一つの面に対 してテクスチャ画像から面への写像(マッピング)を 作成しなければならない。まず、読み込まれたテクス チャの源画像を1×1の正方形に正規化し、図5の左 側に示したようなテクスチャ座標系に無限に敷き詰め られていると考える。三角面(四角面)への写像は、 テクスチャ座標系上に切り取りたい三角形(四角形) の頂点を指定すれば、対応する三角面(四角面)に変 形されて貼付けられる仕組みになっている。 図5 テクスチャ座標系とマッピング ò 1 三角面集合体へのテクスチャ・マッピング リスト5のピラミッドに世界地図のテクスチャを 張った例をリスト12に示す。実行画面は図6の様に4 面 で一つの マッピ ングにな る。テ クスチャ 座標は TexCoord2fクラスの配列に作成する。この例では、 テクスチャ画像を中心(0.5,0.5)から四隅へ引いた4つ の面に分割している。setTextureCoordinateParams メソッドではテクスチャ画像の数=1とテクスチャ座 標系の次元=2を指定している。 もし、リスト12の変わりに4つの面とも次のような 同じ切り取りを指定した場合は図7のようになる。 new TexCoord2f(0.5f,1.0f), new TexCoord2f(0.0f,0.0f), new TexCoord2f(1.0f,0.0f), ò 2 テクスチャ座標のindex番号によるマッピング 最後に、テクスチャ座標へのindex番号配列によっ てマッピングの対応を指定するプログラムについて解 説する。この方がメモリ効率が良い。リスト12と同じ 結果のプログラムをindex番号によって行った例をリ スト13に示す。 リスト12 テクスチャ・マッピングの例 Point3f[] vertex={ /* ピラミッドの4つの面の頂点座標(略) */ }; /* T-③テクスチャ座標作成 */ TexCoord2f[] texCoord={ new TexCoord2f(0.5f,0.5f), new TexCoord2f(1.0f,0.0f), new TexCoord2f(1.0f,1.0f), new TexCoord2f(0.5f,0.5f), new TexCoord2f(1.0f,1.0f), new TexCoord2f(0.0f,1.0f), new TexCoord2f(0.5f,0.5f), new TexCoord2f(0.0f,1.0f), new TexCoord2f(0.0f,0.0f), new TexCoord2f(0.5f,0.5f), new TexCoord2f(0.0f,0.0f), new TexCoord2f(1.0f,0.0f) }; /* T-③原型クラスへ頂点座標配列設定 */ GeometryInfo info=new GeometryInfo(GeometryInfo. TRIANGLE_ARRAY); info. setCoordinates(vertex); /* T-③原型クラスへテクスチャ座標の設定 */ info. setTextureCoordinateParams(1,2); info. setTextureCoordinates(0,texCoord); 図6 世界地図を4面で一つにマッピング
図7 4面とも同じ世界地図をマッピング リスト13 テクスチャ座標とindex番号指定の例 /* 頂点座標配列の作成 */ Point3f[] vertex={ new Point3f(0.0f,1.0f,0.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f), new Point3f(1.0f,0.0f,1.0f) }; /* T-③テクスチャ座標の作成 */ TexCoord2f[] texCoord={ new TexCoord2f(0.5f,0.5f), new TexCoord2f(1.0f,0.0f), new TexCoord2f(1.0f,1.0f), new TexCoord2f(0.0f,1.0f), new TexCoord2f(0.0f,0.0f) }; /* 形状の原型クラス生成 */ GeometryInfo info=new GeometryInfo(GeometryInfo. TRIANGLE_ARRAY); info. setCoordinates(vertex); /* T-③三角面のindex番号設定 */ int[] index={0,1,2, 0,2,3, 0,3,4, 0,4,1}; info. setCoordinateIndices(index); /* T-③テクスチャ座標の設定 */ info. setTextureCoordinateParams(1,2); info. setTextureCoordinates(0,texCoord); /* T-③テクスチャ座標系のマッピング番号設定 */ int[] texIndex={0,1,2, 0,2,3, 0,3,4, 0,4,1}; info. setTextureCoordinateIndices(0,texIndex); 4.応 用 ここでは2章、3章でまとめた任意形状の生成とテ クスチャ・マッピングを応用した例を紹介する。 4.1 線分集合体および面集合体の応用例 ò 1 常微分方程式の解曲線
ここでは、LineArray, LineStripArray, TriangleArray の応用例を示そう。図8は常微分方程式の解曲線の例 で、ローレンツカオスを描いたものである。 線分の集合体であるLineArrayは座標軸および目盛 の表示に利用した。軸の矢印はTriangleArrayによっ て描いている。図8の中の曲線は一本の連続曲線と なっており、LineStripArrayによって描かれている。 特に、曲線は微小線分(ここでは長さ0.01m)の連続体 として構成される。この例では変数(x, y, z)の微分方 程式により1万点の座標計算を行っている。この結果 すべてを配列Point3d[] vertexに記録し、描画させた。 図8 座標軸と常微分方程式の解曲線 ò 2 正多面体 三角面集合体の応用例として正多面体を描くプログ ラムを作った。正20面体の場合を図9に示す。各面は 中抜きをして奥が見えるようにしてある。 図9 正20面体の例
4.2 関数曲面z=f(x,y)とテクスチャ・マッピング テクスチャ・マッピングの応用例として関数曲面に 衛星写真を貼付けた例を示そう。 ここで使用した関数はz=e(x2+y2) で、定義域は−2 ≦x≦4,−2≦y≦4である。これを40×40の矩形に 分割し、2.3節ò2のindex番号指定による四角面集 合体(表6)によって作成した。ワイヤーフレームで 表示した場合を図10に示す。これにスムーズシェー ディングによる単色の質感を与えたものが図11である。 最終的に、テクスチャ・マッピング(第3章)によっ て衛星写真を貼付けた画像が図12である。 おわりに 昨年度Java3Dによる3次元グラフィクス教育の提 案7)を行い、実際に18名の学生に教育実践を試みた。 その結果、基本図形を素材としたプログラムを自由に 作れるようになった。しかし、学生にとって座標変換 による物体の配置や変形の理解が最も難しいことが 解った。いずれにしても、学生は興味を持って取り組 むことができたと、ねらい通りの評価を得た。 次 に 学 生 が 希 望 す る 内 容 の 中 か ら 、 今 回 テ ク ス チャーマッピングやポリゴン集合による任意形状につ いて扱った。残る課題は、3次元物体によるアニメー ションなど、動きのある表現である。 【参考文献】 1)サン・マイクロシステムズ㈱:J2SDK, http://java.sun.com/j2se/1.4/ja/index.html. 2)サン・マイクロシステムズ㈱:Java3D SDK, http://java.sun.com/products/javamedia/3D/. 3)田中成典編集:Java3Dグラフィックス入門,森 北出版,(2002). 4)えんどうやすゆき他著:Java3Dプログラミング・ バイブル,夏目社,(2003). 5) 広内哲夫:Java3Dグラフィックス,小学館, (2004). 6)平岡佐知子、余米和子:Java3Dによる立体地図 表示,武庫川女子大学・生活環境学部・情報メディ ア学科 平成16年度卒業論文 福井研究室,(2005). 7)福井哲夫:Java3Dによる3次元グラフィックス 教育の提案,武庫川女子大学・情報教育研究セン ター年報 2004,pp.16-25(2005). 図10 ワイヤーフレームによる関数曲面 図11 スムーズシェーディングによる関数曲面 図12 関数曲面へのテクスチャ・マッピング
栄養士養成のための教材の電子化
松
浦
寿
喜
Toshiki MATSUURA 情報教育研究センター研究員 食物栄養学科教授 Computerization of the Teaching Materials for the Dietician Training
1.はじめに 近年、電子ジャーナルやデータベースなど学術情報 の電子化が急速に進み、研究活動においてこれらの情 報を利用することが多くなった。一方、教育活動とし ての教材の電子化については、電子教材の開発や、既 存の教材や資料の電子化などを大学レベルで取り組み はじめている事例もあるが、大部分は未だ個人レベル での取り組みとなっている。本学食生活学科において も教材電子化の一環として、平成15年から講義の収録 およびインターネットを通じた配信を行っており、す でに管理栄養士国家試験対象科目のうち14科目につい ては収録を完了し、受講生および卒業生に向けてスト リーミング配信を行っている。 今回は、学習支援の新しい取り組みとして講義資料 の電子化および電子教科書の制作について報告する。 2.講義資料電子化の必要性 学内外のネットワーク環境が整備され、研究の企画、 打ち合わせ、論文の投稿など研究活動をネットワーク 接続されたパソコン上で行うことが一般的となった。 一方、教育活動に目を向けると「板書」および「板書 を書き写す」といった講義方法が未だに多くを占める。 確かに「書き写す」ことは内容を理解する上で重要な 行為であるが、「書き写す」ことに集中するあまり教 員の説明を聞き逃す場合もある。したがって、板書の メリットを考慮しつつも「書き写す」労力を可能な限 り軽減し、講義に集中させることが重要と考えられる。 さらに、本学科のような管理栄養士・栄養士養成施設 では、「管理栄養士国家試験出題基準(ガイドライン)」 に沿った教育が必要であり、例えば「食品の安全性」 の項目を15回の講義で学生に理解させるためには、よ ほど合理的に講義を進める必要がある(表1)。 そのための方策として、講義資料の電子化が考えら れる。講義資料を電子化し、受講生に利用させること で、「書き写す」労力が軽減されるとともに、教員側 も「板書」の時間が短縮され、その分説明に時間を費 やすことができる。 電子教科書については、従来の紙媒体の教科書に比 し、ò1タイムリーな内容更新が可能、ò2パソコンある いはPDA1台で何冊分もの教科書内容を携帯可能、 ò 3動画の利用により動きのある教材提供が可能などの メリットがある。特に、年次変化等のデータを取り扱 う「食品衛生学」や「公衆衛生学」などの科目では、 即時的なデータ更新が不可欠であり、その意味でも電 子教科書のもつ意味は大きい。 表1 管理栄養士国家試験出題基準(一部抜粋) 大項目 中 項 目 小 項 目 a.対象と範囲 b.食品衛生監視員と食品衛生管理者 A.食品衛生 行政と法規 c.安全性の考え方 d.食品衛生関連法規 e.コーデックス(Codex) a.食中毒の定義 b.食中毒の発生状況 c.微生物性食中毒 B.食中毒 d.自然毒食中毒 e.化学性食中毒 f.マスターテーブル法 a.主な消化器系感染症 b.人畜共通感染症 C.食品による 感染症・ 寄生虫症 c.食品から感染する寄生虫症 d.トピックス:牛海綿状脳症(BSE) a.かび毒 b.化学物質(残留農薬,抗生物質, 内分泌攪乱物質,その他) 食品の 安全性 D.食品中の 汚染物質 c.食品成分の変化により生ずる有害物質(ヒスタミン,ニトロソ化合 物,過酸化脂質,その他) d.混入異物 a.腐敗 b.油脂酸敗 E.食品の変質 c.食品の変質の防止法(冷蔵,冷凍, チルド法,加熱殺菌・滅菌法,乾 燥・脱水法,その他) a.食品添加物のメリットとデメリット b.種類と用途 F.食品添加物 c.安全性評価 d.一日摂取許容量(ADI) a.素材と衛生 G.食品の器具 と容器包装 b.素材による環境汚染 a.HACCP
(hazard analysis critical control point) H.食品衛生管理 b.食品工場における一般衛生管理事項 c.家庭における衛生管理 a.無(減)農薬栽培食品 (いわゆる有機栽培食品) I.新しい食品 の安全性問題 b.遺伝子組換え食品 c.放射能照射食品