人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

下記のようなことが出来るソフトを教えていただけませんでしょうか。もしくは作っていただけませんでしょうか。
作っていただけたら1000ポイント差し上げます。

任意の縦、横をピクセル数で指定します。
指定した大きさの長方形が作図され、中心を「0」としたx,y軸を持つ座標平面となります。

次に、座標とその座標を中心として作図される正円の半径が、ランダムに生成され、以下のような形式で書き出されてゆきます。

(x1,y1)r1
(x2,y2)r2
(x3,y3)r3
…以下あらかじめ指定した個数まで。

()内、x1、x2…,y1、y2…が生成された座標で、ランダムな整数(ピクセル単位)ですが、いくつかの条件に基づいて生成されます。
(条件については添付画像をご参照ください。)
()の右、r1、r2…はその座標を中心として作図される正円の半径で、ランダムな整数(ピクセル単位)ですが、「最小半径」と「最大半径」を、それぞれあらかじめ指定することができ、その範囲内でランダムな値をとります。

一方、座標平面上には実際に、上記座標が点で表示され、それを中心とした正円が作図されてゆきます。
(完成イメージについては添付画像をご参照ください。)

よろしくお願いいたします。

1335077833
●拡大する

●質問者: minapoo
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tokyo-joe
●33ポイント

完成度の低い回答なので、点数の配分は質問主さんにお任せします。

統計ソフト「R」を使う方法が考えられます。
http://o-server.main.jp/r/use.html
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

Rは、コマンドラインで動作し、統計計算やその結果のグラフ出力などを主な機能とするフリーソフトです。

まず、Rでのバブルチャートの作成ですが、このレベルの事ができます(すみません、英語です)。ご要望に合う作画はできそうです。
http://flowingdata.com/2010/11/23/how-to-make-bubble-charts/
このページを見ると、バブルチャートを描画するコマンドは、次のようになります。
>symbols(data$x, data$y, circles=data$r)
data: 参照する元データの名前
x: 上記元データ中で、x軸に割り当てる項目の名前
y: 〃、y軸に割り当てる項目の名前

で、上記元データ(data)を作成する方法です。乱数に基づいて有限個のデータを作成するんですよね?Rには乱数発生関数が備えられています。
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/60.html
乱数の分布には色々あるようですが、今回の目的からすると一様分布(unif)が適当なようです。例えば、
>runif(5)
と入力すれば、一様分布に基づく乱数を5個生成してくれるようです。最大値、最小値もオプションの指定で出来ます。これを、バブルのx、y、rについてそれぞれ発生させ、上記dataというデータ・フレームを作成すれば、目的を達するのではないでしょうか?

以上、完全なガイドにはなっていませんが、方向性としては合っているでしょうか?


minapooさんのコメント
ご回答ありがとうございます。 方向性というか出来上がりのイメージは似てますね。 ただ、このソフトでは今回質問に添付させていただきました画像にある(3)、(4)、(5)、が難しいのでは?と思いました。 私が英語が不得意なこともあって、ちゃんと理解できていないのかもしれませんが。

2 ● TransFreeBSD
●67ポイント ベストアンサー

http://jsdo.it/TransFreeBSD/iidY
こんな感じでしょうか。


minapooさんのコメント
ご回答ありがとうございます。お返事が遅くなってしまい、すみませんでした。 すばらしいです。望んでたことはすべてかなえられています。 このままでももちろん充分なのですが、もし良ければ、y軸に関して、上が負、下が正になっているのを、上を正、下を負にしていただけませんでしょうか。 もしお時間があれば、で、かまいませんので。

TransFreeBSDさんのコメント
変えました。 transformメソッドで座標軸変えれました。

TransFreeBSDさんのコメント
書き忘れていましたが、点はランダムに生成して、条件に当てはまらなければ再試行しています。 で、再試行回数が1万(18行目の数字)を超えると規定数の点を生成してなくても停止します。 現状、400*300=12万ピクセルなので12ピクセル/試行で、そのレベルの空間があればは見逃しているかも知れません。 こだわるなら試行回数をもう1桁か2桁上げる方が良いのかも知れません。

minapooさんのコメント
細かいわがまま聞いていただきましてありがとうございます! また、再試行回数の件、とても参考になりました。 ポイントお送りいたします。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ