LRTKレフィクシア株式会社

点群OBJの四角形面が欠けるときの三角形化4ステップ

点群OBJの四角形面が欠ける主な理由

点群OBJをクラウド上の表示環境や3Dデータ処理環境へアップロードしたとき、作成時には見えていた面が部分的に消えることがあります。四角形の半分だけが透明に見える、一定方向から見ると面が消える、曲面の一部に三角形状の穴が開くといった症状が代表的です。ファイルの転送自体が完了しているにもかかわらず表示が崩れる場合は、OBJ内の四角形面がアップロード先でどのように解釈されているかを確認する必要があります。

OBJ形式では、頂点座標だけでなく、複数の頂点を参照する面を記述できます。三つの頂点を参照する面は三角形、四つの頂点を参照する面は四角形として扱われます。四角形面を記録できること自体は不自然ではありませんが、最終的な表示処理では、四角形が内部的に二つの三角形へ分割されることがあります。

四角形を二つの三角形に分ける方法は一通りではありません。四つの頂点を外周に沿ってA、B、C、Dと並べた場合、AとCを結ぶ対角線で分ける方法と、BとDを結ぶ対角線で分ける方法があります。四つの頂点がほぼ同一平面上にある長方形であれば、どちらの分け方でも見た目の差は小さくなります。しかし、四隅の高さが異なる四角形や、内側にくぼんだ四角形では、対角線の選び方によって表面の傾きや折れ方が変わります。

作成側の環境ではAとCを結ぶ形で表示されていても、アップロード先がBとDを結んで処理する可能性があります。その結果、元の表示と異なる方向へ面が折れたり、片方の三角形が極端に細くなったりすることがあります。読み込み時の判定によって無効な面とみなされれば、四角形の半分が欠けたように見えることもあります。

四角形面の頂点順序が乱れている場合も注意が必要です。面の頂点は、通常、外周を順番にたどるように並べます。ところが、対角に位置する頂点を交互に並べると、辺が面の中央で交差する形になります。このような自己交差した四角形は、どの範囲を面として塗るべきかが明確ではありません。作成環境では便宜的に表示できても、別の環境では一部が欠けたり、意図しない方向に三角形化されたりします。

面の表裏も欠損のように見える原因になります。OBJの面は、頂点を記述する順番によって向きが決まります。アップロード先が片面だけを表示する設定の場合、裏向きになった面は視点によって見えなくなります。四角形を三角形化した際に、一方の三角形だけ頂点順序が反転すると、四角形の半分だけが消えたような表示になります。

また、隣接する二つの頂点が同一位置にある場合や、三つの頂点がほぼ一直線上に並んでいる場合、面積がほとんどない三角形が生成されます。処理環境によっては、このような面を正常な表示対象として扱わないことがあります。見た目では四角形に見えていても、座標を詳しく確認すると一辺の長さがほぼゼロになっていることがあります。

点群から自動的にメッシュを生成したOBJでは、点のばらつきやノイズも四角形面の品質に影響します。地表と植生、構造物と周辺地形、壁の表側と裏側など、本来はつながらない点が近接していると、不自然にねじれた面が作られる可能性があります。この状態で一括三角形化すると、欠けは解消しても、実際の形状とは異なる面が残ることがあります。

したがって、点群OBJの四角形面が欠ける場合は、単に変換機能を実行するだけでは不十分です。欠けている場所を特定し、頂点や面の異常を整理したうえで、形状に合う対角線を選んで三角形化し、最終的なOBJを再検証する必要があります。

点群とメッシュの違いを先に確認する

点群OBJという表現は、実務上、頂点だけを記録したOBJと、点群から面を生成したOBJの両方に使われることがあります。しかし、四角形面の三角形化が可能なのは、すでに面情報を持っているOBJです。頂点だけの点群には分割対象となる四角形面が存在しません。

OBJの頂点座標は、一般にvで始まる行に記録されます。面はfで始まる行に記録されます。たとえば、f 1 2 3は三つの頂点を参照する三角形面を表し、f 1 2 3 4は四つの頂点を参照する四角形面を表します。

対象ファイルに多数のv行があっても、f行がなければ、そのOBJは頂点の集合です。この状態で必要なのは既存面の三角形化ではなく、点群から表面を推定して面を生成する処理です。点を近い順に結べばよいわけではなく、対象物の形状、点密度、死角、ノイズ、周辺物との境界を考慮する必要があります。

地表の点群であれば、上方から見た連続面として処理しやすい場合があります。一方、壁、柱、配管、車両、植生などが混在する点群では、単純な平面方向の処理では異なる物体同士が接続される可能性があります。点群を対象ごとに分け、不要点を除去してから面を作る必要があります。

すでにf行があり、四つの頂点番号を参照する面が含まれている場合は、既存の四角形を二つの三角形へ分けられます。この処理では、原則として新しい表面を推定するのではなく、現在の四角形が占める範囲を二面に分割します。

ただし、四角形が大きくねじれている場合は、もともとの面形状が一意ではありません。四つの頂点が同一平面上にないため、一枚の平面として表せないからです。この場合、どちらの対角線を選ぶかが実際の表面形状を決める重要な条件になります。

OBJには、頂点座標のほかにテクスチャ座標や法線情報が含まれる場合があります。面の記述では、頂点番号だけでなく、対応するテクスチャ座標や法線の番号も参照されます。三角形化するときに頂点番号だけを正しく分けても、その他の参照関係が崩れると、形状は表示できても色や陰影が乱れる可能性があります。

点群OBJアップロード前には、対象ファイルが頂点だけの点群なのか、三角形や四角形を持つメッシュなのかを明確にします。さらに、四角形面だけで構成されているのか、三角形や五角形以上の多角形が混在しているのかも確認します。この確認によって、必要な処理を限定し、形状を不要に変化させるリスクを抑えられます。

ステップ1 四角形面と欠損箇所を特定する

最初のステップでは、欠けている場所と四角形面の関係を特定します。ファイル全体を一括して三角形化する前に、どのような面で表示不良が起きているかを確認することが重要です。

まず、作成時の表示とアップロード後の表示を比較します。欠けている範囲を特定し、その周囲を複数の角度から観察します。正面からは正常に見えるのに裏側から消える場合は、面の向きが関係している可能性があります。どの方向から見ても同じ場所に穴がある場合は、無効な面や頂点参照の異常が疑われます。

四角形の半分だけが三角形状に消えている場合は、内部で二分割されたうちの一面だけが表示されていない可能性があります。一方、四角形全体が消えている場合は、四つの頂点の参照、頂点順序、面積、重複面、属性参照なども確認する必要があります。

異常箇所は、平坦な場所だけでなく、形状が変化する場所を重点的に確認します。地形の法肩や法尻、段差の角、構造物の隅、薄い板状部分、湾曲面、異なる面が接続する境界では、ねじれた四角形や細長い面が生じやすくなります。

次に、OBJの面情報を確認します。四角形面であれば、一つのf行に四つの頂点参照が含まれます。五つ以上の頂点を参照する面が混在している場合、それらも読み込み環境によって異なる方法で三角形化される可能性があります。

このとき、面の頂点数だけでなく、頂点番号の並び順も確認します。四角形の外周をA、B、C、Dの順でたどるべきところが、A、C、B、Dのような順序になっていると、辺が中央で交差します。この状態では、三角形化の前に頂点順序を修正する必要があります。

面の向きは、片面表示で確認すると判断しやすくなります。両面表示では見えているのに片面表示では消える場合、法線または頂点順序が周囲と反対になっている可能性があります。四角形の段階で向きが乱れていれば、三角形化後も同じ問題が残ります。

頂点座標も確認します。四つの頂点のうち二つが同じ位置にある場合、見かけ上は四角形として記録されていても、実質的には三角形以下の面になります。また、三点がほぼ一直線上に並ぶ場合は、分割後に面積が極端に小さい三角形が生成されます。

四角形の平面性も重要です。四つの頂点を一つの平面に近似したとき、いずれかの頂点が大きく外れている場合、その四角形はねじれています。ねじれが大きいほど、対角線の選択による形状差も大きくなります。欠けている場所とねじれの強い面が一致する場合は、三角形化の方向を慎重に決めます。

隣接面との接続状態も調べます。二つの面が同じ位置に接しているように見えても、境界の頂点が別々に登録されていると、処理上は接続されていません。わずかな座標差があれば、アップロード後に細い隙間として見える場合があります。

同じ位置に表向きと裏向きの面が重なっている場合もあります。重複面は、視点や表示処理によってちらつきや欠落のような現象を起こすことがあります。四角形面の欠けを疑う前に、重複した面が存在しないかを確認します。

ステップ1では、四角形が存在することだけを確認するのではなく、欠けの原因候補を分類します。四角形の解釈、頂点順序、面の向き、重複頂点、面積の小さい面、隣接面との未接続などを切り分けておくことで、必要な範囲だけを安全に修正できます。

ステップ2 三角形化前に頂点と面を整理する

欠損箇所と原因候補を特定したら、三角形化前に頂点と面を整理します。異常を含んだ四角形をそのまま二分割すると、異常な三角形が二つ作られるだけになる可能性があります。

最初に確認したいのは重複頂点です。点群から面を生成した場合や、複数のメッシュを結合した場合、同じ座標に複数の頂点が登録されることがあります。重複頂点が存在しても表示できる場合はありますが、面同士の接続判定や法線の計算に影響します。

ただし、同一座標の頂点をすべて一律に統合するのは適切とは限りません。構造物の角や異なる属性の境界では、位置が同じでも法線やテクスチャ座標を分けるために、あえて別頂点として記録されている場合があります。統合によって鋭い角が滑らかに見えたり、色の境界が崩れたりする可能性があるため、用途を確認しながら処理します。

近接頂点を統合するときは、座標の単位に注意します。ミリメートル単位のデータとメートル単位のデータでは、同じ数値の許容範囲でも実際の距離が大きく異なります。許容範囲が広すぎると、薄い構造物の表裏や近接する別部材まで一つにまとめられる可能性があります。

次に、面積がほぼゼロの面を確認します。四角形の一辺が極端に短い場合や、三点が一直線上に近い場合は、三角形化後に非常に細長い面が生まれます。このような面は表示や計算が不安定になりやすいため、不要な頂点を整理するか、周囲の面構成を見直します。

自己交差した四角形は、外周を順番にたどる頂点並びへ修正します。四つの頂点の位置を平面上で確認し、隣り合う頂点同士が辺として接続されるように並べ直します。頂点順序を変える際は、面の表裏が反転しないように注意します。

内側にくぼんだ四角形にも注意が必要です。四つの頂点のうち一つが、ほかの三点で囲まれる範囲へ入り込んでいる場合、一般的な凸形状の四角形とは異なります。対角線を誤ると、三角形が四角形の外へはみ出したり、二面が重なったりする可能性があります。

法線情報が含まれている場合は、面の頂点順序と法線方向が整合しているかを確認します。周囲と反対方向を向く面があれば、頂点順序を反転させるか、面の向きを統一した後に法線を再計算します。

閉じた立体と、地形のような開いた面では、法線をそろえる考え方が異なります。閉じた立体では、外側を向くように統一することが一般的です。地形や床面のような開いたメッシュでは、上側や利用者が見る側を表面としてそろえると確認しやすくなります。

重複面も三角形化前に整理します。同じ四つの頂点を参照する面が二枚重なっている場合や、頂点順序だけが反対の面が重なっている場合、表示時にちらつきが生じます。重複面を残したまま三角形化すると、重なった三角形の数も増えます。

孤立した面や、本体から大きく離れた頂点に接続する面も確認します。点群中のノイズに面が張られている場合は、三角形化の前に除去します。三角形化は面の構成を変える処理であり、ノイズを自動的に正しい地表へ戻す処理ではありません。

隣接面の境界にわずかな隙間がある場合は、頂点の接続方法を見直します。境界上の頂点を共有させることで、面同士の連続性を保ちやすくなります。ただし、実際に離れている二つの面を無理に接続すると形状が変わるため、現地形状や元点群と照合して判断します。

座標値が非常に大きいデータでは、局所的な細かい形状を扱う際に数値の丸め誤差が影響する場合があります。作業時に一時的な原点移動を行う方法もありますが、元の座標へ正確に戻すための移動量を必ず記録します。三角形化と同時に座標系や単位まで変更すると原因を切り分けにくくなるため、処理工程は分けた方が安全です。

作業は必ず原本の複製に対して行います。頂点統合、面削除、頂点順序の修正は、元データの構造を変える処理です。原本、整理後、三角形化後、アップロード用というように段階ごとにファイルを保存しておけば、問題が起きた工程まで戻れます。

処理前後には、頂点数、面数、座標範囲を記録します。三角形化前の整理で頂点や面が大幅に減った場合は、必要な形状まで削除していないかを確認します。数値記録と目視確認を組み合わせることで、意図しない変化を発見しやすくなります。

ステップ3 形状に合う対角線で三角形化する

頂点と面を整理したら、四角形面を二つの三角形へ変換します。三角形化の基本は単純ですが、どちらの対角線を採用するかによって、表面形状や法線方向が変わる場合があります。

四角形の頂点を外周に沿ってA、B、C、Dとすると、A、B、CとA、C、Dに分割する方法があります。この場合はAとCが対角線になります。もう一つは、A、B、DとB、C、Dに分割する方法で、BとDが対角線になります。

四つの頂点が同一平面上にあり、外形が凸形状であれば、どちらの対角線を使っても外形は保たれます。しかし、ねじれた四角形では、中央部分の形が異なります。対角線が表面の折れ線になるため、地形や曲面の見え方に影響します。

一般には、分割後の三角形が極端に細長くならない方向を選ぶと、表示や計算が安定しやすくなります。ただし、短い対角線を選べば常に正しいわけではありません。周囲の面の流れや、形状変化の方向も考慮する必要があります。

地形の法肩や法尻では、勾配が変わる線を横切る対角線を避けます。平坦面と斜面を一つの四角形で結んでいる場合は、形状変化の線に沿って面を分けた方が、実際の地形に近い形になります。対角線を機械的に選ぶのではなく、ブレークラインに相当する境界を保つことが重要です。

構造物の角でも同様です。二つの異なる面をまたぐ四角形が作られている場合、その四角形を二分割するだけでは角の位置が曖昧になります。必要に応じて角の線上に頂点を配置し、面の境界を明確にしてから三角形化します。

平坦な壁や床では、対角線の違いが目立たない場合があります。それでも、四隅のうち一つだけが平面から外れていると、一方の分割方法で細長い三角形ができる可能性があります。三角形化後は、二面の面積、角度、法線方向を確認します。

自動三角形化を利用する場合は、対象範囲を限定して試験します。自動処理では、対角線の長さ、角度、平面性、頂点番号などを基準に分割方向が選ばれる場合があります。処理方法が異なれば、同じ四角形でも別の結果になる可能性があります。

問題箇所を含む小さな範囲を複製し、自動三角形化した結果を確認します。欠けが解消したかだけでなく、中央に不自然な折れが生じていないか、周囲との接続が保たれているか、面の向きがそろっているかを調べます。

四角形を分割した後は、二つの三角形の頂点順序を統一します。元の四角形がA、B、C、Dの順で表向きだった場合、A、B、CとA、C、Dのように、両方を同じ回転方向で記述します。A、B、CとA、D、Cのように一方だけ順序を反転させると、片方の面だけ裏向きになります。

四角形の半分が欠ける現象は、この頂点順序の不整合によっても発生します。そのため、三角形化後は両面表示だけでなく、片面表示でも確認することが重要です。

五角形以上の多角形が含まれている場合は、複数の三角形に分割されます。凸形状で平面に近い多角形であれば比較的処理しやすいものの、内側にくぼんだ形やねじれた形では、単純に一つの頂点から扇状に面を作ると外形からはみ出す可能性があります。

多角形を含むOBJでは、輪郭を保てる方法で三角形化し、すべての分割結果を確認します。四角形だけを変換したつもりでも、書き出し時にほかの多角形も自動変換される場合があるためです。

三角形化前後の面数も比較します。通常の四角形一面は三角形二面になります。対象部分がすべて四角形で、削除や追加がなければ、対象面数はおおむね二倍になります。ただし、すでに三角形が混在している場合や、無効面を整理した場合は単純な二倍にはなりません。

頂点を追加せず、既存の四頂点を参照して分割する場合、三角形化だけで頂点数が大きく増えることは通常ありません。処理後に頂点数が急増した場合は、面ごとに頂点が複製されていないかを確認します。法線や属性を分離するために必要な複製もありますが、不要な増加はファイル容量や処理負荷につながります。

三角形化によって面数は増えますが、形状を細かくすれば必ず品質が上がるわけではありません。四角形を二分割するだけで十分な場所に多数の中間頂点を追加すると、元点群のばらつきまで細かな凹凸として表れる可能性があります。

大きくねじれた四角形では、中間頂点を追加して複数の三角形に分けた方が、実際の形状へ近づけやすい場合があります。ただし、追加位置は元点群や断面を確認して決めます。単純な補間だけで形を作ると、計測されていない表面を推定することになります。

ステップ3の目的は、四角形をなくすことだけではありません。アップロード先が解釈する面の構成を、作成側であらかじめ確定することです。三角形面として書き出しておけば、読み込み時に別の対角線が選ばれる可能性を抑えられます。

ステップ4 書き出したOBJを再検証してアップロードする

三角形化が完了したら、最終的なOBJを書き出し、そのファイルを開き直して検証します。作業画面で正常に見えていることと、書き出されたOBJが正常であることは同じではありません。保存時の設定や変換処理によって、面情報が変化する可能性があります。

最初に、書き出し後のOBJへ四角形面が残っていないかを確認します。作業画面では三角形化されていても、保存時に隣接三角形が四角形へ再構成される設定が有効になっている場合があります。最終ファイルのf行が三つの頂点を参照しているかを調べます。

四つ以上の頂点を参照するf行が残っている場合は、変換対象から外れた面がないかを確認します。非表示の面、別グループの面、処理対象外になった面などが残っている可能性があります。

次に、頂点数と面数を処理前後で比較します。三角形化によって面数は増えますが、座標範囲は通常変わりません。最小座標と最大座標が大きく変化している場合は、三角形化以外の座標変換や単位変更が行われた可能性があります。

既知の距離を使った縮尺確認も行います。現地寸法が分かっている構造物や基準点間の距離を測り、想定した単位で表示されているかを確認します。書き出し時に単位情報の解釈が変わると、形状は同じでも大きさが異なるデータとして読み込まれることがあります。

軸方向も確認します。書き出し元と読み込み先で上下方向や前後方向の扱いが異なると、データが横倒しになったり反転したりする場合があります。面の欠けと姿勢の異常が同時に起きると、原因を判断しにくくなります。

最終OBJは、元の作業環境だけでなく、可能であれば別の確認環境でも開きます。同じ環境で開き直すだけでは、作成時と同じ補正や表示方法が使われ、問題を見落とす可能性があります。

表示確認では、問題があった場所を拡大します。以前欠けていた四角形が二つの三角形として連続しているか、中央に細い隙間がないか、対角線に沿って不自然な段差がないかを確認します。

面の境界を表示できる場合は、三角形の形も確認します。極端に細長い面や、周囲と異なる方向に伸びる面があれば、対角線の選択や頂点位置を見直します。

陰影を付けた表示では、法線の乱れを確認できます。一部の面だけ暗く見える、視点を変えると急に明暗が反転する、対角線を境に陰影が不自然に分かれる場合は、法線方向や平滑化の状態に問題がある可能性があります。

片面表示と両面表示を切り替えられる場合は、両方で確認します。両面表示で正常でも、片面表示で消える三角形があれば、面の向きがそろっていません。アップロード先が片面表示を採用している場合、そのままでは欠けが再発します。

色や模様などの属性を利用する場合は、三角形化後も参照関係が保たれているかを確認します。四角形を二分割したことで、対角線に沿って色が不自然に引き伸ばされたり、片方の面だけ属性が失われたりすることがあります。

形状と属性の問題を切り分けるため、最初は単色表示で面が存在するかを確認すると分かりやすくなります。単色では正常に見えるのに属性を表示すると欠けて見える場合は、形状ではなく属性参照や透明度設定を確認します。

ローカルでの確認が完了したら、問題箇所を含む小さな試験データをアップロードします。大容量の全体データを最初から送ると、問題が残っていた場合の再処理に時間がかかります。

試験アップロードでは、欠けの有無だけでなく、座標位置、縮尺、姿勢、面の向き、色、表示速度を確認します。三角形化によって面数が増えるため、処理負荷や表示の詳細度が変わる可能性があります。

試験データが正常に表示されたら、同じ条件で全体データを書き出します。全体データでは、小範囲に含まれていなかった急斜面、薄い構造物、曲面、境界部分も確認します。一つの試験箇所だけで、すべての面が正常だと判断しないことが重要です。

全体をアップロードした後も、複数の視点と表示倍率で確認します。近距離では見えていても、遠距離表示で面が簡略化される場合があります。実際の利用場面に近い視点で、必要な形状が維持されているかを確認します。

三角形化しても面が欠ける場合の確認事項

四角形をすべて三角形化しても欠けが残る場合は、原因が四角形の解釈だけではない可能性があります。三角形化は有効な対策ですが、頂点や面の異常を自動的にすべて修復する処理ではありません。

最初に確認したいのは、三角形の頂点順序です。分割後の一方だけ順序が反転していると、その面だけ裏向きになります。四角形の半分が三角形状に消える場合は、分割の有無だけでなく、二面の法線方向を比較します。

次に、面積がほぼゼロの三角形を確認します。二つの頂点が同一位置にある場合や、三点が一直線上に近い場合、その面は正常な表面を持ちません。処理環境によっては読み込み時に除外されます。

OBJの頂点参照が有効であるかも確認します。存在しない頂点番号を参照している面や、書き出し処理で番号対応が崩れた面は正常に作成できません。ファイルの途中だけが欠ける場合は、その周辺の面記述を確認します。

テクスチャ座標や法線の参照番号が不正な場合も、読み込み結果へ影響する可能性があります。形状だけを確認する試験用OBJを用意し、頂点座標と面情報だけで表示したときに欠けるかを調べると、原因を分けやすくなります。

重複面が残っている場合は、三角形化後も表示が不安定になることがあります。同じ位置に同じ向きの面が二枚ある場合や、表向きと裏向きの面が重なっている場合、視点や描画順によってちらつきや欠落が生じます。

面同士が交差している場合もあります。点群から自動生成したメッシュでは、地表と構造物、壁の表側と裏側などが誤って接続され、三角形同士が貫通することがあります。交差している面を三角形化しても、交差自体は解消しません。

隣接する面の境界が接続されていない場合は、細い隙間が残ります。四角形を三角形に変換したことで面内部は安定しても、外周の頂点が隣接面と共有されていなければ、境界部分の穴は解消されません。

面の欠けに見えて、実際には表示の簡略化が原因である場合もあります。大容量のOBJでは、読み込み後に面数を減らした表示データが作成されることがあります。細い部材や小さな面が簡略化の過程で省略されると、穴が開いたように見える可能性があります。

この場合は、三角形化の設定だけでなく、データの分割方法や簡略化条件を見直します。全体を均一に間引くのではなく、平坦で形状変化の少ない場所を中心に面数を抑え、角部や境界の頂点を残すことが重要です。

座標値の丸めも確認します。非常に大きな座標値の中で細かな形状を表現している場合、読み込み環境の数値処理によって近接頂点が同一位置として扱われることがあります。局所的な座標へ変換した試験データで表示が改善する場合は、座標値と精度の関係を確認します。

ただし、座標を変更した試験結果だけで元データを上書きしてはいけません。現地座標へ戻すための変換量や座標基準を記録し、位置情報を失わないように管理します。

属性による透明表示も確認事項です。面は存在していても、透明度に相当する設定によって見えなくなっている場合があります。単色かつ不透明な表示で確認すれば、形状欠損と属性表示の問題を切り分けられます。

大容量の点群OBJを扱うときの注意点

点群から作成したOBJは、計測範囲や点密度によって大容量になります。四角形をすべて三角形化すると面数が増えるため、ファイル容量、処理時間、表示負荷が増加する可能性があります。

大容量データでは、問題箇所だけを切り出して検証する方法が有効です。小範囲で頂点整理、三角形化、書き出し、再読み込み、試験アップロードまでを実施し、処理条件が適切であることを確認します。

ただし、一つの範囲で成功しても、全体に同じ条件が適するとは限りません。平坦な地表、急斜面、曲面、構造物、薄い部材では、四角形の形や点密度が異なります。代表的な形状を含む複数範囲で試験すると安全です。

範囲を分割するときは、境界で面が切断されることに注意します。境界上の面を機械的に削除すると、隣接範囲との間に穴が生じます。複数ファイルを同時に表示する場合は、境界頂点の座標と接続関係を統一します。

分割データを後から再結合する予定がある場合は、重複範囲の扱いも決めます。境界付近を重ねて保存すると欠損を防ぎやすい一方、同じ面が重複して表示される可能性があります。結合時にどちらを残すかを明確にします。

三角形化後にファイル容量が増えること自体は、必ずしも異常ではありません。一つの四角形面が二つの三角形面として記録されるため、面情報の行数は増加します。ただし、頂点数まで大幅に増えている場合は、不要な頂点複製が行われていないかを確認します。

アップロード先に容量や面数の制約がある場合は、利用目的に応じてデータを調整します。全体形状の確認が目的であれば、平坦部の面数を抑えられる場合があります。断面作成や出来形確認など細部が必要な用途では、必要な範囲の密度を残します。

点群として確認できれば十分な用途では、すべてをメッシュ化する必要はありません。元点群を保持し、面が必要な対象範囲だけを別途メッシュ化する方法もあります。これにより、元の計測点を残しながら、OBJの処理負荷を抑えられます。

一方、面積、体積、断面、干渉などの処理では、連続した面が必要になることがあります。その場合も、対象範囲と境界を明確にし、計算に不要な周辺物まで高密度に面化しないことが重要です。

大容量データほど、処理工程ごとのファイル管理が重要になります。原点群、不要点除去後、面生成後、頂点整理後、三角形化後、アップロード用を区別し、処理条件と作成日を記録します。

ファイル名だけでは条件を十分に説明できない場合があります。頂点数、面数、座標範囲、単位、座標基準、三角形化方法、簡略化の有無を作業記録として残しておくと、後から比較しやすくなります。

点群OBJアップロード前に残すべき記録

点群OBJアップロードの品質を安定させるには、表示確認だけでなく、処理内容を記録することが重要です。同じ場所のデータを更新するときや、別の担当者が再処理するときに、条件を再現しやすくなります。

最初に、元データの情報を記録します。計測日、対象範囲、座標基準、座標単位、点数、頂点数、面数などが基本です。点群から面を作成した場合は、どの段階の点群を利用したかも明確にします。

不要点除去を行った場合は、除去対象と判断基準を記録します。植生、車両、施工機械、人、飛散点、孤立点など、何を取り除いたかによって、最終メッシュの形が変わります。

面生成の条件も重要です。点群からどの範囲に面を作ったのか、境界をどのように決めたのか、欠測部を補間したのかを記録します。計測されていない範囲へ面を張った場合は、実測点と補間面を区別できるようにします。

三角形化前後の頂点数と面数も記録します。四角形を二分割した結果として妥当な増加なのか、不要な面や頂点が増えたのかを判断する材料になります。

対角線の選択方法も残します。すべて自動で処理したのか、短い対角線を優先したのか、形状境界に沿って手動修正したのかを明確にします。法肩や構造物角部だけ別条件で処理した場合は、その範囲も記録します。

法線の処理については、面の向きを統一したか、法線を再計算したかを記録します。後工程で陰影が変化したときに、原因を追跡しやすくなります。

書き出し条件には、座標軸、単位、属性の有無、関連ファイルの扱いなどを含めます。三角形化とは別の設定ですが、点群OBJアップロード後の位置や表示に影響します。

試験アップロードの結果も記録します。利用した範囲、ファイル容量、頂点数、面数、確認した表示条件、発生した問題、修正内容を残しておけば、全体データの処理条件を決めやすくなります。

最終アップロード後には、欠損箇所が解消したか、座標位置が正しいか、必要な属性が表示されているかを記録します。正常に表示された条件を基準化することで、次回以降の点群OBJアップロードを効率化できます。

現場計測から点群OBJ作成までの品質を整える

四角形面の欠けを減らすには、アップロード直前の三角形化だけでなく、元となる点群の取得品質から見直すことが有効です。点の分布が不均一で欠測が多い場合、生成される面も細長くなったり、大きくねじれたりしやすくなります。

現場計測では、対象を一方向からだけ取得するのではなく、必要に応じて異なる方向から計測します。構造物の角、段差、法肩、法尻、壁際などは死角が生じやすいため、点が連続するように取得位置を調整します。

ただし、複数方向から取得した点群を重ねる場合は、座標の整合を確認します。位置がわずかにずれた点群をそのまま統合すると、同じ表面が二重になり、面生成時に薄い層や交差面が作られる可能性があります。

計測後は、元点群を保存したうえで不要点を整理します。人、車両、施工機械、植生、反射による飛散点などが混在していると、本来の対象面との間に不自然な面が生成されることがあります。

対象範囲の境界も事前に決めます。地表面を作る場合は、どこまでを対象とするかを明確にし、境界外へ長い三角形が張られないようにします。構造物を面化する場合は、周辺地形と分けて処理した方が形状を保ちやすくなります。

面生成後は、点群とメッシュを重ねて確認します。面が元点群から大きく離れていないか、欠測部を過度に補間していないか、異なる対象物を接続していないかを調べます。

四角形メッシュを編集用として利用する場合は、最終的なアップロード前に三角形化する工程を標準化します。編集途中では四角形の方が扱いやすい場合もありますが、最終表示環境との互換性を確保するには、作成側で分割結果を確定した方が安全です。

現場データに位置情報が含まれる場合は、座標基準を工程全体で維持します。作業しやすいように一時的な原点へ移動したときは、元の位置へ戻すための変換情報を保存します。

LRTK Phoneで取得した現場データを活用する場合も、取得後の用途を先に決めておくことが重要です。点群として現況を確認するのか、面を生成して形状を共有するのか、断面や体積などの処理へ利用するのかによって、必要な点密度や加工方法が異なります。

取得した点群は原本として残し、表示用や解析用に作成したメッシュとは分けて管理します。三角形化済みOBJは加工データであり、元の計測点そのものではありません。この区別を明確にすれば、メッシュの形状に疑問が生じたときに原点群へ戻って確認できます。

点群OBJアップロードで問題が起きた際も、工程ごとのデータが残っていれば原因を切り分けられます。点群取得時の欠測なのか、点群統合時のずれなのか、面生成時の誤接続なのか、三角形化時の方向なのか、書き出し時の設定なのかを順番に確認できます。

まとめ

点群OBJの四角形面が欠ける場合は、アップロード先が四角形を作成時と同じ方法で解釈していない可能性があります。四角形は内部的に二つの三角形へ分割されますが、対角線の選び方によって表面の傾きや折れ方が変わります。

特に、四つの頂点が同一平面上にない面、内側にくぼんだ面、頂点順序が乱れた面、面積がほとんどない面では、欠けや反転が起こりやすくなります。四角形の半分だけが消える場合は、分割後の一方の三角形だけが裏向きになっていないかも確認します。

対処の第一段階では、欠けている場所と四角形面の関係を特定します。第二段階では、重複頂点、無効面、自己交差、法線、隣接面との接続を整理します。第三段階では、形状変化や周囲の面に合う対角線を選び、頂点順序をそろえて三角形化します。第四段階では、書き出したOBJを開き直し、面数、頂点数、座標範囲、法線、属性を確認してから試験アップロードします。

三角形化後も欠けが残る場合は、頂点参照、面積がほぼゼロの三角形、重複面、面同士の交差、属性による透明表示、表示時の簡略化などを確認します。四角形をなくすことだけを目的にせず、最終的に必要な形状が維持されているかを判断することが重要です。

大容量データでは、問題箇所を含む小範囲で処理条件を試し、代表的な形状ごとに結果を確認してから全体へ適用します。原点群、面生成後、三角形化後、アップロード用のデータを分け、頂点数や面数、処理条件を記録しておけば、異常が発生した工程を追跡しやすくなります。

現場で取得した点群を安定して共有するには、計測、不要点整理、面生成、頂点整理、三角形化、書き出し、アップロードという各工程を分けて管理することが大切です。LRTK Phoneで取得した現場データについても、原点群を保持しながら用途に応じたメッシュを作成し、アップロード前に三角形面の状態を検証することで、欠けや形状変化を抑えた点群活用につなげられます。

現場を3Dで残して、あとから測る。
実際の画面と動画で使い方を確認できます。

LRTK Phoneの使い方・実例を見る
資料請求導入相談
現場をスマホで3DスキャンLRTK Phone実例を見る