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

質問編集履歴

2

イメージ図の挿入

2021/05/18 09:09

投稿

yagi_shu
yagi_shu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,15 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- csvデータに含まれる位置情報(xyz値)のデータを行列計算によって回転・移動を行いたいと考えています。具体的には1.原点中心の回転とするために平行移動を行う。2.原点中心に回転を行い、csvデータのxの値がすべて0となる(北を基準)よう回転を行う。の2点を行いたいと考えています。
3
+ csvデータに含まれる位置情報(xyz値)のデータを行列計算によって回転・移動を行いたいと考えています。具体的には1.原点中心の回転とするために平行移動を行う。2.原点中心に回転を行い、位置情報データをY軸を基準とするよう回転を行う。の2点を行いたいと考えています。
4
4
 
5
5
  1.については起点なる位置の抽出ができたのですが、2.の回転のフェーズにおいて、csvデータの行ごとの計算方法がわかりません。
6
6
 
7
7
  座標の変換を行って、xyzを再びcsvデータとして出力する方法はわかるのですが、回転の計算の部分のみわかりません。よろしくお願いいたします。
8
+ 私が考えている平行移動及び回転のイメージは以下の図のようになっております。
9
+ ![イメージ説明](ef87de5926459fcb9796c5e4d475c2a0.png)
8
10
 
9
11
  以下、csvデータの一部分です。
10
-
12
+ X        Y        Z
11
13
  18840.76758 -30595.92773 26.81204796
12
14
  18840.75781 -30595.89648 26.83104706
13
15
  18840.7832 -30595.90625 26.82704735
@@ -19,7 +21,10 @@
19
21
  18840.73633 -30595.875 26.81004715
20
22
  18840.75781 -30595.88477 26.80404663
21
23
 
24
+ また、各行が位置を表しており、これらのデータを以下の式を使って座標変換したいと考えています。
25
+ ![イメージ説明](83ef0e0cda2e0936250783788ce56bf3.png)
22
26
 
27
+
23
28
  ### 該当のソースコード
24
29
 
25
30
  ```ここに言語名を入力
@@ -61,7 +66,7 @@
61
66
  sinθ = np.sin(np.radians(θ))
62
67
  cosθ = np.cos(np.radians(θ))
63
68
 
64
- #この式を使って回転・移動を行うため、csvに含まれる位置情報データ適応したいです。
69
+ #この式を使って回転・移動を行うため、csvに含まれる位置情報データ適応したいです。
65
70
  u = ( X*(cosθ) + Y*(sinθ) - x1 )
66
71
  v = ( -X*(sinθ) + Y*(cosθ) - y1 )
67
72
 

1

CSVデータの追加

2021/05/18 09:09

投稿

yagi_shu
yagi_shu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,20 @@
6
6
 
7
7
  座標の変換を行って、xyzを再びcsvデータとして出力する方法はわかるのですが、回転の計算の部分のみわかりません。よろしくお願いいたします。
8
8
 
9
+ 以下、csvデータの一部分です。
10
+
11
+ 18840.76758 -30595.92773 26.81204796
12
+ 18840.75781 -30595.89648 26.83104706
13
+ 18840.7832 -30595.90625 26.82704735
14
+ 18840.78516 -30595.91016 26.81804657
15
+ 18840.76758 -30595.9082 26.8090477
16
+ 18840.75781 -30595.9082 26.79904747
17
+ 18840.76172 -30595.91211 26.7920475
18
+ 18840.77148 -30595.92188 26.7770462
19
+ 18840.73633 -30595.875 26.81004715
20
+ 18840.75781 -30595.88477 26.80404663
21
+
22
+
9
23
  ### 該当のソースコード
10
24
 
11
25
  ```ここに言語名を入力