Spatial, coloured vectors
8 ビュー (過去 30 日間)
古いコメントを表示
Hello!
My question would consist of both a static and a time-changing plot (animation).
Static part: (It will be closely related to the time-changing part)
My initial data types are:
xyz -> this is a matrix with rows containing the starting points of the vectors.
B -> this is a cell array containing the directions u, v, and w from the vectors' starting points in the form of a column vector.
C -> this contains the magnitude of each vector in turn.
For data, a brief example:
xyz = [1,0,0; 1,1,1; 1,0,1];
B = {[50,-2,5]; [23,-51,65]; [1,-6,-88]};
C = [52.29, 85.76, 88.21];
The task here would be to draw spatial arrows colored by their size.
I tried to use the following method to colour the vectors, but other methods might work as well:
RGB = [0 0 1
0 0.5 1
0 1 1
0 1 0.5
0 1 0
0.5 1 0
1 1 0
1 0.5 0
1 0 0 0];
colormap(RGB);
An important note for this exercise is that my input data is always in this format and I usually have to plot thousands of arrows like this.
Dynamic part:
Here you have to create an animation such that the matrix xyz is unchanged, but the matrix B and hence the matrix C calculated from it changes step by step.
At some point there are hundreds of steps in succession.
Thanks for your help!
2 件のコメント
Image Analyst
2025 年 5 月 27 日
That is not a method. It's just a colormap. C are your vector lengths, but what color goes with what length? Does each row in RGB correspond to a certain length? If so, which ones?
採用された回答
Star Strider
2025 年 5 月 27 日
The quiver3Dpatch File Exchange contribution can probably do what you want. You will need to use the usual quiver3 argument format for your data, instead of your current format.
4 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Animation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

