私は現在、修士論文に取り組んでいます。
- (x, y, z) 形式の指定された n 点で描かれた Delaunay 三角形分割。
私の仕事は、この三角形分割を使用して、指定された z 値で等高線を作成することです。ウィキペディアのスプライン補間を実装することで、これを行うことにほぼ成功しました: https://en.wikipedia.org/wiki/Spline_interpolation
私の問題は、スプラインを実装するときに等高線が互いに交差することですが、もちろん線形図面は交差しません。
画面の下部を見ると、2 本の等高線が交差しているのがわかりますが、線画が交差していないことを示すのに十分な評判ポイントがありません。また、ポイントごとにエッジが丸みを帯びすぎていることもわかります。私が試したのは、ポイントのペアの間にさらに多くのポイントを補間して、線に沿ってより多くのノットポイントを作成することです。これにより、それらをさらに制限しますが、交差しない線を取得するには、スプラインは線形の描画に似すぎています。目には満足。
私が知りたいのは、方法の実際のコード実装ではなく、方法、読み方などへのポインタかもしれません。(NB、これをゼロから作成します。ライブラリはありません)。
質問: 対応する線形関数の外側であまりカーブしない、より高次の多項式関数を作成する方法。行き過ぎとは、たとえば 50 メートルの特定の等高線が 60 メートルの等高線と交差しないことを意味します。
どんな助けでも大歓迎です。