問題タブ [spiral]
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.
algorithm - マトリックスとアルゴリズムの「スパイラル」
アルゴリズムの準備ができているかどうかを尋ねたかったので、これを行うことができました。mxn要素を持つ行列m(col)xn(row)があります。この要素に中心から始まり、らせん状に回転する位置を指定したいと思います。たとえば、行列3x3の場合、次のように定義された9つの要素があります。
または、unaマトリックス4 x 3の場合、12個の要素があり、定義されています。
または、行列5x2 iには、そのように定義された10個の要素があります。
など。基本的には、mxn要素の整数の配列を定義し、値を手動でロードすることを解決しましたが、一般的には、アルゴリズムから自動的に作成された行列のようになります。何かを見つけるのを手伝ってくれる人に感謝します。どうもありがとう。
アップデート
このコードは、私が持っていたいことについて正確に行いますが、デルファイにはありません。0からではなく、1から開始する必要があるのは私だけです。私にとって重要なのは、それがすべてのmatricsmxnに対して有効であるということです。誰が私がそれをデルファイに翻訳するのを手伝ってくれますか?
どうもありがとうございました。
python - 拡大する円形スパイラルで 2 次元配列を反復処理する
行と列でn
by matrixを指定n
すると、隣接するすべての値を循環スパイラルで反復処理したいと思います。M
i
j
これを行うポイントは、M に依存する関数 をテストしてf
、 から離れた半径を見つける(i, j)
ことf
ですTrue
。したがって、f
次のようになります。
次のように呼び出されます。
circle_around
循環スパイラルのインデックス (へのイテレータ) を返す関数はどこにありますか。したがって、 のすべての点についてM
、このコードは をf
返すその点からの半径を計算して格納しますTrue
。
を計算するより効率的な方法があればR
、私もそれを受け入れます。
アップデート:
回答を提出してくれたすべての人に感謝します。circle_around
イテレータからの出力をプロットして、イテレータが何をするかを示す短い関数を作成しました。回答を更新するか、新しい回答を投稿する場合は、このコードを使用してソリューションを検証できます。
結果は次のとおり
plot(circle_around(0, 0), "F.J")
です。
plot(circle_around(0, 0, 10), "WolframH")
:
マグネシウムの提案を次のようにコーディングしました。
plot(circle_around(0, 0, 10), "magnesium")
:
ご覧のとおり、私が探しているインターフェイスを満たす結果はどれも、0、0 の周りのすべてのインデックスをカバーする円形のらせんを生成していません。注文。
python - 画像スパイラル ピクセル検索
ピクセル (色) 検索を中心かららせん状に行う方法を理解しようとしています。通常の「左から右へのピクセル検索」とは異なります。
これまでのところ、いくつかの単純な xy 検索を行ってきました。標準の PIL を使用します。しかし、それは遅かった。私の場合、結果は常に(画像の)中心に近いように見えるためです。問題は、それが正方形の画像ではないため、中心位置が 2 ピクセル以上 ( A中心ではなく、「2」+ ピクセル中心) になる可能性があることです。ヒントを教えてください。私は常にスクリーンショット PIL-> ImageGrab.grab()から作業し、 image.sizeを使用して画像サイズを取得し、px=image.getpixel((x, y))を使用して現在のピクセル位置を取得します
私はR、G、B色で作業しています: px[0] == r and px[1] == g and px[2] == b:
flash - Flash CS5で指定されたモーフィングパスに従うシェイプトゥイーンを作成するにはどうすればよいですか?
円から始めて、その円を徐々にらせん状にしていきたいのですが、形全体ではなく、らせん状の端から形をトゥイーンさせたいのですが、フレームごとにこれを行う方法はありますか?アニメーション?
c++ - 外向きスパイラルの作成
私はこれについて考えていましたが、外向きのスパイラルで行列を埋める方法を考えることができないので、次のことができます。
これを回してください:1 2 3 4 5 ... n
に
私の問題はアルゴリズム自体ですが、擬似コードの代わりにC ++を使用できる場合は、それが良いでしょう。
これは私がテストするために書いたコードですが、どうすればこれを実行できるのか本当にわかりません。
ありがとうございました!
algorithm - 長方形のタイル状のらせんの位置n番目の要素を見つけますか?
長方形のタイル状のらせんのn番目の要素を取得するためのアルゴリズムは何ですか?
ここにありn
ます:
に対応する座標は次のn
とおりです。
与えられた場合n
、座標を計算する方法は?
ios - ベジエ曲線を使用してらせんを描く
これは iPad アプリケーション用ですが、基本的には数学の問題です。
線幅が変化する (単調に増加する) 円弧を描く必要があります。曲線の始点では、最初の太さ (2 ポイントとしましょう) を持ち、弧の終点で最大の太さ (12 ポイントとしましょう) になるまで、太さは滑らかに増加します。
これを作成する最善の方法は、UIBezierPath を作成して形状を塗りつぶすことです。私の最初の試みは、2 つの円弧 (中心がずれている) を使用することでした。これは 90° までは問題なく動作しましたが、円弧は多くの場合 90° から 180° の間になるため、この方法ではうまくいきません。
私の現在のアプローチは、ベジェ クワッドまたはキュービック カーブを使用して、わずかならせん (円弧からわずかに成長し、もう 1 つがわずかに縮小する) を作成することです。問題は、円弧からの偏差 (別名、形状の「厚さ」) が必要な値になるように、コントロール ポイントをどこに配置するかです。
制約:
- 形状は、任意の角度 (互いに 180° 以内) で開始および終了できる必要があります。
- 形状の「厚さ」(円からの偏差) は、指定された値で開始および終了する必要があります
- 「厚さ」は単調に増加する必要があります(大きくなってから再び小さくなることはできません)
- 滑らかに見える必要があります。急な曲がりがあってはなりません。
私は他のソリューションにもオープンです。
c - OpenGLでフェルマー螺旋を描く
OpenGLを使用してこれを描画するメソッドを実行しています。描画は2Dです。
私は理論を知っています、あなたはウィキペディアで定義を見つけることができます、しかし私は私が間違っていることを知りません。問題は、平方根の負の解を使用して点を描くときでした。
これが私がこのメソッドを呼び出す方法であり、描画スペースが定義されています。
それは解決策のようです。
algorithm - らせん上に等間隔の点を描く
スパイラル パス上のポイントの分布を計算するアルゴリズムが必要です。
このアルゴリズムの入力パラメータは次のとおりです。
- ループの幅(一番内側のループからの距離)
- ポイント間の固定距離
- 描画するポイントの数
描くらせんはアルキメデスのらせんで、得られる点は互いに等距離でなければなりません。
アルゴリズムは、単一点のデカルト座標のシーケンスを出力する必要があります。次に例を示します。
ポイント 1: (0.0) ポイント 2: (..., ...) ........ ポイント N (..., ...)
プログラミング言語は重要ではなく、すべての助けが大歓迎です!
編集:
私はすでにこのサイトからこの例を取得して変更しています:
しかし、点の配置が間違っています。点は互いに等距離ではありません。
正しい分布の例は、左の画像です。
java - 対数螺旋関数が正しく計算されない
この質問をどこで行うか(数学とここの間)がよくわかりませんでした
この式を使って対数螺旋を描いてみます
それは機能します(画面にスパイラルが表示されます)が、ピッチを変更すると(a)スパイラルはピッチを変更せず、回転とサイズのみが変更されます(aを1に設定すると円が作成されますが、そうではありません)
私はそれらを試しました:
(aとbは定数、開始= -4 * PI、終了= 4 * PI)
と
(aとbは定数、開始= 0、終了= 10)
数式に大きな誤りがあったと思いますが、どちらがわかりません。役立つ場合は出力画像を提供できますが、方法がわかりません
編集:r = a exp(θcotb)を使用して動作させることに成功しました
しかし、他の数式がうまくいかなかった理由がまだわかりません。そのため、この質問に答えるのではなく編集しました。