問題タブ [rasterizing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 線が交差するすべての点
直線上にあるすべての点を見つける必要があります。Bresenham のアルゴリズムを試しましたが、次のケースでは機能しません。
X
は実際の線です。.
は Bresenham のアルゴリズムが返すものです。線は交差(1, 0)
していますが、マークされていないことに注意してください。
ラインが通過するすべてのピクセルを効率的に見つけるにはどうすればよいですか? このアンチエイリアスは必要ないので、Wu のアルゴリズムはやり過ぎだと思います。線の終点はピクセルの中央にあります。
私が持っているアルゴリズムを参照するには:
c++ - Qt長方形、なぜ角が違うのですか?
drawRoundedRect
メソッドを使用して丸い長方形を直接描画しようとしQPixmap
ます(純粋なQtを除いてレンダリングエンジンはここに含まれません...)、長方形のサイズとピックスマップのサイズを再確認します:
十分なスペースを参照してください...
編集:いくつかのコード
- 私は世界の変革を無効にしました...
- セット変換をユニティに設定しました...
- いくつかの半径(1.0、2.0、3.0、4.0)を試しました...
- ペンの幅、ブラシの色を変更します...
しかし、それは常に4つの異なるコーナーを持つ長方形で終わります!そのように:
ピックスマップをファイルに直接出力して、表示中にスクレイピングされていないことを確認します...同じ形状。
半径の小さいQtの丸い長方形を知っている人はいますか?私はずっと前にそれについて何かを見ました、しかし私はそれをどう扱うかを覚えていません!
3d - 3D メッシュをラスタライズするには?
閉じた防水サーフェスを定義する 3D メッシュ (三角形のセット) があります。このメッシュをラスタライズしたいと思います。つまり、メッシュが占めるスペースを均等な小さな立方体 (2D ピクセルに相当する 3D) に分割し、三角形が通過する立方体を黒、残りを白としてペイントします。たとえば、2D ベクトル グラフィック イメージをラスタライズされた bmp にラスタライズする方法と同様です。言い換えれば、3D 配列を出力したいということです。A
つまりM x M x M
、A(i,j,k)
位置 の立方体が占める空間を通過する三角形がある場合は 1 になりますi,j,k
。そうでない場合は、それが明確であることを願っています-教えてください。明確にします。
任意のアルゴリズム、ライブラリ、matlab ルーチンで十分です。
c++ - C++ 三角形のラスタライズ
この三角形ラスタライザを修正しようとしていますが、正しく動作させることができません。何らかの理由で、三角形の半分しか描画されません。
これを使用して図形を描画すると、次のようになります。
2 番目の領域を無効にすると、奇妙な三角形がすべて消えます。
ワイヤーフレーム モードは完璧に機能するため、三角形ラスタライザー以外のすべての可能性が排除されます。
vector-graphics - ベクトル画像をラスタライズするための一般的なアルゴリズム
ベクトル画像をラスター化する一般的なアルゴリズムは何ですか?線、円、ベジェ曲線などのプリミティブをラスター化するアルゴリズムをたくさん見つけました。しかし、一般的には、どうすればよいですか?単純に、ベクター画像の各ベクター図形に移動し、そのピクセルを取得してラスターイメージに配置しますか?または、他の何か?
そして別の質問ですが、並行性を使用して処理時間を改善するにはどうすればよいですか?たとえば、ベクターフィギュアを分離し、同時にそれらのピクセルを取得することができます。しかし、おそらくこれを行う他の方法がありますか?
performance - Bresenham の直線アルゴリズムが Naive アルゴリズムよりも効率的である理由
私のグラフィックコースでは、ナイーブラインラスタライズアルゴリズム、次にブレゼンハムのライン描画アルゴリズムを教えられました. コンピューターは整数マシンであると言われたので、整数マシンを使用する必要があります。
ソフトウェア レベルでの最適化がないと仮定すると、これは mmx やその他の命令セットを備えた最新の CPU に当てはまりますか? Intel の 64-ia-32-architectures-optimization-manual.pdf を見たところ、加算減算乗算のレイテンシは、mmx の int と比較して、float で同じかそれ以上です。
アルゴリズムが GPU で実行される場合、これは問題になりますか? NVIDIA CUDA Programming Guide 1.0 (pdf)の 41 ページを確認したところ、int と float のクロック サイクルは同じです。
float を int にキャストすることの非効率性は何ですか? load-hit-store ストールは私たちにとって本当の問題ですか?
数値を切り上げる/切り下げる関数はどれくらい効率的ですか? (c++ stl での実装を考えることができます)
内側のループで使用される乗算の代わりに加算により、ブレゼンハム アルゴリズムから得られる効率はありますか?
math - 任意の2D三角形のスキャンラインを取得する
2D三角形のすべての線の走査線を取得するにはどうすればよいでしょうか。
2Dソフトウェアレンダラーの最も基本的な機能であるテクスチャマッピング三角形の機能を実装しようとしています。OpenGLを使用して数えることができるよりも多くの回数これを実行しましたが、自分で実行しようとすると足を引きずっています。
三角形(3つの頂点がそれぞれ[0、1]にクランプされたテクスチャ座標を持つ)を塗りつぶすには、3つのポイント間を線形補間する必要があるという記事がたくさんあります。何?補間は2つのn次元値の間にあると思いました。
ノート; これは3D用ではなく、厳密には2Dであり、すべての三角形は任意です(軸に揃えられていません)。OpenGLと同じように、画面をテクスチャで埋める必要があります。OpenGLをソリューションとして使用することはできません。
algorithm - 楕円のラスタライズ
一般的な楕円のピクセルの指標を見つけるための効率的なアルゴリズムはありますか?
基本的に、私がやりたいことは、可能な配列インデックスの「2-D サーフェス」にまたがるパラメーター化された楕円に対応する 2 次元配列でインデックスを見つけることです。この問題は、上記の最初の Q のように、楕円のラスタライズと比較できます。
軸に沿った楕円に対して必要な処理を行うスキャン ライン アルゴリズムをいくつか見つけましたが、歪んだり回転した楕円に対して同様のアルゴリズムがあるかどうか疑問に思っています。そこにあるベクトルグラフィックSWは、歪んだり回転したりした楕円を塗りつぶすことができるため、あるに違いありません。
私の言いたいことを明確にするために、最近、これと同様の質問が 1 つありました。
/ニック
java - Javaで三角形をラスタライズする
頂点の座標を指定して三角形をラスタライズするJavaグラフィックライブラリはありますか?
3点で定義される三角形の領域の画像のピクセル値を分析しようとしています。私はメモリにピクセル値を持っているので、どのピクセルが三角形にあるかを把握し、それらを反復処理したいと思います。各ピクセルに1回アクセスする限り、反復の順序は関係ありません。
アルゴリズムの検索をいくつか行ったので、ダミーのTriangle Rasterization、またはソフトウェアベースのレンダリングの概要に基づいて独自のコードを実装できると思いますが、すでにこれを実装しているライブラリを見落とすと、ばかげていると思います。
JavaをGPUと通信させることを簡単に検討しましたが、それは面倒すぎるようです。
pdf - PDF 内のベクター画像をラスター画像に置き換える
ベクター画像を含む PDF をラスター画像を含む PDF に変換する簡単な (スクリプト可能な) 方法はありますか? つまり、まったく同じ (ラスタライズされていない) テキストを使用して PDF を生成したいのですが、各ベクター画像はラスタライズされたバージョンに置き換えられています。
私は時々、Kindle で技術記事の PDF を読んでいますが、PDF を直接読むのはイライラします。ありがたいことに、Amazon のPDF の Kindle フォーマットへの自動変換は、私が試したほとんどの PDF のテキスト部分をうまくリフローしてくれる。ただし、ラスター イメージは変換プロセスを問題なく通過するように見えますが、ベクター イメージはひどく壊れてしまいます。すべてのベクター画像がラスタライズされるように、PDF を簡単に変換できれば素晴らしいと思います。
可能なソリューションに興味がありますが、Linux または Windows ベースのソリューションが望ましいでしょう。