Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
トピックが示唆しているように、私はバイナリマップから傾斜した可視性マップを計算しようとしています。
つまり、各値が「1」で可視性を示し、「0」で不可視性を示すラスターマップがあります。
マップ内の表示部分の境界を3次傾斜関数で傾斜させて、境界で0から1にスムーズに変化するようにします。このスムーズなランピングをグローバルに計算する方法がわかりません。配列を使用して、Cで実行する必要があります。
基本的なアルゴリズムは非常に単純です。一度に NxM のサブセットを参照してマップをスキャンします (通常、N と M の両方が約 5 程度になります)。このようなウィンドウごとに、出力の 1 ピクセルを中心ピクセルとその隣接ピクセルの平均として計算します。立方体 (線形ではなく) トランジションが必要なため、立方体の中心からの距離の逆数に基づいて各ピクセルに重みを付けます。