問題タブ [surface]
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.
physics - コロナ粗面:フリクション
ざらざらした表面を作りたいのですが、ボールが転がるとすぐに止まります。(砂の上を転がる重い鋼球のように)
ボールとサーフェスの両方の摩擦を 1.0 に設定しようとしました。また、両方の密度を高く設定しようとしましたが、希望どおりには見えません。何かに当たった場合にのみボールが停止します。 、それは表面で転がり続けます。(遅いですが、2秒以内に止めたいです)。
algorithm - 2Dサーフェス上に中央揃えのテキストを描画するアルゴリズム
2Dサーフェスの中央に水平方向および垂直方向に長いテキストを描画するための安定したアルゴリズムを探しています。これは言語固有ではないため、任意の言語で例を提供できれば非常に役立ちます。
描きたいテキストと表面について、次の情報があります。
テキスト情報:
- テキストのサイズ(ピクセル単位)(行の高さ)は、もちろん表面の高さよりもはるかに小さいです
- 書体(ただし、どのようなものでもかまいません)
- ASCII32からASCII126までの単純な文字セット
- テキストは比較的長くなる可能性があり、単語はスペースで区切られます
- テキストが表面の幅に収まらなくなったら、テキストはスペースで「自動的に」途切れます。
- テキストは英語です。
表面情報:
- 幅と高さ
- グローバル座標系のx座標とy座標(原点が画面の左上隅であると想定)
私は独自のアプローチを実装しましたが、それは非常に不安定でした。テキストが表面全体に広がり、配置が正しくなく、中央に配置されないこともありました。また、有用なものを見つけることができませんでしたが、いくつかの良いアプローチをグーグルで検索しました。stackoverflowコミュニティが私を助けてくれることを願っています。どうもありがとうございます。
computational-geometry - メッシュ間の交点
ある三角形メッシュが別の三角形メッシュと交差しているかどうかを判断する方法を説明しているライブラリまたは論文を探しています。
興味深いことに、私は空っぽになっています。CGALでそれを行う方法があれば、それは私を避けています。
三角形の交差が可能であり、各メッシュには有限数の三角形が含まれているため、明らかに可能であるように思われます。しかし、一方のメッシュに n 個の三角形があり、もう一方のメッシュに m 個の三角形がある明らかな O(n*m) アプローチよりも、より良い方法があるに違いないと思います。
performance - 効率的なオブジェクトスペースの隠面消去
次の問題があります。3Dモデルの2Dビューを生成する必要があります。通常の状況では、これはもちろん些細なことです。画家のアルゴリズムまたは同様の手法を使用して、すべてを画面にレンダリングするだけです。残念ながら、CADパッケージに送信できるように、出力は2Dジオメトリである必要があります。これは、隠面判定をピクセルレベルではなくベクトルレベルで実行する必要があることを意味します。これにより、ほとんどの標準的な方法(画家のアルゴリズム、Zバッファなど)が使用できなくなります。
オブジェクト空間の隠面判定を実行するために私が見つけた最も一般的な手法は、理論的には問題なく機能するBSPツリーを使用することです。だから私はそれを実装しましたが、パフォーマンスはリモートでさえ受け入れられませんでした。それは、そのO(n 2)の複雑さを考えるとまったく驚くべきことではありません。私が使用しているテストシーンには、裏面カリング後に約4800の三角形がありますが、アルゴリズムはその数の約5倍または10倍のシーンを処理する必要があり、2乗する必要がある場合はすぐに大きくなります。ジオメトリライブラリの(不足している)速度も、正確には役に立ちません。
それ以来、このパフォーマンスの問題を回避するためのさまざまな方法を試しました。主に、三角形を小さなグループに分割して、八分木などのO(n 2 )の影響を減らすというアイデアに基づいています(ポリゴンの半分以上がルートノードに保存されます)、2D投影シーンを10x10グリッドに分割して、正方形あたりの三角形の数を減らします(機能しますが、ポリゴンの交差の削減は、プロセスを100回繰り返す必要があることよりも重要です)。
今日は、すべての三角形を2Dに投影し、最初に境界の正方形が重なっているかどうかをテストし、次に2つのポリゴンのすべての組み合わせについて各エッジの交差(3x3 = 9)をテストして、どの三角形が交差するかを確認しました。線の交点については、ここで説明するアルゴリズムを使用してジオメトリライブラリをバイパスしました。合計で約1160万のライン交差が実行され、約30秒かかりますが、それでも長すぎます(絶対最大実行時間は約5秒だと思います)。これはアルゴリズムの一部にすぎないことを気にしないでください。
私はこのパフォーマンスの問題を解決する方法についてのアイデアを使い果たし始めており、より良いアルゴリズムのためのいくつかの良いアイデアを持っている人がいることを望んでいました。私が考えることができるものはすべてO(n 2)です。
python - matplotlibの表面プロット
3D空間の点のセットを表す3タプルのリストがあります。これらすべてのポイントをカバーするサーフェスをプロットしたいと思います。
パッケージ内のplot_surface
関数では、mplot3d
引数としてX、Y、およびZが2次元配列である必要があります。表面をプロットするための正しい関数はありますか?plot_surface
データを必要な形式に変換するにはどうすればよいですか?
shader - サーフェス シェーダーの Unity シェーダーの頂点形式
サーフェス シェーダーで頂点データを使用して角度を取得しようとしています。カメラの中心を 0,0 にしています。頂点関数の v.vertex はどの座標系にありますか?
ワールド座標系だと思っていたのですが、同じ頂点に見えるように 3DS Max で事前に回転させたオブジェクトと比較すると、統一して回転させたオブジェクトでは異なる結果が得られます。v.vertex.xyz で実際に受け取っているデータは何ですか?
preview - メディアレコーダーで録画中にプレビュー面を変更することはできますか?
誰かが解決策やリードを手伝ってくれますか?MediaRecorder を使用してビデオを録画しています。プレビュー用にレコーダーにサーフェスビューを接続しています。ポートレートとランドスケープのレイアウトが異なります。 (もちろん、風景 n プロトレイトでは異なるため、そうです) ..この場合、プレビューを取得するために停止し、新しい面でレコーダーを準備して、レコーダーを再度開始する必要があります。プレビュー面を変更することは可能ですか?録音?
surfaceCreated(SurfaceHolder holder) 私は次のことをしています
どんな助けでも本当に感謝しています.Thanks
c++ - 衝突時の 2 つの正方形の重なりを計算する
2 つの衝突する長方形の重なり合う領域を計算しようとしています。
それらが衝突しているかどうかを計算する分離軸定理を見つけましたが、衝突の面積を計算するためにそれを使用できるかどうかわかりませんか?
はいの場合、どの計算を実行する必要があるか教えてください。
基本的に、画像の隠れた部分の割合を計算する必要があります (たとえば、四角形 A は画像 256*256 です)。別の画像が 1 つ重なっています。グローバルと比較して、隠された部分の割合を取得したいと考えています。写真の表面。
c++ - C++ - SDL: ブリッティングのパフォーマンスの問題
私は C++ と SDL の初心者ですが、数年間ゲームを開発しています。
私が求めていたのは 2D ゲームだけだったので、単純さから SDL を選びましたが、満足していません。サーフェスを操作する関数は多くの電力を消費します。正直言って多すぎます。
SDL を使い始めたときは、30 FPS 程度でした。その後、サーフェスの最適化について知り、フレームレートが 60 に跳ね上がりました。また、ピクセル形式を 24 ビットから 32 ビットに切り替えると、フレームレートが 100 に改善されました。
私の意見では、ゲーム開発およびプログラミング言語用の他のライブラリと比較して、このパフォーマンスは弱いです。私はそれがまだ私のせいだと考え続け、すべてを正しく設定していれば、私の FPS は急上昇する可能性があります。
そのため、テストを続けて、コードを実行していない場合 (FPS インジケーターを除く) で 400 FPS が得られることを確認しました。ただし、SDL_FillRect() 関数で画面をクリアすると、100 に低下します。次に、描画されるすべてのスプライトのフレームレートがさらに低くなります。
本当にこんなに遅いのだろうか?
vector - SDL_曲面ベクトル
ユーザーが入力したメッセージ(チャットボックス)を含むサーフェスのベクトルを作成しようとしています。しかし、新しいサーフェスをベクトルに追加して表示すると、他のサーフェスがサーフェス ベクトルに表示されます。これがなぜなのかわかりません。ベクトルのサイズが変更され続け.push_Back();
、他のサーフェスが移動する前にコンピューターがこれを行わなかったため、「途中でスタック」してサーフェスの代わりに表示されたためだと思いました。しかし、それを確認したところ、まったく追加されませんでした。私も試してみ.reserve( myVect.size() + 1);
ましたが、残念ながら同じ問題しかありませんでした。
問題はhandle_input();
、メッセージの表示方法にあると思います。この問題については、ウェブ上のどこを探しても見つかりません。
ここに私の情報源があります:
これを行うより良い方法はありますか?ユーザーのテキストを取得し、それをサーフェスのベクトルに入れて、上に表示するだけです。