記録

頑張って勉強したこと書くよ。やりたいことがいっぱいある。

2:哲学

哲学用語図鑑を読み、興味を持った哲学の理解と、自分が感じたことをまとめていきます。 https://www.amazon.co.jp/%E5%93%B2%E5%AD%A6%E7%94%A8%E8%AA%9E%E5%9B%B3%E9%91%91-%E7%94%B0%E4%B8%AD%E6%AD%A3%E4%BA%BA/dp/4833421194www.amazon.co.jp

《見方》
論名:ざっくり理解した内容

例示

→自分の考え

続きを読む

1:箱

学年が上がって研究が本格的に始まりました。

7月頃までゼミ研究として「分ける」と箱について色々調べたりモノを作ったりしようと思います。

今日は箱の前例を調べてみました。

 

plaza.harmonix.ne.jp

minne.com

minne.com

d.hatena.ne.jpwww.amazon.co.jp

www.surprise-gift.com

・箱を開けるときにびりっと破くもの(https://www.amazon.co.jp/%E6%98%8E%E6%B2%BB-11977-%E3%83%81%E3%83%A7%E3%82%B3%E3%83%AC%E3%83%BC%E3%83%88%E5%8A%B9%E6%9E%9C%E3%82%AB%E3%82%AB%E3%82%AA72-%E8%9C%9C%E6%BC%AC%E3%81%91%E3%82%AA%E3%83%AC%E3%83%B3%E3%82%B8%E3%83%94%E3%83%BC%E3%83%AB-47g%C3%975%E7%AE%B1/dp/B07HKN16YH とか)

・ポイフルのような一部(もしくは全て)が透明の箱

 

ただ羅列するだけになりましたが、どれも同じ箱なのに印象が変わるなぁと思いました。

9回目のp5.js

長らくブログをさぼってました。
markdownのやり方もだいぶ忘れてます。
何とかして後期に受けたProgrammingBの授業だけでもなんとか全部上げます…他にもいろいろやったことはあるけどまずはそこから頑張る。

let angle = 0;
let r;

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  angleMode(DEGREES);
}

function draw() {
  background(0, 0, 80, 5);

  let x = sin(angle) * 150;
  // print(n); //n=-1~1
  translate(width / 2, height / 2);
  
  r = random(1, 11);
  if (6 < r) {
    fill(0, 100, 100);
  } else {
    fill(180, 100, 100);
  }
  noStroke();
  ellipse(x, 0, r, r);

  angle = angle + 3;
  //angle += 1;
  //angle++;
}
let r = 5;

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  angleMode(DEGREES);
}

function draw() {
  background(0, 0, 80);
  push();
  translate(0, height / 2);

  line(0, 0, width, 0);
  for (let x = 0; x < width; x = x + r) {
    let y = sin(x + frameCount) * 150;

    stroke(0, 0, 0);
    line(x, 0, x, y);

    fill(y + 180, 100, 100);
    // stroke(0, 0, 0, random(100));
    noStroke();
    ellipse(x, y, r, r);

  }

  pop();
}
let x;
let y;
let r;
let angle;


function setup() {
  createCanvas(400, 400);
  angleMode(DEGREES);
  colorMode(HSB, 360, 100, 100, 100);
  x = 0;
  y = 0;
  angle = 0;
  // smooth();
}

function draw() {
  // background(0, 0, 80,5);
  push();
  translate(width / 2, height / 2);

  x = cos(angle * noise(10)) * 150;
  y = sin(angle * noise(5)) * 150;

  r = noise(frameCount*0.01);
  r2=map(r,0,1,1,30);
  fill((x + y + width * 2) % 360, 100, 100);
  noStroke();
  ellipse(x, y, r2, r2);

  angle = angle + random(3);

  pop();
}

課題として作ったのはこちら。左上に数字はランダムに発生させた数字をそのままtextで表示。この数字が変化することで線の描き方が変わり、その数字も一定時間で初期化すると同時に変更してます。

let x = 0;
let y = 0;
let angle = 0;
let r;
let plus1;
let plus2;
let p3;

function setup() {
  createCanvas(windowWidth, windowHeight);
  colorMode(HSB, 360, 100, 100, 100);
  background(0, 0, 0);
  angleMode(DEGREES);
  r = height / 2 - 10;
  plus1 = random();
  plus2 = random();
  p3 = random(3,5);
  p3 = floor(p3);
}

function draw() {
  blendMode(ADD);

  x = x + 1;
  y = y + 1;

  push();
  translate(width / 2, height / 2);

  x = cos(angle * plus1) * r;
  y = sin(angle * plus2) * r;

  x2 = cos(angle * plus2) * r;
  y2 = sin(angle * plus1) * r;

  let n = noise();
  let size = map(n, 0, 1, 5, 10);

  let c = sin(frameCount / 10);
  c = map(c, -1, 1, 0, 10);
  c = floor(c);
  let c2 = map(c, 0, 10, 180, 200);

  let d = map(sin(frameCount / 10), -1, 1, 5, 10);
  let d2 = d + 20;
    
  noStroke();
  fill(c2, 100, 100);
  ellipse(x, y, d, d);
  ellipse(-x, y, d, d);
  ellipse(x, -y, d, d);
  ellipse(-x, -y, d, d);

  fill(c2, 100, 100, 10);
  ellipse(x, y, d2, d2);
  ellipse(-x, y, d2, d2);
  ellipse(x, -y, d2, d2);
  ellipse(-x, -y, d2, d2);

  fill(c2 + 100 % 360, 100, 100);
  ellipse(x2, y2, d, d);
  ellipse(-x2, y2, d, d);
  ellipse(x2, -y2, d, d);
  ellipse(-x2, -y2, d, d);

  fill(c2 + 100 % 360, 100, 100, 10);
  ellipse(x2, y2, d2, d2);
  ellipse(-x2, y2, d2, d2);
  ellipse(x2, -y2, d2, d2);
  ellipse(-x2, -y2, d2, d2);

  pop();

  fill(0, 0, 100);
  text("plus1&plus2", 0, 20);
  text(plus1, 0, 40);
  text(plus2, 0, 60);

  angle = angle + p3;

  if (frameCount % 800 == 0) {
    // save();
    blendMode(NORMAL);
    noStroke();
    fill(0, 0, 0);
    rect(0, 0, width, height);
    x = 0;
    y = 0;
    angle = 0;
    plus1 = random();
    plus2 = random();
    p3 = random(3,5);
    p3 = floor(p3);
  }
}

課題のつもりで作ったけど没にしたコード

let x;
let y;
let r;
let angle;


function setup() {
  createCanvas(400, 400);
  angleMode(DEGREES);
  colorMode(HSB, 360, 100, 100, 100);
  background(0, 0, 0);
  x = 0;
  y = 0;
  angle = 0;
}

function draw() {

  let n = random(100);
  if (n > 10) {
    blendMode(ADD);
  } else {
    blendMode(NORMAL);
  }

  // if (n > 50) {
  noStroke();
  fill(0, 0, 0, 3);
  rect(0, 0, width, height);
  // }

  push();
  translate(width / 2, height / 2);

  x = cos(angle) * 150;
  y = sin(angle) * 150;

  //追加量
  r = noise(frameCount * 0.01);
  r2 = map(r, 0, 1, 10, 50);

  //色
  let c = x + y;
  c2 = map(c, -1, 1, 0, 1);
  c3 = c2 + width;
  c4 = map(c3, 401, 501, 180, 250);

  stroke(c4, 100, 100);
  strokeWeight(1);
  line(x, y, y + r2, x + r2);
  line(y, x, x + r2, y + r2);
  
  // strokeWeight(3);
  // stroke(c4, 100, 100, 30);
  // line(x, y, y + r2, x + r2);
  // line(y, x, x + r2, y + r2);

  angle = angle + random(3);

  pop();
}

考えることについて

今日の授業がいろいろ繋がっているような気がして少し残す。

 

1つ目授業で偶像崇拝禁止における銅像の破壊について知った。

2つ目の授業でSNSとAIについて考えた。

3つ目の授業でLUCYという映画を見た。

LUCYはグロや医療系が苦手な私にとっては見るのはしんどいものでしたが、後半の展開はすごい好きでした。

 

考えたことは以下の通り。最後に?がついていることはまだ自分でも整理のついていないこと、もしくは私では判断ができないもの。

・モノが重要視される博物館において「すべてを提示する」ことは可能か?

・人間らしいAIはどのように作られるのか?

マーシャル・マクルーハンのメディアは身体の拡張を、人間の依存度が高い道具に置き換えるとどうなるか?

・人は脳を多く使うと食べる量が増えるのか?

・恐怖を感じなくなることは人間としての特徴を喪失したといえるのか?

・すべての細胞を制御できると手を変形させることは可能なのか?

・人の脳を100%活性化することは道具になることと同義か?

・生き物の生存は不死と繁殖、なぜ環境が悪いと不死を選び、良いと繁殖を選ぶのか?

・不死と繁殖、人と道具・メディアの境界線とは?

・すべてを知るはとても大変なこと。だから人は単純化し多すぎる情報から目を背ける

 →だから必要な情報だけを集め、引き出すことは重要=博物館の存在理由

・ルーシーはパソコンを取り込んで100%活性化した自身の脳を活用したが、博物館の次世代型はインターネットか?(これは少しわかる気がする)

・脳の使える範囲が拡張することで他人をコントロールすることは可能か?

・100%のルーシーは過去と現在の世界中(過去の初期においては宇宙)を知ることができたが、未来はどうか。

 

もっと疑問があった気がするが覚えているのはこれだけ。

 

今回はそのうち「恐怖を感じなくなることは人間としての特徴を喪失したといえるのか?」について少し書き記して寝ようと思う。

主人公ルーシーが脳の活性度が10%(一般的な人間)の時、マフィアの監視下にいた彼女は恐怖で過呼吸になったり、感情によって行動が制限されていたが、感情が無くなる(特に顕著なのは恐怖)ことで行動に迷いがなくなった。その結果一方通行の道路を逆走したり蛇行運転をする、活性化した脳で車を横転させることもいとわない。

これは人間らしさ、ルールを守ることを放棄したように見える。脳の活性化が進むと機械的になるのかについては疑問だ。

8回目のp5.js

function setup() {
  createCanvas(400, 400);
  colorMode(HSB,360,100,100,100);
}

function draw() {
  background(0,0,0);
  let n = noise(frameCount / 100);
  
  let d=map(n,0,1,100,200);
  let h=map(n,0,1,150,250);
  
  strokeWeight(3);
  stroke(random(360),100,100);
  fill(h%360,100,100);
  ellipse(mouseX-100,mouseY,d,d);
  let s=random(100,200);
  fill(s,100,100);
  ellipse(mouseX+100,mouseY,s);
}

noiseとrandomの違い。 noiseが左でrandomは右。だいぶ違う。

let r = 5;

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
}

function draw() {
  background(220);
  // let n=noise(frameCount/100);
  // print(n);
  // rect(50,50,100,n*200);

  push();
  translate(0, height / 2);
  for (let x = 0; x < width; x = x + 5) {
    y = noise(x / 100, frameCount / 100); //1つ目は劇的か緩やかか、2つ目はスピードが早いか遅いか
    y2 = map(y, 0, 1, -height / 2, height / 2);
    c = map(y, 0, 1, 0, 360);
    
    stroke((c+90)%360,100,100);
    fill(c, 100, 100);
    ellipse(x, y2, r, r);
  }
  pop();
}
let h;//takasa
let hh;//takasa2
let r = 50;

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  h = 50;
  textAlign(CENTER);
  angleMode(DEGREES);
}

function draw() {
  background(0, 0, 0);

  push();
  translate(width / 2 - 30, width / 4 * 3);

  //graph
  let r1=random(5);
  let r2=random(2);
  randomSeed("Japan");
  h = noise(frameCount * r1 / r2 / 1000);
  let h2 = map(h, 0, 1, 0, -250);
  let c = map(h, 0, 1, 200, 360);
  fill(c, 100, 100);
  rect(-50 / 2, 0, 50, h2);

  randomSeed("France");
  let r3=random(5);
  let r4=random(2);
  hh = noise(frameCount * r3 / r4/ 1000);
  let hh2 = map(hh, 0, 1, 0, -250);
  let c2 = map(hh, 0, 1, 200, 360); //ここhhのはずだったのにhでした(修正:2018/11/14)
  fill(c2, 100, 100);
  rect(-50 / 2 + 250 / 2, 0, 50, hh2);

  //line
  stroke(45, 100, 100);
  line(-width / 2, 0, width / 2 + 30, 0);
  line(-width / 2, -250, width / 2 + 30, -250);
  line(-100, 0, -100, -250);

  //persentage
  for (let i = 0; i < 101; i = i + 10) {
    i2 = map(i, 0, 100, 0, -250);
    strokeWeight(1);
    line(-125, i2, width / 2 + 30, i2);
    fill(45, 100, 100);
    strokeWeight(0);
    text(i, -115, i2);
  }
  text("(%)", -115, 20);

  //Japan flag
  rectMode(CENTER);
  fill(0, 0, 100);
  noStroke();
  ellipse(0, 50, r, r);
  fill(0, 100, 100);
  ellipse(0, 50, r - 20, r - 20);
  //France flag
  fill(0, 0, 100);
  rect(125, 50, r / 3, r);
  fill(250, 100, 100);
  rect(125 - r / 3, 50, r / 3, r);
  fill(0, 100, 100);
  rect(125 + r / 3, 50, r / 3, r);

  pop();
}

2018/10/28の山形一生さんのLIVEの内の一つに近づけられるように頑張ってみました。(国旗も数字も意味はない。けれどあるだけで見る人が勝手に意味をつける、というのが心に残ってる)
www.youtube.com これの1:55ごろから始まります。
あのグラフと不協和音の恐怖感は未だに残ってる…。確かrandomを使用していたと思うのですが、noiseなしに滑らかに変化していく数字を考えられなかった。でも、今回は思った通りのプログラミングができて嬉しい。
数週間前からブログの一番下にTwitterを表示させてます。横に表示したいのでテーマ変えたい。

7回目のp5.js

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  rectMode(CENTER);
  background(0, 0, 0);
}

function draw() {
  fill(0, 0, 0, 1);
  fill(30, 80, 100);
  noStroke();
  push();
  translate(200, 200);
  rotate(frameCount * 0.05 % 360);
  fill(random(360), 0, random(100));
  rect(30, 0, 10, 1);
  rect(-60, 0, 20, 2);
  rect(0, 100, 3, 30);
  rect(0, -150, 4, 40);
  pop();
}

これは授業で作ったものをさっきちょっと変えたやつ。
色付きよりモノクロのほうがかっこよかったので変更したり、ellipseよりrectのほうがかっこよかったので変更。

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  angleMode(DEGREES);
}

function draw() {
  push();
  translate(width / 2, height / 2);
  rotate(frameCount % 360);
  fill(frameCount % 360, 80, 100, random(20));
  noStroke();
  rectMode(CENTER);
  arc(0, 0, 50, 50, 0, random(5));
  text("TIRE", 100, 0);
  pop();

  fill(0, 0, 0, 1);
  text("Tire", 20, 20);
}

これは課題にしようかと思ってたけど変えたもの。タイヤみたいにできそうだと思った。

↑キーボードで文字を打つ必要があります、打った文字がくるくる回って謎のマークを作ります。

let i = 0;
let c = 0;
let y = 0;
let key1 = false;

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  angleMode(DEGREES);
  c = random(360);
  y = random(height / 2);
}

function draw() {
  if (key1 = true) {

    push();
    translate(width / 2, height / 2);
    rotate(360 / 180 * i);
    textSize(random(30));
    fill(c + random(100), 100, 100, 50);
    text(key, 0, y);
    pop();
    i = i + 1;
  }
  
  if (i > 180) {
    y = random(height / 2);
    i = 0;
    key1=false;
  }

  if (keyIsPressed) {
    key1 = true;
  }
}

「移動させる」「回る」が課題だったのでなんとなく中央配置が多かったなぁと並べて思いました。

arcが回る

function setup() {
  createCanvas(400, 400);
  colorMode(HSB, 360, 100, 100, 100);
  angleMode(DEGREES);
  background(0, 0, 0);
  frameRate(10);
}

function draw() {
  fill(0, 0, 0, 100);
  rect(0, 0, width, height);
  
  push();
  translate(width / 2, height / 2);
  
  for (let i = 0; i < width; i = i + 20) {
    noFill();
    
    let i2 = map(i, 0, width, 0, 360);  
    let s1 = random(360);
    let s2 = random(360);

    strokeWeight(5);
    stroke(i2 % 360, 100, 100, 50);
    arc(0, 0, i, i, s1, s2);
    
    strokeWeight(1);
    stroke(i2 % 360, 100, 100, 100);
    arc(0, 0, i, i, s1, s2);
  }
  pop();
}

電光掲示板みたいな質感の出し方を教わったのとarcで遊びたくて作った。
割と想像したとおりに作れたのと、mapをずっと理解できたのに避けてたのでうまく行ってよかった。丸好きかもしれない。