How does matlab draw the following image?

Note that the basic geometric elements inside are spheres, cones and small cylinders, and that the known data are the 3D positions of the spheres [x1,y1,z1] and the 3D vectors of the arrows on each small ball [x2,y2,z2], which seems difficult

댓글 수: 3

Jan
Jan 2022년 7월 18일
편집: Jan 2022년 7월 18일
The question is vague. What do you want to konw exactly? Are you asking for the code or how the drawing is implemente in Matlab?
If the code is your problem, what have you tried so far? At least drawing the 3 spheres seems to be trivial using the spheres command.
Is this a homework question?
Adam Danz
Adam Danz 2022년 7월 18일
Currently there is no 3D quiver function that produces those types of objects. There may be a file in the file exchange that comes close, for example: arrow3. Alternatively, you could produce a 3D quiver using the functions you described (sphere, and cylinder for the arrow and bars). If you go that route, I would make a function that creates 3D quiver arrows given a vector of direction and a vector of magnitudes.
ma Jack
ma Jack 2022년 7월 24일
Yes, I need a simple example code please, plus this is not homework.

댓글을 달려면 로그인하십시오.

 채택된 답변

Chunru
Chunru 2022년 7월 24일
clf
ax = axes;
hold on
view(3)
grid on
% The arrows (vertical)
[xs, ys, zs] = sphere(50);
[xc, yc, zc] = cylinder(0.5, 50);
[xa, ya, za] = cylinder([1 0], 50);
h(1) = surface(0.7*xs, 0.7*ys, zs, 'EdgeColor','none');
h(2) = surface(xc, yc, 5*zc, 'EdgeColor','none');
h(3) = surface(xa, ya, 2*za+5, 'EdgeColor','none');
t = hgtransform('Parent',ax);
set(h,'Parent',t)
% Make transform: rotate, translate, scaling and so on
Ry = makehgtform('yrotate',20);
% Scaling matrix
Sxy = makehgtform('scale', 2);
% Concatenate the transforms and
% set the transform Matrix property
set(t,'Matrix',Ry*Sxy)
colormap(gray(256));
axis equal
material metal

댓글 수: 1

ma Jack
ma Jack 2022년 7월 24일
Thank you very much sir, it was very enlightening

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Vector Fields에 대해 자세히 알아보기

제품

릴리스

R2018b

질문:

2022년 7월 18일

댓글:

2022년 7월 24일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by