差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
lecture:基礎ゼミナール [2018/06/12 11:03] – [x,y,zの送信] baba | lecture:基礎ゼミナール [2018/07/25 16:09] (現在) – [texの参考資料] baba | ||
---|---|---|---|
行 451: | 行 451: | ||
</ | </ | ||
- | ==== 論文を書いてみよう ==== | + | ===== 論文を書いてみよう |
https:// | https:// | ||
+ | <code c exp_pointing.pde> | ||
+ | // Tetsuaki Baba | ||
+ | // Processing のサンプルコード | ||
+ | // str_format: データ名をカンマ区切りで書いておく | ||
+ | PrintWriter output; | ||
+ | boolean flg_start = false; | ||
+ | String str_format = " | ||
+ | int count = 0; | ||
+ | float x, y; | ||
+ | int time_start; | ||
+ | |||
+ | void setup() { | ||
+ | pixelDensity(displayDensity()); | ||
+ | size(800, 600); | ||
+ | x = random(25, width-25); | ||
+ | y = random(25, height-25); | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | background(0); | ||
+ | if ( flg_start == false ) { | ||
+ | textSize(30); | ||
+ | text(" | ||
+ | return; | ||
+ | } | ||
+ | if ( sqrt( (x-mouseX)*(x-mouseX) + (y-mouseY)*(y-mouseY) ) < 25 ) { | ||
+ | x = random(25, width-25); | ||
+ | y = random(25, height-25); | ||
+ | output.print(str(millis()-time_start)+" | ||
+ | time_start = millis(); | ||
+ | count++; | ||
+ | if ( count == 10 ) { | ||
+ | flg_start = false; | ||
+ | output.flush(); | ||
+ | output.close(); | ||
+ | } | ||
+ | } | ||
+ | ellipse(x, y, 50, 50); | ||
+ | println(millis()); | ||
+ | } | ||
+ | |||
+ | void keyPressed() { | ||
+ | if ( key == ' ' ) { | ||
+ | flg_start | ||
+ | time_start = millis(); | ||
+ | count = 0; | ||
+ | |||
+ | if ( flg_start == true ) { | ||
+ | String filename = nf(year(), 4) + nf(month(), 2) + nf(day(), 2) + nf(hour(), 2) + nf(minute(), | ||
+ | output = createWriter( filename + " | ||
+ | output.println( str_format ); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== データ収集用リンク ==== | ||
+ | https:// | ||
+ | |||
+ | ==== 反応速度測定用プログラム ==== | ||
+ | <code c ext_response.pde> | ||
+ | // Tetsuaki Baba | ||
+ | // Processing のサンプルコード | ||
+ | // str_format: データ名をカンマ区切りで書いておく | ||
+ | PrintWriter output; | ||
+ | boolean flg_start = false; | ||
+ | String str_format = " | ||
+ | int count = 0; | ||
+ | float x, y; | ||
+ | int time_start; | ||
+ | |||
+ | void setup() { | ||
+ | pixelDensity(displayDensity()); | ||
+ | size(800, 600); | ||
+ | x = random(25, width-25); | ||
+ | y = random(25, height-25); | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | background(0); | ||
+ | if ( flg_start == false ) { | ||
+ | textSize(30); | ||
+ | text(" | ||
+ | return; | ||
+ | } | ||
+ | if ( time_start < millis() ) { | ||
+ | text(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | void keyPressed() { | ||
+ | if ( key == ' ' ) { | ||
+ | flg_start | ||
+ | time_start = millis()+(int)random(3000.0f, | ||
+ | |||
+ | |||
+ | count = 0; | ||
+ | |||
+ | if ( flg_start == true ) { | ||
+ | String filename = nf(year(), 4) + nf(month(), 2) + nf(day(), 2) + nf(hour(), 2) + nf(minute(), | ||
+ | output = createWriter( filename + " | ||
+ | output.println( str_format ); | ||
+ | } | ||
+ | } | ||
+ | if ( key == ' | ||
+ | output.print(str(millis()-time_start)+" | ||
+ | time_start = millis()+(int)random(3000.0f, | ||
+ | count = count + 1; | ||
+ | if ( count == 10 ) { | ||
+ | flg_start = false; | ||
+ | output.flush(); | ||
+ | output.close(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== 計測データをグラフにしてみる ==== | ||
+ | Google SpreadSheetに集まったデータをグラフにしてみました.各グラフバーにくっついているのは標準偏差のことを指しています. | ||
+ | {{: | ||
+ | |||
+ | 上記エクセルグラフを含むデータ:{{ : | ||
+ | |||
+ | ==== TeXを使ってレポートを書く ==== | ||
+ | * https:// | ||
+ | |||
+ | * {{ : | ||
+ | * {{ : | ||
+ | |||
+ | ==== 反応速度データ ==== | ||
+ | * https:// | ||
+ | ===== 最終課題内容 ===== | ||
+ | |||
+ | ==== 概要 ==== | ||
+ | **開発したデバイス**を利用して,**パラメータの変更**により,**どの程度ポインティング時間が変化するか**を実験から論じる. | ||
+ | ただし,既存デバイスとの比較はしなくともよいが,余裕があればしてもよい. | ||
+ | ==== 開発したデバイスとは? ==== | ||
+ | 授業の中でArduino Microを利用し,マウスポインタを作成しました.マウスポインタの移動には加速度センサの値を利用しました. | ||
+ | 「上記例を応用した,よりポインティング作業が早くなるプログラムサンプル」を再び利用して,arduinoをマウスに一度変更 | ||
+ | します. | ||
+ | |||
+ | ==== パラメータの変更とは?==== | ||
+ | 対象となるプログラムの中で, | ||
+ | Mouse.move((505-x)/ | ||
+ | と記述された行がありますが,これはx, | ||
+ | ただしこの場合の505, | ||
+ | 微妙に値がことなるので注意してください.ここでいうところのパラメータとはそれぞれの移動量パラメータのことを | ||
+ | さしています. | ||
+ | |||
+ | 例えばサンプルコードをなるべく変更せずにマウスの移動速度を変化させる場合は, | ||
+ | (505-x)/a, (y-509)/a | ||
+ | のaを更に具体的になパラメータとして,a=1, | ||
+ | 変化するかを実験することで,マウスの移動速度とポインティング速度の関係性を明らかにできるようになります. | ||
+ | |||
+ | またこの他にもここで紹介した計算式以外でポインティング移動量をパラメータとして実験していただいても | ||
+ | 構いません. | ||
+ | |||
+ | ==== どの程度ポインティング時間が変化するか,とは? ==== | ||
+ | 上記で説明した実験手順で例えばa=5とa=10を実験したとします.このときにa=5の場合,ポインティング時間は平均800[ms]程度, | ||
+ | 一方a=10のときは1, | ||
+ | |||
+ | ==== 添削用論文の提出 ==== | ||
+ | * 締切:7月24日 17: | ||
+ | * 方法:kibacoの最終課題ページから論文を添付送信します. | ||
+ | * 提出フォーマット:PDFファイル(枚数の目安としては,2-6枚程度です.実験した内容や検討した事項により文章は大きく増減しますので,あまり枚数は気にせず,必要な情報を載せ,必要な議論を論じることに集中してください.) | ||
+ | | ||
+ | <WRAP center round important 60%> | ||
+ | 添削された論文はkibacoで利用している各自メールアドレス宛に届きます.なので,ed.tmu.ac.jp のメールチェックを忘れないようにお願いいたします. | ||
+ | </ | ||
+ | |||
+ | ==== FAQ ==== | ||
+ | * 質問:Arduinoにマウス/キーボードプログラムを書き込みしたところ,プログラムミスで,マウス/キーボードで制御不能なふるまいになってしまい,別のプログラムを記述することが困難になりました. | ||
+ | * 答え:https:// | ||
+ | |||
+ | ==== texの参考資料 ==== | ||
+ | * Cloud Latexの使い方(馬場が簡単に解説しました):https:// | ||
+ | * < | ||
+ | * 数式の書き方:http:// | ||
+ | * 図表の入れ方:http:// | ||
+ | |||
+ | ==== 一回目のレビューを終えてのコメント ==== | ||
+ | 一度目の提出お疲れ様でした.レポートを書くとは異なり,「新規性」,「再現性」,「有用性」を意識しながら書くのは少し慣れも必要かと思います. | ||
+ | 最初から上手にかけている人もいれば,そうでないもの楽しく拝見させていただきました.今回の提出一回で合格となった人は一名でした.合格者は | ||
+ | 論文中に「合格」と記載してあります.それぞれ簡単に赤を入れているので,各自の修正箇所はその赤に従ってください. | ||
+ | |||
+ | 全体的に予め指摘したほうが良いことがいくつかありましたので,赤が入っている/入っていないにかかわらず,下記を読んでいただきご自身の論文修正に | ||
+ | 反映させてください. | ||
+ | |||
+ | === 再現性 === | ||
+ | 最も多くの方がこの再現性の面で問題がありました.基礎ゼミで制作したデバイスやプログラムをそのまま流用しているので,馬場や他の学生であれば | ||
+ | 詳細を記述しなくともなにをやっているか理解はできますが,あくまで第3者がこの論文を読んだ際,必要な情報が含まれているかを改めて確認してみましょう. | ||
+ | 例えば | ||
+ | * プログラム中のaの値を変更し → プログラムの中でaがどのように利用されているかを数式等で論文中で示さないといけません | ||
+ | * 実験を繰り返しデータを取得した → 具体的にポインティングの試行回数は何回でしょうか? データとは具体的にはなんのことでしょうか? | ||
+ | * 実験を行った. → 具体的に何人の被験者で,年齢層や性別といった情報がは最低限入れておきましょう. | ||
+ | といった記載が目立ちました.なにも知らない人が論文を読んだ際,再現性を担保するために必要な情報は全て含んでいるでしょうか?もう一度確認してください. | ||
+ | |||
+ | === 表と図 === | ||
+ | 表は下,図は上にキャプション(説明文)を入れます.また文中で必ず 表XXはなになにを示し,,といった具合に必ず参照してください.またキャプションだけを読んでも図表が理解できるものになっていますか? | ||
+ | |||
+ | === 単位 === | ||
+ | グラフに単位を記載し忘れていませんか?単位があるものは必ず単位に関して記述してください. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |