quiverでのベクトルの間引き
Show older comments
quiverでのベクトルの描画時にベクトルの間引きを行いたいです.
ベクトルの数を半分にして図の見栄えを変更したいです.
イメージとしてはstreamslilceのdensityを0.5にしたようなものです(流線ではなく,ベクトルにしたい).
3 Comments
quiver関数、streamslice関数を見比べて、回答に困ってしまいました。ベクトルデータを間引けばやりたい事が出来る様に思えますが、それはベクトルデータの並び方によりけりです。万能な方法はありません。
>ベクトルの数を半分にして図の見栄えを変更したいです
単純にベクトルデータの添え字を(1:2:end)とすればデータ量が半分になります。しかしそれで下記の様に良い感じに間引かれるとは限りません。下記の様にベクトルデータが格子状に配置された場合でも、格子サイズが偶数の場合は偶数行だけが落とされ、奇数の場合はチェス盤の黒マスに当たるデータが落とされます。ベクトルデータの座標の並びがランダムだったりすると、どこが落とされるか想像出来ません。
[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi); % pi/8をpi/4にするとどこが間引かれたか良くわかります
U = sin(Y);
V = cos(X);
quiver(X,Y,U,V)
quiver(X(1:2:end),Y(1:2:end),U(1:2:end),V(1:2:end))
Atsushi Ueno
on 13 Jun 2022
対してベクトルデータは離散的な座標とベクトルサイズだけの情報なので「流線データの密度を変更する」様な事を容易に実現出来ません。
湧希 櫻井
on 16 Jun 2022
Answers (0)
Categories
Find more on ベクトル場 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
