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

回答編集履歴

3

dd

2020/01/14 08:28

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  # 計算している部分
34
34
  v = (p2 - p1) / np.linalg.norm(p2 - p1) # 直線の方向を表す単位ベクトル
35
- h = (P - p1) @ v / np.linalg.norm(v) * v + p1 # 点 P から直線に対して下ろした垂線
35
+ h = (P - p1) @ v * v + p1 # 点 P から直線に対して下ろした垂線
36
36
  Q = h + (P - h) * N # N 倍した点
37
37
  ```
38
38
 

2

d

2020/01/14 08:28

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -3,8 +3,15 @@
3
3
  1. 垂線の足 h を求める。
4
4
  2. ベクトル hA を N 倍する。
5
5
 
6
- 垂線の足hは、以下ようにして求めます。
6
+ 垂線の足hは、[内積性質](https://qiita.com/kenmatsu4/items/a144047c1b49aa8c7eb0)
7
7
 
8
+ ```
9
+ ベクトルa, b のなす角をθとしたとき、
10
+ cosθ = a・b / |a||b|
11
+ ```
12
+
13
+ を使って、以下のようにして求めます。
14
+
8
15
  [geometry - Finding a perpendicular vector from a line to a point - Mathematics Stack Exchange](https://math.stackexchange.com/questions/1398634/finding-a-perpendicular-vector-from-a-line-to-a-point)
9
16
 
10
17
  ## コード

1

d

2020/01/14 08:26

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,4 +1,4 @@
1
- 直線から点A直線に下ろした垂線の足さえ求まれば、あとは以下のようにすればよいです。
1
+ 点Aから直線に下ろした垂線の足さえ求まれば、あとは以下のようにすればよいです。
2
2
 
3
3
  1. 垂線の足 h を求める。
4
4
  2. ベクトル hA を N 倍する。