差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| lecture:インタラクションデザイン演習実習i:2022 [2022/04/27 09:22] – [論文読解1:The smart floor: a mechanism for natural user identification and tracking] baba | lecture:インタラクションデザイン演習実習i:2022 [2022/05/11 10:18] (現在) – [論文読解2:笑顔は人を幸せにするのか?笑顔促進支援システム] baba | ||
|---|---|---|---|
| 行 99: | 行 99: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | <file js p5js.js> | ||
| + | var x1 = 165; | ||
| + | var y1 = 68; | ||
| + | |||
| + | var x2 = 160; | ||
| + | var y2 = 47; | ||
| + | |||
| + | function setup() { | ||
| + | createCanvas(200, | ||
| + | } | ||
| + | |||
| + | function draw() { | ||
| + | background(220); | ||
| + | fill(0, | ||
| + | circle(x1, | ||
| + | | ||
| + | fill(255, | ||
| + | circle(x2, | ||
| + | |||
| + | fill(0, | ||
| + | circle(mouseX, | ||
| + | | ||
| + | fill(0); | ||
| + | text(`(${mouseX}, | ||
| + | | ||
| + | var l1 = sqrt( (x1-mouseX)*(x1-mouseX)+(y1-mouseY)*(y1-mouseY) ) | ||
| + | var l2 = sqrt( (x2-mouseX)*(x2-mouseX)+(y2-mouseY)*(y2-mouseY) ) | ||
| + | | ||
| + | if(l1 < l2){ | ||
| + | line(mouseX, | ||
| + | } | ||
| + | if(l2 < l1){ | ||
| + | line(mouseX, | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| ==== データ数を増やしてみる ==== | ==== データ数を増やしてみる ==== | ||
| 行 201: | 行 238: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | <file js p5js.js> | ||
| + | var data = [ | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | { gender: " | ||
| + | ]; | ||
| + | |||
| + | function setup(){ | ||
| + | createCanvas(200, | ||
| + | } | ||
| + | |||
| + | function draw(){ | ||
| + | background(255); | ||
| + | | ||
| + | for(d of data){ | ||
| + | if( d.gender == ' | ||
| + | fill(0, | ||
| + | } | ||
| + | else if( d.gender == ' | ||
| + | fill(255, | ||
| + | } | ||
| + | circle(d.height, | ||
| + | } | ||
| + | | ||
| + | fill(0, | ||
| + | circle(mouseX, | ||
| + | fill(0); | ||
| + | text(`(${mouseX}, | ||
| + | | ||
| + | for( d of data){ | ||
| + | d.distance = dist(mouseX, | ||
| + | } | ||
| + | | ||
| + | // | ||
| + | data.sort(function(a, | ||
| + | if( a.distance -b.distance < 0){ | ||
| + | return -1; | ||
| + | } | ||
| + | else{ | ||
| + | return 1; | ||
| + | } | ||
| + | }); | ||
| + | console.log(data); | ||
| + | } | ||
| + | </ | ||
| ====== 論文読解2:笑顔は人を幸せにするのか?笑顔促進支援システム ====== | ====== 論文読解2:笑顔は人を幸せにするのか?笑顔促進支援システム ====== | ||
| 行 220: | 行 310: | ||
| 上記サンプルの元になっているのが,[[https:// | 上記サンプルの元になっているのが,[[https:// | ||
| - | サブスティチューション,表情認識等のデモを確認することができます.まずは各頂点情報を参照して,顔の各パーツを扱えるようにプログラムを工夫していきます.すでにexampleでは口の横の長さで笑顔度を計算する記述も含まれているので,うまく利用してみましょう. | + | サブスティチューション,表情認識等のデモを確認することができます.<del>まずは各頂点情報を参照して,顔の各パーツを扱えるようにプログラムを工夫していきます.すでにexampleでは口の横の長さで笑顔度を計算する記述も含まれているので,うまく利用してみましょう.</ |
| + | |||
| + | まずは [[https:// | ||
| なお,複数のカメラデバイスが存在しており,任意のカメラだけをオープンしたい場合は以下のページを参照してください. | なお,複数のカメラデバイスが存在しており,任意のカメラだけをオープンしたい場合は以下のページを参照してください. | ||