問題タブ [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.
google-maps - Googleはマップのストリートビューカーソルを「フォロー」する方法を教えてください
Google マップ ストリート ビューでは、シーンのさまざまな部分にカーソルを合わせると、カーソルが長方形または楕円形に変わります。例えば:
カーソルを建物の上に移動すると、カーソルが壁を「抱きしめ」ます。交差点をたどるのと同じくらい単純ではありません。左に進むと、建物のさまざまな面に当たると角度が変化することがわかります。
彼らは建物の顔を特定するためにある種の画像分析を行っているのでしょうか、それとも写真を撮っているときに何らかのレーザー距離計を使用し、後でそれを写真と組み合わせているのでしょうか?
coordinates - 平面を分割する方法
たとえば、特定の平面内の座標など、固定数 (X) の点があるとします (2-D 点群と呼ぶことができると思います)。
これらのポイントは、Y < X の Y ポリゴンに分割する必要があります。ポリゴンはオーバーラップしてはなりません。ポリゴンがコンベックス(ボロノイ図のようなもの)だったら最高です。
国を形成する場所のように想像してみてください。たとえば、12 個のポイントがあり、それぞれ 4 個のポイントを持つ 3 つのポリゴンを作成したいとします。
ポイントをカバーするグリッドを作成することを考えました。次に、点を反復処理して、最も近いグリッド セルに割り当てます。
多分私は明白なことを見逃していますか?より良い解決策があると確信しています。
ありがとう、ダニエル
最適化 (kmeans++)を見つけました。おそらくこれにより、より良い結果が得られるでしょう..
regression - 最小二乗平面からの法線ベクトル
ポイントのセットがあり、次の形式で最小二乗解を導き出すことができます。
計算した係数は正しいのですが、この形式の方程式で平面に垂直なベクトルを取得するにはどうすればよいでしょうか? この方程式の A、B、および C 係数を使用するだけでは、テスト データセットを使用した法線ベクトルとして正しくないように見えます。
width - 曲げ後の平面幅 (pv3d、as3dmod を使用)
私は大きな問題を抱えています。私は今2週間そこに立ち往生しています。それはかなり単純なようです。
平面を作成し、それにテクスチャをマッピングしています。その後、as3dmod の曲げモディファイアを使用して曲げます。
もちろん、平面は曲げ加工後に小さくなりました。
最初と最後の頂点を計算しようとしました。
最初の頂点が常に負であるため、-1 を計算します。
その結果、平面が 400*533 であれば問題なく動作します。しかし、たとえば 640*480 の平面では、そうではありません。
何かが足りない。それは本当に私を夢中にさせています。
誰にもアイデアはありますか?
前もって感謝します。
乾杯、ミスターダン
geometry - 与えられたすべての点を囲む最小半径の円を見つける方法は?
平面上に約1000個の奇数点があるとします。
次に、円の半径にまったく影響を与えないポイント、つまり凸包が通過しないポイント(いくつかのアルゴリズムのいずれかを使用)を破棄することができると思います。これは私たちに重要なポイントを残します。
これから、その最小半径の円を見つけるために何ができるでしょうか?
円に対してどのように実行できるかを理解したら、これを楕円に対して一般化することを検討しています。
省略記号に変更できるように、「公開ソースコード」へのリンクがあれば役立ちます。
mapping - 画面空間で三角形を表すマトリックス
だから私は3D空間に4つのポイントのセットを持っています。
P1 [0、0、0]
P2 [128、0、0]
P3 [0、128、0]
P4 [128、128、0]
次に、これを正射投影で画面に投影すると、画面スペースに2つのワイヤーフレームの三角形が効果的に表示されます。
次に、2つの三角形で構成されるこの「平面」にテクスチャをマッピングします。正方形のテクスチャを取得し、u、v座標を使用して、テクスチャをこれら2つの三角形にマッピングできます。
問題は、頂点にazコンポーネントを追加しようとすると発生します。画面空間に表示される三角形は多少歪んでいますが、テクスチャマッピングは完全にオフになっています。
たった3点なので、それでもある種のアフィン長方形を形成し、その長方形を次の形式の行列として表すことができるように思えます。
[ab 0] [cd 0] [tx ty 1]
画面空間の3つの2Dポイントを上記の形式の行列に変換する方法について、ヒントやアイデアを教えてもらえますか?
私が調べたすべてのチュートリアルなどは、テクスチャマッピングの大まかな理論を説明してから、OpenGl/DirectXネイティブ関数に実際のマッピングを実行させます。
私は、3つのポイントが与えられた場合に、アフィン行列を使用してその三角形にテクスチャをマッピングできる、より直接的なアプローチを探しています。(スキャンラインレンダリングアプローチを実行していません)
ありがとう!
math - 面と面の交点
二次選択アルゴリズムが線形選択アルゴリズムよりも高速な場合を見つけようとしています。いくつかの実験を実行して、アルゴリズムの実行時間を入力配列サイズと目的の次数統計の関数として示す 2 つの 3D プロットを生成しました。gnuplot を使ってプロットを描く 2 次アルゴリズムの方が速い場合があることを確認しました。次に、gnuplot のフィッティング アルゴリズムを使用して、観測されたランタイムをモデル化する 2 つの関数を見つけました (a、b、c、d、e、f は、既に見つけた定数ですが省略します)。
lin_alg_runtime(x,y) = a x + b y +c
quad_alg_runtime(x,y) = (d*x * e*y) + f
ここで、x は入力配列のサイズで、y は順序統計です。
今、これらのモデルを使用して、二次実装と線形実装をいつ切り替えるかを計算する方法がわかりません。これら 2 つの関数が交差する場所を見つける必要があると思いますが、その方法がよくわかりません。これら 2 つの関数が交差する場所をどのように見つけますか?
javascript - 奇妙な動作をするJavascriptgetElementById
forループを使用して、開始値(平面上の座席)を持ついくつかの要素を循環しています。
ここにそれがあります:
seatNum-startSeatを循環する座席の数
-循環を開始する座席
「onsubmit」というフォームから関数を呼び出しています。
追加されたループカウンターに基づいて、「s1」、「s2」、「s3」などのID命名規則を持つ要素を取得しようとすると、forループで問題が発生します。スタートシート。0(開始シート)からseatNum(シート数)までカウントします。
IDによって適切に解決されない理由はありますか?forループ内の最後のものを除いて、他のすべては正常に動作します。
はい、私はプログラミングに不慣れなので、おそらくベストプラクティスを持っていません。スタイル的には、寛容にしてください。
math - 3点の法線ベクトル
ちょっと数学オタク、私はしばらくの間私を困惑させている問題を抱えています。個人的なプロジェクトです。
赤、緑、青の3つのドットがあります。それらは、赤い点が左下(0,0)にあり、青い点が右下(1,0)にあり、緑の点が左上にあるように、段ボールの伝票に配置されています。一歩下がって、ある角度からカードの写真を撮ることを想像してみてください。画像内の各ドットの中心を見つける場合(たとえば、単位がピクセルである場合)、画像内のカードの顔の法線ベクトル(カメラに対する)をどのように見つけますか?
今、私がこの問題について取り上げたいくつかのこと:
- (「実生活」での)ドットは常に直角です。写真では、カメラが「軸」(軸は赤と青または赤と緑の点によって作成された線)に沿って赤い点の周りを回転している場合にのみ直角になります。
- カードの片面だけにドットがあります。したがって、あなたはそれの後ろを見ることは決してないだろうということを知っています。
- カードからカメラまでの距離は関係ありません。各ポイントの深さを知っていれば、これははるかに簡単になります(単純な外積ですよね?)。
- カードの回転は、私が探しているものとは無関係です。これを理解するために私が行ってきたいじくり回しでは、最終的に法線ベクトルの助けを借りて回転を見つけることができます。回転が法線ベクトルを見つけることの一部(またはその積)であるかどうかは私にはわかりません。
これを行ったか、数学の天才である誰かがそこにいることを願っています。ここに2人の友人がいて、私を助けてくれましたが、これまでのところ、成功していません。
javascript - 直線からの平面方程式
2 つのことを行う必要があります。
- 3D 空間内の点から、与えられた角度で直線の方程式を決定する必要があります
- その線に垂直で、設定されたサイズで、元の線が中心にある平面の方程式を決定する必要があります。
平面の方程式は、新しい直線の方程式が与えられたときに、平面上のどこで交差するかがわかるようにする必要があります (最初に交差すると仮定します)。