MATLAB Answers

How do I align the vertices and the adjacency graph of a Buckyball?

8 ビュー (過去 30 日間)
Matlab User
Matlab User 2019 年 11 月 16 日
回答済み: darova 2019 年 11 月 16 日
Inspired by hypercubes-and-graphs, I would like to visualize a wireframe model of a Buckyball. Using the following code, I am almost there but I need some advice on how to create the apparent rotational misalignment which exists between the graph and the 3D plot.
How do I align the two "plots": one produced with plot3 (the vertices); and the other with plot (the adjacency graph)?
[B, v] = bucky;
G = graph(B);
A = 4; % A scaling factor
plot3(A*v(:,1), A*v(:,2), A*v(:,3), 'o'), hold on
plot(G,'layout','force3')
axis square off vis3d
set(gca,'clipping','off'), hold off

  0 件のコメント

サインインしてコメントする。

回答 (1 件)

darova
darova 2019 年 11 月 16 日
Here is a way
ind = full(B); % convert to ordinary matrix
[rr,cc] = find(ind); % find non-zero elements
ix = [rr cc]'; % set-up connections
x = A*v(:,1);
y = A*v(:,2);
z = A*v(:,3);
plot3(x(ix),y(ix),z(ix));

  0 件のコメント

サインインしてコメントする。

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by