問題タブ [plane]
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.
sequence - 交差点をチェックする数学的手法
中空の立方体の形をした非常に大きな部屋があると想像してみてください。部屋の固定された個別の位置に空中にぶら下がっている魔法のボールがあります。その真上に別の魔法のボールがある魔法のボールはありません。無限の面積の想像上の水平面を取り、立方体を通過する場合、平面がどの魔法のボールも切断しないことをどのように確認できますか?
魔法のボールの高さは、その位置(xとy)の関数として与えられます。分布は、いくつかのボールが同じ高さにあり、他のボールが異なる高さにあるような方法です。関数
z = axy + bx + cy
をa、b、cが正の整数定数であるとします。位置(x軸とy軸の値)と高さ(z)は離散値です(簡単にするために、これらは正の整数と見なすことができます)。
ボール分布関数がz=10xy + 8x + 4yの場合、az値を15または21にすることはできません。したがって、z=15またはz=21の平面では、どのボールも切断されません。実際、この場合、高さ(z =任意の奇数)の平面はボールを切断しません。ボールを切り抜けない偶数の高さの平面がいくつかあることに注意してください。
すべての魔法のボールの高さを見つけて水平面の高さと比較するのは望ましくありません。これは、考えられるすべての組み合わせを試すようなものであり、コンピューターでも非常に長い時間がかかるためです。
私たちの目的は、与えられたz(高さ)の値が(x、y)(位置)の任意のペアによって生成できるかどうかを判断できる高速な方法を見つけることです。与えられたzを生成できない場合、その高さの平面はボールを切断しません! この質問は、2つの変数の関数によって生成されたシーケンスに特定の数が存在するかどうかを見つけることにも似ています。
Uがこの問題を解決するための提案をしてくれれば、とても助かります。ありがとうございました。(私はすでにGA、PSO、DE、SAなどの進化的計算を試しました。方法は決定論的である必要があります)。
javascript - Javascript 三項式問題
わかりました、Javascript (または簡単に変換できるもの、BASIC はよく知っていますが、C++ と C# には少し慣れていません) を使用して、この問題/方程式を解決する必要があります。
線の始点と終点 (x、y、z) が与えられた場合、線上のどの点が方程式を満たすか
A、B、C、および D は定義されていますが、xy と z は未知数ですが、上記で知っている行のどこかにあります。これからポイントの x、y、z を取得する必要があります。
3d - 3D で平面を効率的に回転および移動する方法
法線 (n) と距離 (d) (原点から) で定義された平面があります。新しいシステムに変えたい。長い道のりは次のようなものです: 1) 距離 (d) と法線 (n) を掛け合わせてベクトル (p) を得る 2) ベクトル (p) を回転 (R) および平行移動 (v) して (p') を得る 3)正規化 (p') して法線を取得します。 4) 別のアルゴリズムを使用して、新しい平面と原点の間の最小距離 (d') を見つけます。
私はこれを試していませんが、うまくいくはずです。質問: n' と d' を取得するより高速な方法はありませんか? 翻訳 (v) が 0 の場合は、4) をスキップできます。しかし、それが 0 でない場合は? 新しい d' を取得する簡単な方法はありますか?
opengl-es - Opengl ES - 複数の頂点の平面を描く
Android 用の Opengl ES を使用すると、テクスチャで正方形を描画するときに問題が発生します。遠くから見るときれいに見えますが、モデルに近づくとテクスチャが台無しになります。これは、モデルが 4 つの頂点のみで構成されていることが原因であると考えられます。
float[] 座標 = {
-1、1、0.0f、
1、1、0.0f、
-1、-1、0.0f、
1、-1、0.0f、
};
そのため、モデルを拡張して 10x10 のポリゴンで構成する必要があります。問題は、次のような平面を作成するために頂点をどの順序で描画する必要があるかということです。
http://cocktailgenerator.net/cis4/plan.png
GL_TRIANGLE_STRIP を使用すると、(1x10) のような多角形の長方形を描くことができ、うまく機能しますが、それを 10x10 に拡張するにはどうすればよいでしょうか?
3d - 単純な平面との 3D 線平面の交差
3D 空間に 2 つのポイントがあり、X 座標の符号が異なります。そのため、そのうちの 1 つは X 平面の片側にあり、もう 1 つは反対側にあります。
今、私はこの平面と2点で構成される線の交点を最も単純で最適化された方法で見つけたいと思っています.
私は一般的な線平面の交差を行う方法を知っていますが、この場合、平面は単なる x 平面であるため、いくつかの近道が必要だと思います。
ありがとう!
c# - 平面投影とスケールにより、Silverlightでぼやけが発生します
Ok、
そこで、個々の要素で拡大縮小された画像に依存するアプリケーションを作成しようとしました。これらの画像は裏返すことができますが、ProjectionPlaneの回転に作用するアニメーションを使用します。
この問題は、画像の拡大縮小と回転の両方で発生します。何らかの理由でぼやけ始めますが、拡大縮小されていない画像はぼやけません。
また、下の例の画像を見ると(上が拡大縮小されて回転し、下が回転している)、上の画像の投影も正しく見えません。水平すぎます。
これは、テストアプリのコードです。
ですから、なぜこれが起こっているのかを誰かが明らかにすることができれば、私はそれを非常に感謝しています。提案も大歓迎です!:)
** アップデート **
明確にするために、投影面の回転が0の場合、画像はぼやけていないので、回転中にのみ画像がぼやけます。
3d - 2*3行列を使用した平面への投影
行列を使用することで、法線ベクトル(1,1,1)を使用して、3Dの点のセットを平面に簡単に投影できます。
同じことをしたいのですが、(1,1,1)の代わりに法線ベクトル(a、b、c)を使用して任意の平面に投影します。マトリックスを見つける方法は?
前もって感謝します!
編集:質問の言い換え:
(1,1,1)から見ると、3つの単位ベクトルは(-sqrt(3)/ 2、-1/3)、(sqrt(3)/ 2、-1 / 2)、(0、 1)。(関係ないスケーリング係数まで。)
(1,1,1)ではなく(a、b、c)から見たときの3つの単位ベクトルの射影を見つけたい。
c - 配列データから平面スライスを取得する
みなさん、こんにちは。
(複数のTIF画像からの)3Dグリッドデータを次のような構造に読み込みました:
次に、この1次元グリッドデータから平面スライスを取得します。
例えば:
しかし、私は他の軸に沿って実装するのに苦労しています:
と
このための簡単なアルゴリズムはありますか?前もって感謝します。
c# - ポイントのリストとして表される衝突検出カスタム スケッチ形状
ユーザーが描いた一連のポイントがあります。彼らはいくつかのオブジェクトの周りを描きます。
衝突を検出する領域を見つけることができるように、この一連の点を何らかの方法で形状に変換する必要があります。
画像が明確になります:
形状 http://www.imagechicken.com/uploads/1277188630025178800.jpg として表される点のセット 。
私がこれまでに持っていた最良のアイデアは、すべてのピクセルを繰り返し処理して、形状の「内側」または「外側」にあるかどうかを判断することですが、それは恐ろしく遅く、「内側」を判断する方法さえわかりません/ 「外側」ビット...
ヒントはありますか?私は .NET (C# と XNA) を使用しています。
opengl - ポイント - glutLookAt* 関数を使用しない平面衝突
私が理解しているように、gluTranslate / glRotate を使用して glutLootAt を使用することをお勧めします。明らかな HW 対 SW 計算モード以外の理由を探すつもりはありませんが、単に波に沿って進みます。ただし、カメラが壁を突き破るのを効率的に止める方法が正確にわからないため、これは頭痛の種です。AABB などではなく、点と面の交点のみに関心があります。
そのため、glTranslates と glRotates を使用すると、世界がその周りを回転している間、視点は (簡単にするために (0,0,0) で) 静止したままになります。これは、交点をチェックするために、カメラの動きごとに世界の頂点座標を再計算する必要があることを意味します (これは glutLookAt アプローチでは必要ありませんでした)。GPU ランドから必要な新しい座標を取得する方法がないため、CPU ランドで手動で計算する必要があります。カメラの動きごとに... :(
現在の回転を 3 つの軸のそれぞれと平行移動についても同じように保持する必要があるようです。私のプログラムではスケーリングは使用されていません。私の質問:
1 - 上記の推論には欠陥がありますか? どのように ?2 - そうでない場合は、そのような再計算を回避する方法が必要です。私がそれを見る方法(そしてhttp://www.glprogramming.com/red/appendixf.htmlを見ることによって)) 平行移動用に 1 つの行列乗算が必要であり、回転用に別の行列乗算が必要です (必要な y 軸を除いて)。ただし、非常に多くの加算/乗算、特にサイン/コサインを計算しなければならないことは、確かに FPS を殺します。計算対象の頂点は数千、場合によっては数万になります。すべてのフレーム...すべての計算...世界の新しい座標を計算した後は、物事は非常に簡単に思えます-「d」記号を変更した平面があるかどうかを確認するだけです(平面の方程式から ax + by + cz + d = 0)。その場合は、軽量の外積アプローチを使用して、その点がその平面の各「移動」三角形内の空間内にあるかどうかをテストします。
ありがとう
編集: glGet について見つけましたが、それが正しい方法だと思いますが、適切に使用する方法がわかりません:
m_vt16CurrentMatrixVerts は float[16] で、0.f または 8.67453e-13 などで埋められます。私はどこを台無しにしていますか?