LoginSignup
0
0

More than 5 years have passed since last update.

Excelで線分上の最も近い点

Last updated at Posted at 2016-12-17

'線分上の最も近い点/Excelの行列関数を使った(スマートな?)解法 
'(参考)図形情報を扱うのに大事なことは、全部高校で教わった
'http://qiita.com/yuba/items/2f35d1e5e162f44fc1b3
'(参考)Excelの計算式をテキストファイルに出力してみた
①変換行列の正式名称を教えて下さい。(日本語英語)
②もっと短くなりますか

'関数の入力時,Ctrl+Shift+Enterが必要です。
'座標系1(0,0)→座標系2(0,0)--------------------------------------------
1行 1列目: 0
1行 2列目: 0
1行 3列目: 0
1行 4列目: 0
'座標系1(1,1)→座標系2(2点間の距離,0)
2行 1列目: 1
2行 2列目: 1
2行 3列目: =SQRT((A2-A1)^2+(B2-B1)^2)
2行 4列目: 0
'cos,sin,tx,tyの計算------------------------------------------
4行 1列目: =A1
4行 2列目: =-B1
4行 3列目: 1
4行 4列目: 0
4行 6列目: =MINVERSE(A4:D7)
4行 7列目: =MINVERSE(A4:D7)
4行 8列目: =MINVERSE(A4:D7)
4行 9列目: =MINVERSE(A4:D7)
4行 11列目: =C1
4行 13列目: =MMULT(F4:I7,K4:K7)
'
5行 1列目: =B1
5行 2列目: =A1
5行 3列目: 0
5行 4列目: 1
5行 6列目: =MINVERSE(A4:D7)
5行 7列目: =MINVERSE(A4:D7)
5行 8列目: =MINVERSE(A4:D7)
5行 9列目: =MINVERSE(A4:D7)
5行 11列目: =D1
5行 13列目: =MMULT(F4:I7,K4:K7)
'
6行 1列目: =A2
6行 2列目: =-B2
6行 3列目: 1
6行 4列目: 0
6行 6列目: =MINVERSE(A4:D7)
6行 7列目: =MINVERSE(A4:D7)
6行 8列目: =MINVERSE(A4:D7)
6行 9列目: =MINVERSE(A4:D7)
6行 11列目: =C2
6行 13列目: =MMULT(F4:I7,K4:K7)
'
7行 1列目: =B2
7行 2列目: =A2
7行 3列目: 0
7行 4列目: 1
7行 6列目: =MINVERSE(A4:D7)
7行 7列目: =MINVERSE(A4:D7)
7行 8列目: =MINVERSE(A4:D7)
7行 9列目: =MINVERSE(A4:D7)
7行 11列目: =D2
7行 13列目: =MMULT(F4:I7,K4:K7)
'変換行列の表示(AとAの逆行列)------------------------------------------
9行 1列目: =M4
9行 2列目: =-M5
9行 3列目: =M6
9行 6列目: =MINVERSE(A9:C11)
9行 7列目: =MINVERSE(A9:C11)
9行 8列目: =MINVERSE(A9:C11)
'
10行 1列目: =M5
10行 2列目: =M4
10行 3列目: =M7
10行 6列目: =MINVERSE(A9:C11)
10行 7列目: =MINVERSE(A9:C11)
10行 8列目: =MINVERSE(A9:C11)
'
11行 1列目: 0
11行 2列目: 0
11行 3列目: 1
11行 6列目: =MINVERSE(A9:C11)
11行 7列目: =MINVERSE(A9:C11)
11行 8列目: =MINVERSE(A9:C11)
'(座標変換1)----------------------------------------------
13行 1列目: 1
13行 2列目: 0
13行 3列目: 1
13行 6列目: =TRANSPOSE(MMULT(A9:C11,TRANSPOSE(A13:C13)))
13行 7列目: =TRANSPOSE(MMULT(A9:C11,TRANSPOSE(A13:C13)))
13行 8列目: =TRANSPOSE(MMULT(A9:C11,TRANSPOSE(A13:C13)))
'(座標変換2:線分上)------------------------------------------
15行 1列目: =F13
15行 2列目: 0
15行 3列目: 1
15行 6列目: =TRANSPOSE(MMULT(F9:H11,TRANSPOSE(A15:C15)))
15行 7列目: =TRANSPOSE(MMULT(F9:H11,TRANSPOSE(A15:C15)))
15行 8列目: =TRANSPOSE(MMULT(F9:H11,TRANSPOSE(A15:C15)))
'

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0