teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2021/12/18 13:08

投稿

thkana
thkana

スコア7735

answer CHANGED
@@ -56,4 +56,44 @@
56
56
  noiseって、私のイメージでは、凸凹のある地形図データベースを持っていて、その地図からある座標の高度を読み出す感じ(ノイズという言葉にはなんか当てはまらないけれど)。地形として連続性があって、細かいピッチで読み出せば「なだらか」に見えるし、荒いピッチで読み出せば比較的変化が急になる。
57
57
  で、「どういうものか」という話と「どう使えば効果的か」という話はまったく別だったりする...
58
58
 
59
- (「もぞもぞ」じゃなくて「もぞもぞっ」だったか...最後の'っ'で随分印象が変わる気がする)
59
+ (「もぞもぞ」じゃなくて「もぞもぞっ」だったか...最後の'っ'で随分印象が変わる気がする)
60
+
61
+ ---
62
+
63
+ もしかして、「線の中を虫が這い回る」ってこんなことなのかしら? 力尽きてきたのでJava版Processingで。p5.jsへの移植もそんなに難しくないと思うので。
64
+ ```Processing
65
+ float xx;
66
+ float y0=20;//上下線の間隔
67
+ float ny=0;
68
+ float ndy=0.01;
69
+ float nx1=0;
70
+ float ndx1=0.1;
71
+ float ndx2=0.01;
72
+ float cent;
73
+
74
+ void setup() {
75
+ size(400, 200);
76
+ strokeWeight(3);
77
+ cent=height/2; //中心位置
78
+ stroke(0);
79
+ fill(0);
80
+ }
81
+
82
+ void draw() {
83
+ background(0xcc);
84
+ xx=xx+8*noise(nx1);
85
+ if (xx>width) {
86
+ xx=0;
87
+ }
88
+ float ddPrev=0;
89
+ for (int x=0; x<width; x++) {
90
+ float dd=max(y0*40/dist(xx, cent, x, cent+y0)*noise(x*ndx2, ny)-3, 0);
91
+ line(x-1, cent-y0-ddPrev, x, cent-y0-dd);
92
+ line(x-1, cent+y0+ddPrev, x, cent+y0+dd);
93
+ ddPrev=dd;
94
+ circle(xx, height/2, 20);
95
+ }
96
+ nx1+=ndx1;
97
+ ny+=ndy;
98
+ }
99
+ ```

3

プログラムの動作見栄え修正

2021/12/18 13:08

投稿

thkana
thkana

スコア7735

answer CHANGED
@@ -41,6 +41,7 @@
41
41
  ```Processing
42
42
  //draw()のみ差し換え
43
43
  function draw() {
44
+ noStroke();
44
45
  background(0xcc);
45
46
  x+=5*noise(n);
46
47
  n+=dn;

2

追記...?

2021/12/18 08:31

投稿

thkana
thkana

スコア7735

answer CHANGED
@@ -53,4 +53,6 @@
53
53
  }
54
54
  ```
55
55
  noiseって、私のイメージでは、凸凹のある地形図データベースを持っていて、その地図からある座標の高度を読み出す感じ(ノイズという言葉にはなんか当てはまらないけれど)。地形として連続性があって、細かいピッチで読み出せば「なだらか」に見えるし、荒いピッチで読み出せば比較的変化が急になる。
56
- で、「どういうものか」という話と「どう使えば効果的か」という話はまったく別だったりする...
56
+ で、「どういうものか」という話と「どう使えば効果的か」という話はまったく別だったりする...
57
+
58
+ (「もぞもぞ」じゃなくて「もぞもぞっ」だったか...最後の'っ'で随分印象が変わる気がする)

1

サンプル追記

2021/12/18 07:27

投稿

thkana
thkana

スコア7735

answer CHANGED
@@ -9,4 +9,48 @@
9
9
  虫ではないけれどこんなのも。
10
10
  https://gist.github.com/p5info/5351768
11
11
 
12
- 気持ち悪さが足りないでしょうか。
12
+ 気持ち悪さが足りないでしょうか。
13
+
14
+ ---
15
+ 速度を一定でなくしたいだけなら例えばこんな。Javascriptはよく知らないからあまり自信ない。
16
+ 「もぞもぞ」感はないなぁ。
17
+ ```Processing
18
+ //p5.js
19
+ let x=0;
20
+ let n=0;
21
+ let dn=0.1;
22
+
23
+ function setup() {
24
+ createCanvas(500,200);
25
+ }
26
+
27
+
28
+ function draw() {
29
+ background(0xcc);
30
+ let ns=noise(n);
31
+ text(ns,50,50);
32
+ x+=10*ns;
33
+ n+=dn;
34
+ circle(x,100,30);
35
+ if(x>width){
36
+ x-=width;
37
+ }
38
+ }
39
+ ```
40
+ 「胴体」を作ってみると虫っぽくなって、ちょっと「もぞもぞ」してきただろうか?
41
+ ```Processing
42
+ //draw()のみ差し換え
43
+ function draw() {
44
+ background(0xcc);
45
+ x+=5*noise(n);
46
+ n+=dn;
47
+ for(let xx=0; xx<50; xx++){
48
+ circle(x-xx,50+noise((x-xx)*0.03)*50,30);
49
+ if(x>width){
50
+ x-=width;
51
+ }
52
+ }
53
+ }
54
+ ```
55
+ noiseって、私のイメージでは、凸凹のある地形図データベースを持っていて、その地図からある座標の高度を読み出す感じ(ノイズという言葉にはなんか当てはまらないけれど)。地形として連続性があって、細かいピッチで読み出せば「なだらか」に見えるし、荒いピッチで読み出せば比較的変化が急になる。
56
+ で、「どういうものか」という話と「どう使えば効果的か」という話はまったく別だったりする...