約 100 万個の三角形からなる平面 Delaunay 三角形分割があります。各頂点にはいくつかのスカラー メトリックがタグ付けされており [1]、同じ規則的なグリッド上でこれらの各メトリックの高速で単純な補間を確認したいと考えています。参考までに、私の三角形の結合は、(整数) 座標を持つ約 1000 万のグリッド セルをカバーしています。[2]
シンプルと言えばシンプル。バイリニアは大丈夫です!私の理解では、これは (a) 基本的に GPU が生計を立てていることであり、(b) おそらく数え切れないほどの宿題の対象であるということです。私自身は公衆衛生の政府研究者なので、宿題ではありません。:-)
私の遅いが正しい参照実装では、約 10 分で次の計算を行うことができます。
各三角形 T について:
- T の境界ボックス内のすべての (整数) デカルト座標の集合 G。
- G の各 (x、y) の重心座標 (u、v、w)。
- すべてが正ではない (u, v, w) の棄却 — つまり、T 内。
- T の残りの各座標の加重合計 (u z_1 + v z_2 + w*z_3)。z_1、z_2、および z_3 は、特定のメトリック [1] の T の頂点でのスカラー値です。
高速にするには、ステップ 1 ~ 3 が本当に必要です。ステップ 4 は些細なことですが、それが私の最終目標です。理想的には、ソリューションは次のいずれかの形式になります。
- 非常にシンプルな API を備えた、適切にライセンスされた (GPL で問題ありません) ライブラリ。また
- 中級プログラマーが Fortran、R、Python、または C でコーディングする方法が明らかなほど明確な説明。
このタスクの古典的な定式化は、「TIN から DEM へ」の地形モデリング ジョブです。しかし、最近はその逆がより一般的に必要とされているようです (?)
ポイントが 2 つ以上の三角形によって共有されるエッジまたは頂点に正確に位置する場合に重複を削除するなど、いくつかの基本的なクリーンアップも問題ありません。
お時間とご関心をお寄せいただきありがとうございます。電車を降りたら、フォーマットをクリーンアップし、提案ごとに編集します!
脚注:
[1] 標高、温度、湿度。[2] UTM グリッド上で 20x20m 離れているという意味での整数。したがって、20倍に拡大してください。