問題タブ [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.
python - 双曲線正接を使用して、Python でスパイラル構造を作成する
Python の 2D 配列で、銀河の渦巻き腕のような渦巻き構造を作成しようとしています。私が最初に行った簡単な方法は、画像のように定義された単純な対数螺旋関数を使用することでした:対数螺旋関数
x
とのy
値は、
M
とN
は配列の次元です。半径座標は単純で、最後の画像の方程式のように、
f(r)のプロファイル輝度の作成とプロット
渦巻銀河のような一般的な渦巻き構造を教えてください。
これを行う別の方法は、双曲線正接という別の関数を使用することです。最後の画像の方程式では、r
前と同じように定義されていない限り、他のすべてのパラメーターは調整可能な数値です。
この関数では、2D 配列でらせん構造を作成するのに問題があります。双曲線正接を使用して配列内の座標変換を行う必要があるかどうか、または行列/配列の歪みを使用してらせん構造を作成する必要があるかどうかはわかりません。試してみましたが、できませんでした。
上記の定義を使用して、このスパイラ/イメージを作成するにはどうすればよいですか? 助けてくれてありがとう!
この件に関する詳細は、参考文献を参照してください。
- Peng、Y. Chien et al。銀河画像の詳細な構造分解、2002
- Peng、Y. Chien et al。銀河画像の詳細な分解。Ⅱ.軸対称モデルを超えて、2009
- Peng, Y. Chien 著、Galfit ユーザーズ マニュアル、2003 年
- ロウ、バーナビーら。GALSIM:モジュラー銀河画像シミュレーション ツールキット、2015
編集:
私が使用しているコードは次のとおりです。
パラメータのセットは次のとおりです。
java - Java でスパイラル行列を生成するアルゴリズム
正の整数 N を指定すると、1 から n^2 までの数値をらせん状に表示する整数からなる正方行列 NxN を作成して返すクラスを作成します。
私のクラスでは 4 つのメソッドを取得しました。そのうちの 3 つは方向用で、spiral()
メソッドはすべての数字を適切な場所に配置する必要があります。
悲しいことに、それを実行しようとするとArrayIndexOutOfBoundException
、res[i][j]=1;
.
配列が 1 から始まり、N*N になるように修正するにはどうすればよいですか?
編集updateDirection()
:メソッドを追加
この方法をよりよく理解するには、次の画像をご覧ください。
Edit2 :これは私のテスト方法です:
Edit3 :updateRow()
およびupdateColoumn()
メソッドが追加されました:
c - スパイラル マトリックスの実装を行う C でのセグメンテーション エラー ランタイム エラー
hackerearth に関する質問を読みました。入力として N を使用して、スパイラル行列 N N の両方の対角線の合計を出力するよう求められます。a[0][0]=N N で中心が 1 のスパイラル行列、すなわち
このためのコードを実装しましたが、入力 N >= 10^5 の場合にセグメンテーション エラーまたは実行時エラーが発生します
何が起こっているのか理解できません
python - Pythonで対数渦巻銀河をシミュレートする
Pythonを使用して対数渦巻銀河をシミュレートしています。パラメトリック方程式を使用すると、
x= a*exp(b*theta)*cos(theta)
と
y= a*exp(b*theta)*sin(theta)
星のランダムな分布を取得するために numpy.random を使用しました。サンプルコードを以下に示します。
結果の画像は 、2 つの腕を持つ渦巻銀河の下に表示されます。
必要なもの: 1) 星は渦巻銀河に放射状に分布している必要があります。腕に沿ってのみ分布を得ました。2) 両腕は青色である必要があります。ここでは、片方の腕を青色、もう一方の腕を緑色にしています。
これをシミュレートした後、銀河を回転させる必要があります。これに関するヘルプはかなりのものです。
**編集: を使用して、両方の腕を青色にしましたplot(x1, y1,"b*")
matlab - MATLAB で 2 つの直交座標点間にらせんを作成する
おそらくこれは基本的な質問ですが、特にこのようなものを見つけることができず、最善の方法でそれを行う方法を考えています.
2 組の点 (x1,y1,z1) と (x2,y2,z2) があり、それらを極座標に変換しました。半径が減少する反時計回りのらせんを作成して、2 番目の点に到達したいと思います。
また、何回転かかるかも明記したいと思います。
私が見た例はすべて、x 軸上の 2 つの点であり、時計回りに進んでいます。
どんな提案でも大歓迎です!
ありがとう。
java - ArrayList の ArrayList を使用してスパイラル順序行列を作成する
この問題を考慮してスパイラル マトリックスを生成しようとしています。整数 n を指定すると、1 から n の 2 乗までの要素で満たされた正方マトリックスをスパイラル オーダーで生成します。たとえば、n = 4 の場合、
行列を生成するために ArrayList の戻り値の型を持たせようとしています。
私の問題は、生成が開始されるたびに、行ごとではなく行列全体を更新し、最終的に各行と列で同じ値になることです。
これが私のコードです:
c - らせん順序の 5*5 行列で [R, C] を見つける
上記と同様に満たされた N*N スパイラル マトリックスの場合、[R,C] 位置に存在する要素を見つけます。ここで、R=行の番号、C=列の番号です。
私はまだ初心者なので、何も進んでください。
らせん行列と混同しています。これも機能しますが、通常の行列用に設計されており、らせんである場合の最適なソリューションを理解したいと思います。ありがとうございました。