How do I align the vertices and the adjacency graph of a Buckyball?
6 views (last 30 days)
Show older comments
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 Comments
Answers (1)
darova
on 16 Nov 2019
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 Comments
See Also
Categories
Find more on Graph and Network Algorithms 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!