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

回答編集履歴

9

説明を改善

2021/11/28 05:39

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -5,17 +5,17 @@
5
5
 
6
6
  > int circleResolution = (int)map(mouseY+100,0,height,2, 10);
7
7
 
8
- こでは circleResolution を求め使用しています。circleResolution は N 角形 N に相当します。
8
+ `circleResolution` は変数名からすると円何分割すか(何角形するか)を決めていだと思います。
9
- マウスの位置に応じて 2~10 角形を作るようにしているようです。
9
+ マウスのY座標の位置に応じて 2~10 角形を作るようにしているようです。
10
10
 
11
11
  > また図形の法則性がわかりません、、
12
12
 
13
- 円を描くのに三角関数を用いて表現することができます。よくある例としては単位円の説明で出てきます。
13
+ 円を描くのに三角関数を用いて表現することができます。よくある例としては[単位円](https://www.google.com/search?q=%E5%8D%98%E4%BD%8D%E5%86%86)の説明で出てきます。
14
14
  ・x が赤色の動き(左右の動き)… cos カーブ
15
15
  ・y が青色の動き(上下の動き)… sin カーブ
16
16
  この 点P(x,y) の座標をプロットすると円を描くことができます。
17
17
 
18
- 細かくプロットすると円ですが、一定の角度毎にプロットすると多角形が描画できます。
18
+ そして、細かくプロットすると円ですが、一定の角度毎にプロットすると多角形が描画できます。
19
19
  例えば、
20
20
  ・30度づつプロットすれば十二角形
21
21
  ・60度づつプロットすれば六角形
@@ -34,7 +34,7 @@
34
34
  ![三角形の例](d82e1720fbb5d68bca9c85ffd39846d0.png)
35
35
 
36
36
  ```processing
37
- // N 角形の数ぶんループ
37
+ // 分割数ぶんループ(N角形を描画する)
38
38
  for (int i=0; i<=circleResolution; i++){
39
39
  float x = 0 + cos(angle*i) * radius; // cos(角度×i) × 半径 … 赤色の動き
40
40
  float y = 0 + sin(angle*i) * radius; // sin(角度×i) × 半径 … 青色の動き

8

図を改善(sin/cosカーブが滑らかになるよう修正)

2021/11/28 05:39

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -25,13 +25,13 @@
25
25
  以下は十二角形/六角形/三角形の描画例になります。
26
26
 
27
27
  ■ 十二角形の例(30度づつプロットした場合の例)
28
- ![十二角形の例](1f5c30b1363a9e30b8f5ca8df422bf4a.png)
28
+ ![十二角形の例](b0a01eec4cfd64beeece262af140e574.png)
29
29
 
30
30
  ■ 六角形の例(60度づつプロットした場合の例)
31
- ![六角形の例](9beb32b4a6b7f3d95abc1cbe20e5e9ec.png)
31
+ ![六角形の例](361b1caaf0ab6868cbda6b30d0689be1.png)
32
32
 
33
33
  ■ 三角形の例(120度づつプロットした場合の例)
34
- ![三角形の例](3b861f16f91d1a4b732101cdaf8527da.png)
34
+ ![三角形の例](d82e1720fbb5d68bca9c85ffd39846d0.png)
35
35
 
36
36
  ```processing
37
37
  // N 角形の数ぶんループ

7

説明を改善

2021/11/28 05:22

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  ・120度づつプロットすれば三角形
23
23
  といった感じです。
24
24
 
25
- 以下は十二角形の例になります。
25
+ 以下は十二角形/六角形/三角形描画例になります。
26
26
 
27
27
  ■ 十二角形の例(30度づつプロットした場合の例)
28
28
  ![十二角形の例](1f5c30b1363a9e30b8f5ca8df422bf4a.png)

6

説明を改善

2021/11/27 16:20

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  > int circleResolution = (int)map(mouseY+100,0,height,2, 10);
7
7
 
8
- ここでは circleResolution を求めるに使用しています。circleResolution は N 角形の N に相当します。
8
+ ここでは circleResolution を求めるに使用しています。circleResolution は N 角形の N に相当します。
9
9
  マウスの位置に応じて 2~10 角形を作るようにしているようです。
10
10
 
11
11
  > また図形の法則性がわかりません、、
12
12
 
13
- 円を描くのに三角関数を用いて表現することができます。
13
+ 円を描くのに三角関数を用いて表現することができます。よくある例としては単位円の説明で出てきます。
14
14
  ・x が赤色の動き(左右の動き)… cos カーブ
15
15
  ・y が青色の動き(上下の動き)… sin カーブ
16
16
  この 点P(x,y) の座標をプロットすると円を描くことができます。

5

六角形と三角形の図を追加

2021/11/27 16:17

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -24,9 +24,15 @@
24
24
 
25
25
  以下は十二角形の例になります。
26
26
 
27
- ■ 十二角形の例
27
+ ■ 十二角形の例(30度づつプロットした場合の例)
28
- ![十二角形の例](8b94fa67419ee1210efbc86145601ae4.png)
28
+ ![十二角形の例](1f5c30b1363a9e30b8f5ca8df422bf4a.png)
29
29
 
30
+ ■ 六角形の例(60度づつプロットした場合の例)
31
+ ![六角形の例](9beb32b4a6b7f3d95abc1cbe20e5e9ec.png)
32
+
33
+ ■ 三角形の例(120度づつプロットした場合の例)
34
+ ![三角形の例](3b861f16f91d1a4b732101cdaf8527da.png)
35
+
30
36
  ```processing
31
37
  // N 角形の数ぶんループ
32
38
  for (int i=0; i<=circleResolution; i++){

4

表記を「3角形/6角形/12角形」→「三角形/六角形/十二角形」に変更

2021/11/27 16:10

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -17,15 +17,15 @@
17
17
 
18
18
  細かくプロットすると円ですが、一定の角度毎にプロットすると多角形が描画できます。
19
19
  例えば、
20
- ・30度づつプロットすれば12角形
20
+ ・30度づつプロットすれば十二角形
21
- ・60度づつプロットすれば6角形
21
+ ・60度づつプロットすれば角形
22
- ・120度づつプロットすれば3角形
22
+ ・120度づつプロットすれば角形
23
23
  といった感じです。
24
24
 
25
- 以下は12角形の例になります。
25
+ 以下は十二角形の例になります。
26
26
 
27
- 12角形の例
27
+ 十二角形の例
28
- ![12角形の例](8b94fa67419ee1210efbc86145601ae4.png)
28
+ ![十二角形の例](8b94fa67419ee1210efbc86145601ae4.png)
29
29
 
30
30
  ```processing
31
31
  // N 角形の数ぶんループ

3

図を修正

2021/11/27 12:14

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  > (int)というのはどういった意味でしょうか。
2
2
 
3
3
  `(int)` は型キャストと言い、型を変換するのに用います。
4
- `map(a,b,c,d,e)` 関数は`a`を`b-c`の範囲から`d-e`の範囲変換する関数です。`float` 型を返す関数である為、`int` 型に変換するのに使用されています。
4
+ `map(a,b,c,d,e)` 関数は`a`を`b-c`の範囲から`d-e`の範囲変換する関数です。`float` 型を返す関数である為、`int` 型に変換するのに使用されています。
5
5
 
6
6
  > int circleResolution = (int)map(mouseY+100,0,height,2, 10);
7
7
 
@@ -25,7 +25,7 @@
25
25
  以下は12角形の例になります。
26
26
 
27
27
  ■ 12角形の例
28
- ![イメージ説明](e8be0c3db4cd22cb750e2c462135a005.png)
28
+ ![12角形の例](8b94fa67419ee1210efbc86145601ae4.png)
29
29
 
30
30
  ```processing
31
31
  // N 角形の数ぶんループ

2

説明を改善

2021/11/27 04:54

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,18 +1,18 @@
1
1
  > (int)というのはどういった意味でしょうか。
2
2
 
3
3
  `(int)` は型キャストと言い、型を変換するのに用います。
4
- `map()` 関数`float` 型を返す関数である為、`int` 型に変換するのに使用されています。
4
+ `map(a,b,c,d,e)` 関数`a`を`b-c`の範囲から`d-e`の範囲変換する関数です。`float` 型を返す関数である為、`int` 型に変換するのに使用されています。
5
5
 
6
6
  > int circleResolution = (int)map(mouseY+100,0,height,2, 10);
7
7
 
8
- ここでは circleResolution N角形の N に相当します。
8
+ ここでは circleResolution を求めるに使用しています。circleResolution N 角形の N に相当します。
9
- マウスの位置に応じて 2~10 角形を作るようになっているようです。
9
+ マウスの位置に応じて 2~10 角形を作るようにているようです。
10
10
 
11
11
  > また図形の法則性がわかりません、、
12
12
 
13
13
  円を描くのに三角関数を用いて表現することができます。
14
- ・xが赤色の動き(左右の動き)… cos カーブ
14
+ ・x が赤色の動き(左右の動き)… cos カーブ
15
- ・yが青色の動き(上下の動き)… sin カーブ
15
+ ・y が青色の動き(上下の動き)… sin カーブ
16
16
  この 点P(x,y) の座標をプロットすると円を描くことができます。
17
17
 
18
18
  細かくプロットすると円ですが、一定の角度毎にプロットすると多角形が描画できます。

1

説明を改善

2021/11/27 00:02

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -28,10 +28,11 @@
28
28
  ![イメージ説明](e8be0c3db4cd22cb750e2c462135a005.png)
29
29
 
30
30
  ```processing
31
+ // N 角形の数ぶんループ
31
32
  for (int i=0; i<=circleResolution; i++){
32
33
  float x = 0 + cos(angle*i) * radius; // cos(角度×i) × 半径 … 赤色の動き
33
- float y = 0 + sin(angle*i) * radius; // sin(角度×i) × 半径 … 青色の
34
+ float y = 0 + sin(angle*i) * radius; // sin(角度×i) × 半径 … 青色の動き
34
- vertex(x, y);
35
+ vertex(x, y); // 頂点をプロット
35
36
  }
36
37
  ```
37
38