MATLAB Answers

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

4 views (last 30 days)
Matlab User
Matlab User on 16 Nov 2019
Answered: darova on 16 Nov 2019
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

Sign in to comment.

Answers (1)

darova
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

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b