2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|

2016-08-09 複数の沢山ある経路(ベクトル)が存在している時に、 ある出発点と終着点(ベクトル)を与えた時に、沢山ある経路を繋いで、 出発から終着までを繼ぐ複数の経路を選びだすプログラム [長年日記]

 
   このプログラムは、複数の沢山ある経路(ベクトル)が存在している時に、ある出発点と終着点(ベクトル)を与えた時に、沢山ある経路を繋いで、出発から終着までを繼ぐ複数の経路を選びだすプログラムである。
 
   ベクトルは、緯度、軽度、時間 の出発と到着を示す6要素で示される
   3次元ベクトルである。
 
   現時点のこのプログラムでは、緯度、軽度、時間は100x100x100の
   格子状のいずれかの2点を結んで、ベクトルとしている。
 
   プログラムは以下のようになっている。
 
   [Step.1] まず1000~5000くらの経路ベクトルを乱数で作る
 
   [Step.2] 出発と到着のベクトル(旅程ベクトル)を一つ作る(ここでは乱数で)
 
   [Step.3] 旅程ベクトルに近い経路ベクトルを一つ選ぶ
 
   [Step.4] 旅程ベクトルの両端のベクトル(ここでは2つできる)を新しい旅程
   ベクトルとして、経路ベクトルを選ぶ→ これを、選べる経路ベクトルがなくなるまで、繰り返す。
 
   [Step.5] このようにして選び出された経路ベクトルを、出発から近い順番に表示する高速化と省メモリもあるが、それ以上に、最終的に経路ベクトルがいくつ選択されるのか分からないので、すべて動的メモリを使っている。
 
   その為、処理が恐しく面倒くさい
 
   それと、ベクトルが視認できないと、訳が分からんので、とても簡単な3Dルーチンも作ってある。
 
   「こんなもの、もう二度と作りたくないので、今のうちに退避しておく」