English

TriNET
TriNETは不規則に分布する点を連結して三角形のネットワークを作るWindows版フリーソフトです。こんなふうに地表面上にランダムに点が分布している場合、このままでは、立体的に表示することができません。TriNetは、近辺の3点を連結してゆくことによって、互いに重なり会わない三角形のネットワークで面を分割します。分割されたデータは不規則三角形網(Triangulated Irregular Network)、TINなどと呼ばれます。
使用方法
TriNetを起動するにはWindowsのスタート・メニューから、『プログラム』→『PixTOPO』→『Triangle Net』を選択してください。
三角形網を作成するには、メニューの『Terrain』より、『TIN生成』、または、『TIN生成(凸包)』のどちらかを選択し、次にダイアログより下のフォーマットで作られたポイント・ファイルを選んでください。三角形網が生成し、その結果はファイルに書き込まれます。三角形ファイルはポイント・ファイルと同じ名称で拡張子のみが『tri』となります。
メニューの『Terrain』より、『モニター表示』を選んでから『TIN生成』を実行するとぶと、三角形網モニターを生成する過程をリアルタイムで画面で表示することができます。ただし、モニター表示をオンにしていると処理時間が長くかかります。
入出力データ
TriNetへの入力となるポイント・ファイルはコンマ(,)で区切られたXYまたはXYZ座標が並ぶテキスト・ファイルです。ポイント・ファイルには各点の座標が、下の例のように並んでいます。
200,790
370,760
60,670
360,890
280,620
30,880
230,960
または、 200,790,100
370,760,110
60,670,115
360,890,92
280,620,125
30,880,95
230,960,110
Z座標は三角形網の作成には使われませんが、Z座標があればTriNETの機能を使って立体表示を行うことができます。
どちらかのファイルを読み込んで生成した三角形網はこんなふうになります。図のように6個の三角形が作られています。三角形のデータは、ポイント・ファイルと同じディレクトリーに『tri』と言う拡張子を持ったファイルとして作られます。
1,6,7
1,3,6
2,7,4
1,2,5
1,7,2
1,5,3
ファイルには、各三角形を構成する頂点の通し番号が並んでいます。例えば、一個目の三角形は入力ファイルの1番目(200、790)、6番目(30、880)、7番目(230、960)の点からなっています。
データ表示
XYZ座標を持ったポイント・ファイルと、そこから『TIN生成』で生成した三角形ファイルがあればデータを表示させることができます。メニューの『Draw』より下の各項目を選択してください
【2D - 点】 【2D - 線】
【3D - 点】 【3D - 線】
3D表示では、視点を変えることができます。キーボードの左右上下矢印(←→↑↓)で見る角度を回転し、F1/F2キーで視野を広げたり狭めることができます(以下同じ)。
【3D - 面】
凸包(Convex Hull)の使用モード
三角形網を生成する二つのモードのうち、『TIN生成(凸包)』を選ぶとポイントの集合に対する凸包(すべての点を包含する最小の凸多角形)がはじめに求められ、その内側がすべて三角形網に分割されます。凸包の縁辺部ではドロネーの算法が適用されず、細長い不自然な形の三角形が生成します(図右)。
『TIN生成』ではエリアの周辺に計算用の擬似ポイントを設置して計算します。このため、凸包の縁辺部では三角形網に属さない部分ができることがあります(図左右)。縁辺部の形状を除けば、このふたつのモードに違いはありません。
備考
ポイントの集合から三角形網を作る算法は古典的なドロネーの方法を使っています。この算法の詳細については下記の文献が参考になります。
  • John C. Davis, "Statistics and Data Analysis in Geology, Third Edition", John Wiley and Sons, 2002
  • P.A.バーロー著、『地理情報システムの原理、土地資源評価への応用』、古今書院、1990年
  1. 本ソフトウェアを使用したことによって生じたいかなる損害についても作者は責任を負わないものとします。
  2. TriNET、およびソース・コード(trix)に関するご質問・ご意見は、作者『Pixel Topography Group』までメール(pixtopo@pixtopo.com)にてお送りください。
  3. TriNETに関する最新情報、修正、最新版ダウンロードファイルの公開などはすべて『Pixel Topography Group』のウェブサイト(www.pixtopo.com)で行います
  4. 上記のサイトでは、ドロネーの方法で三角形網(TIN)を作るプログラムのソース・コードを公開しているかもしれません。ポイント・ファイルを読み込んで三角形のリストを出力するコンソール・プログラムであり、TriNETとは別のものです。ZIPファイルに、必要なすべてのソース・ファイル、ヘッダー・ファイル、メーク・ファイル、サンプル・データと解説が含まれています
  5. サイトへのリンク、ソフトウェアの転載、再配布などを行う場合は事前に作者までご連絡の上、許可を得てください。
  6. 上記ウェブサイトにてドロネーのTIN三角形網分割のソース・コードを公開しているかもしれません
ダウンロードとセットアップ
このソフトはWindows 98(日本語)、2000(英語)、XP Professional(日本語)で動作確認をしています。下からファイル、Trinetj.msiをダウンロードし、ダブル・クリックしてください・・・・ダウンロード
ソース・コード
ドロネーの方法で三角形網(TIN)を作るプログラムのソース・コードを公開しています。ポイント・ファイルを読み込んで三角形のリストを出力するコンソール・プログラムであり、TriNETとは別のものです。以下のZIPファイルに、必要なすべてのソース・ファイル、ヘッダー・ファイル、メーク・ファイル、サンプル・データと解説が含まれています・・・・Download




TriNET

TriNET generates Triangulated Irregular Network, or TIN from scattered points on two-dimensional plane based on Delaunay's triangulation. This data structure allows data to be displayed as three-dimensional surface, or to be used for contouring and terrain analysis.


To construct TIN from a set of scattered points, select from a menu, "Terrain" -> "Construct TIN" or "Construct TIN - Convex Hull" and select points file from dialog. Triangulation automatically starts, and list of triangles are saved to triangle file. Triangle file is generated in the same directory as the input file with extension "tri". If the point file xxxx.nod is triangulated, the results are saved to xxxx.tri in the same directory.


Check the menu item, "Terrain" -> "Display Monitor" to observe the process of triangulation real time. This has no effect in the result of calculation except that it makes it significantly slower. It is just for fun!

Data Format

Points used in TriNET are read from a simple text file with a list of X-Y, or X-Y-Z coordinates separated by comma. Below is example of input file for data shown in the figure:

200,790
370,760
60,670
360,890
280,620
30,880
230,960

or,

200,790,100
370,760,110
60,670,115
360,890,92
280,620,125
30,880,95
230,960,110

Data may have XY or XYZ coordinate. Although z coordinates are not used in the calculation, data with altitude information can be displayed in TriNET's demo functions.


The result of the triangulation would look like this. In this example, six triangles are generated and in the resulting "tri" file, sequential number of generated triangle vertices are listed as below:

1,6,7
1,3,6
2,7,4
1,2,5
1,7,2
1,5,3

For example, the first triangle consists of the first, sixth and seventh vertices in the input file.


Two point files are included in this distribution as sample. Davis.nod and test32.nod can be found in the "sample" directory under the application folder.

Displaying Data

Input points and generated triangles can be displayed in demo functions of TriNET. If the points have z coordinates, generated TIN can be used for perspective viewing. Select each function from "Draw" menu.


2D - Nodes


2D - Lines


3D - Nodes


2D - Lines


3D - Facets

In three-dimensional display, use left and right arrows to rotate horizontally, and up and down key to change the depression angle. F1 and F2 keys widen and narrow the field of view.

Notes

TriNET uses Delaunay's triangulation algorithm to construct TIN. There are a number of documents published or available on the net. I used a book written by John C. Davis, "Statistics and Data Analysis in Geology, Second Edition", John Wiley and Sons which included very plane but thorough description on this algorithm.


Two methods to construct TIN in TriNET, "Construct TIN" and "Construct TIN - Convex Hull" only differ in that the latter triangulates all area included in the convex hull of input points. In the Delaunay’s method, in order to generate triangles beyond the area boundary, a set of pseudo points are generated around the extents of the points. Contrarily, in the second method, the convex hull is generated and is used as a boundary of the input area. Convex hull (in 2D) is a minimum convex polygon, which include all input points. As shown in the example below, as compared to the network in the left, all parts in the convex hull are triangulated in the second methods but it tends to create triangles in irregular shape(blue triangles in the right figure), which do not fulfill the condition that the largest inner angles of all generated triangles must be minimized.

Download and Setup
  • Download Setup file for TriNET from here - DOWNLOAD. This is setup file for the Windows Installer.
  • TriNet requires runtime module for Visual Studio .NET, MFC71.dll, msvcr71.dll and msvcp71.dll.
  • TriNET requires runtime module for GDI+ which can be obtained from Microsoft.
  • The source code for the Dalauney's triangulation can be obtained from here - DOWNLOAD. Note that it is not a source program for the TriNET, but for console program 'trix' which takes the same input file and outputs triangle file.