MarkerSizeを座標の値と一致させたい
显示 更早的评论
【背景】
現在、円同士をぶつけて軌道を変える反射のアニメーションを作成中です。
演算自体はうまくいったのですが、グラフィックスがうまくいきません。
マーカーサイズの設定が問題のようです。以下に例を示します。
【例題】
半径 20 のマーカーを作成したいのですが、うまくいきません。
r = 40/2;
Xl = 100;
Yl = 100;
fig = figure;
ph = plot(0,0,'MarkerSize',2*r,'Marker','o','MarkerFaceColor','k');
grid on
xlim([-1 1].*Xl)
ylim([-1 1].*Yl)
pbaspect([1 1 1]);
上記のように半径は20になっていません。
figureのプロパティで 'Units' があるのでそこを設定するのかなと思っていますが、
いまいちピンとこないため悩んでいます。
【補足】なぜPlotか
コールバックでアニメーションを作っているからです。
これは後にマウス等の操作と連携するために行っています。
Plotは入れ子関数内で ph.XData / ph.YData の更新だけすればいいので楽だと思い選びました。
現状はアスペクト比を合わせて、ph = axes('Unit', 'pixel')とすることで m ファイル上はうまくいってるように見えます。
ほかの方法があれば、教えていただけると幸いです。
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 グラフィックス パフォーマンス 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
