###前提・実現したいこと
Matlabでランダムに円を描画しようとしています。
1200x1200の画面に半径は全て20pxの円を重ならないように描画しようとしています。
現状では、図形が重なってしまい、また円になっていません。
ランダムに複数個(個数と位置がランダム)円を生成する仕様にする際にどのようにアルゴリズムを組めば良いかわからず、困っています。
###発生している問題・エラーメッセージ
実行したコード
Matlab
1% 等間隔ベクトルの作成 2t = linspace(0,2*pi,100); 3 4figure 5cx = 200 + (rand(20, 1) .* 400); cy = 300 + (rand(20, 1) .* 400); % 中心 6r = 0; % 半径 7 8 9for i =0:20 10 fill(r*sin(t)+cx,r*cos(t)+cy, 'k') 11 r = r+1; 12end 13i=i+1; 14 15axis([0,1200,0,1200]) 16axis square
思い通りに動いているコード
20pxの半径の円を1つ画面の中心に描画するコード
Matlab
1% 等間隔ベクトルの作成 2t = linspace(0,2*pi,100); 3 4figure 5cx = 600; cy = 600; % 中心 6r = 0; % 半径 7 8 9for i =0:20 10 fill(r*sin(t)+cx,r*cos(t)+cy, 'k') 11 r = r+1; 12end 13i=i+1; 14 15axis([0,1200,0,1200]) 16axis square
###補足情報(言語/FW/ツール等のバージョンなど)
MatlabR2017b
MacOS high Sierra
回答5件
あなたの回答
tips
プレビュー