回答編集履歴
4
基本事項について
answer
CHANGED
@@ -18,4 +18,23 @@
|
|
18
18
|
従って**d**は、**c⊥**を**c⊥**の長さで割って、(=長さを1にして)100倍したものです:
|
19
19
|
**d** = 100 * **c⊥**/|**c⊥**|
|
20
20
|
|
21
|
-
**d**が求まったので、**a'**,**b'**が求まります。
|
21
|
+
**d**が求まったので、**a'**,**b'**が求まります。
|
22
|
+
|
23
|
+
|
24
|
+
---
|
25
|
+
|
26
|
+
前提知識
|
27
|
+
|
28
|
+
点V (x,y) の位置ベクトルを**v** = (x,y)などと書きます。
|
29
|
+
原点をO (0,0)とすれば→OV = (x,y)などとも書きます。
|
30
|
+
|
31
|
+
**v1** = (x1, y1)
|
32
|
+
**v2** = (x2, y2)のとき
|
33
|
+
**v1** + **v2** = (x1+x2, y1+y2)です。
|
34
|
+
|
35
|
+
**v** = (x,y)の長さを|**v**|などと表し、
|
36
|
+
|**v**| = √(x^2 + y^2)です。
|
37
|
+
|
38
|
+
**v**=(x,y)を定数c倍したものは
|
39
|
+
c * **v** = (c * x , c * y)
|
40
|
+
|
3
垂直について
answer
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
まず、元の直線に垂直なベクトル**c⊥**を算出します。
|
13
13
|
これは**c**(=**b**-**a**)に垂直なベクトルです。
|
14
14
|
(2つ方向の候補がありますが目的にあっているものを選んでください)
|
15
|
+
**c**のx成分とy成分を入れ替えてどちらかの成分を−1倍するのが一番手軽ですね
|
15
16
|
|
16
17
|
**d**は、**c⊥**と同じ向きで、長さが100のものです。
|
17
18
|
従って**d**は、**c⊥**を**c⊥**の長さで割って、(=長さを1にして)100倍したものです:
|
2
図の挿入、説明を図に合わせる
answer
CHANGED
@@ -1,5 +1,20 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
(ベクトルは太字で書きます。)
|
4
|
+
|
5
|
+
既知なのは
|
6
|
+
**a**=(300,300),**b**=(700,500),および**d**の長さ(=100)、
|
7
|
+
知りたいのは
|
8
|
+
**a'**(=**a**+**d**),**b'**(=**b**+**d**)ですね。
|
9
|
+
**a**,**b**は既知なので、**d**を求めればいいことになります。
|
10
|
+
(これすら腑に落ちない場合は言ってください。)
|
11
|
+
|
1
|
-
元の直線に垂直な
|
12
|
+
まず、元の直線に垂直なベクトル**c⊥**を算出します。
|
13
|
+
これは**c**(=**b**-**a**)に垂直なベクトルです。
|
2
|
-
(2つ候補がありますが目的にあっているものを選んでください)
|
14
|
+
(2つ方向の候補がありますが目的にあっているものを選んでください)
|
3
|
-
|
15
|
+
|
4
|
-
|
16
|
+
**d**は、**c⊥**と同じ向きで、長さが100のものです。
|
17
|
+
従って**d**は、**c⊥**を**c⊥**の長さで割って、(=長さを1にして)100倍したものです:
|
18
|
+
**d** = 100 * **c⊥**/|**c⊥**|
|
19
|
+
|
5
|
-
|
20
|
+
**d**が求まったので、**a'**,**b'**が求まります。
|
1
単位ベクトルについて
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
元の直線に垂直な単位ベクトルを算出します。
|
2
|
+
(2つ候補がありますが目的にあっているものを選んでください)
|
2
3
|
ユーザー入力の移動量dを求めた単位ベクトルに掛けて移動ベクトルとします
|
3
4
|
元の直線の始点と終点にそれぞれ移動ベクトルを加算します。
|
4
5
|
移動後の点を結べば平行移動した直線になります。
|