プログラミング初心者です。
心理学の実験のために、RDS…Rondom Dot Stereogramを作成したいと思っています。
白黒のドットがランダムに発生していて、画面をびっしりおおっている画像です。
いろいろなページでフリーソフトが提供されていましたが、たとえば、それぞれのドットの色の濃さを決定している計算?や全体における割合?分布?のような理論(というかプログラミング??)がわからず、
実験に使うには謎が多すぎるかな と感じています。
そこで、自分でノイズ画像を作りたいのですが、それはどのようなソフトを使えばいいのでしょうか??そして、自分でプログラミングする場合、記述内容を初心者が自力でやるのは難しいでしょうか??
(漠然とした質問ですみません…)
Mathematicaというものの3次元関数を参考にした という記述は見たのですが、それ以外にも、作成する方法がありましたら教えてください。
(ちなみに、Photo shopでは作成済みです)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
RDSのドットをよく見ると、縦にはランダムですが、横には完全なランダムではなく、何ドットかごとに同じパターンの繰り返しになっていることが分かります。
ドットを完全にランダムに作成できるのは、RDSの高さ×この「繰り返し」の幅の長方形の範囲内になります。ランダムなドットを発生させる範囲が決まれば、求める濃さから白/黒ドットの生成割合を求め、その割合に応じて長方形の範囲内に白/黒ドットを1ドットずつ埋めていくことができます。
この「埋めていく方法」には「完全にランダムにする方法」(白/黒ドットの生成割合から生成確率を求め、その確率に従ってドットを生成して埋めていく方法)や「特定のパターンで埋めていく方法」があります。
こうして生成した「ランダムドットの長方形」と高さ情報を合算して一枚のRDSを生成するプログラムがない場合、そのようなプログラムもまた別途作成する必要があります。
どちらも、初心者が作成するプログラムとしてはちょっと難易度が高い感じですね。
お返事が非常におそくなってしまいすみません。
ランダムドットの仕組みを((なんとなくですが)知ることができました☆
難易度は高そうですね…というか見当がつきません。。無理かな…
ご回答、ありがとうございました!
No.2
- 回答日時:
白地の矩形内に一様な黒点を打つには、乱数発生関数を用います。
例えば、C言語の場合はrand()という関数があり、この関数を呼び出す毎に0≦r<1.0の範囲の小数(一様乱数)がひとつだけ返されます。他の言語でも似たようなものです。この小数をどのように扱うかというと、横150×縦200の矩形内に一様な黒点を打つときは、
x=150*rand()
y=200*rand()
を求め、その整数値のペア(x,y)を座標とする矩形内に黒点を打ちます。この作業を必要回数繰り返して矩形内を黒点で塗りつぶして行きます。
ただし乱数はある程度の大きさの周期で繰り返す性質を持っていますので、あまり広い面積を一気にカバーするのは避けて、100×100ドット程度の矩形に分割しておき、各々の矩形を黒点で埋めていけば自然な黒点の集まりが得られます。濃淡については繰り返し回数により調整します。
また、半径Rの円内を一様な黒点で埋めたければ、次のようにします。
x=R*rand()
y=R*rand()
x^2 + y^2 ≦ R^2 … (1)
求めた整数の組(x,y)がを(1)の条件を満たさないときは再び(x,y)の組を求め直すか、xまたはyのいずれか一方を求め直します。
これらの操作を参考にして、一定の分布に従う黒点の集まりを表現できます。
お返事が大変遅くなってしまいすみません。
自分で作成するのはあきらめてしまったのですが、勉強になりました!!
ご回答、ありがとうございました☆
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- Illustrator(イラストレーター) Illustrator アンカーポイント選択について 3 2023/01/30 12:31
- その他(IT・Webサービス) 動画が多い(容量が多い)Webサイト作成 1 2023/04/08 17:42
- Wi-Fi・無線LAN 映像も音声も記録出来る無料動画キャプチャソフトを教えて下さい。 3 2023/05/12 16:20
- Ruby GitHubについて 1 2022/08/04 14:17
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
小学1年生の子です。塾に行かせ...
-
IT業界より楽に稼げる業界って...
-
家庭のパソコンで Python の 環...
-
私はプログラミングは一切分か...
-
LeetCodeていうの初めて、
-
プログラミングの雑談とかでき...
-
プログラミングを教えたいです...
-
GitHubについて
-
以下のサイトのようなフォーム...
-
義務教育レベルのプログラミン...
-
最近小学生、中学生にもプログ...
-
Visual Studio Codeについて
-
VBA フォルダ アクセス権限付与
-
自閉症の才能にもレベルがある?
-
情報学部に通う大学生です。 パ...
-
質問失礼します。 就職サポート...
-
cygwinでのGUIプログラミングの...
-
マイナーなMACでプログラミング...
-
誤差拡散法のプログラミング
-
VCの描画について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
小学1年生の子です。塾に行かせ...
-
Visual Studio Codeについて
-
プログラミングを教えたいです...
-
LeetCodeていうの初めて、
-
義務教育レベルのプログラミン...
-
procってなんですか?
-
私はプログラミングは一切分か...
-
IT業界より楽に稼げる業界って...
-
プログラミングの雑談とかでき...
-
最近小学生、中学生にもプログ...
-
アセンブリ名とは??
-
CSVデータの"(ダブルクォーテ...
-
以下のサイトのようなフォーム...
-
家庭のパソコンで Python の 環...
-
オススメのプログラミングスク...
-
VBA フォルダ アクセス権限付与
-
プログラミングをやってます。 ...
-
エクセルVBAでRS232Cへ
-
MFCとC++/CLIとの比較
-
VBAプログラミング
おすすめ情報