Построение атомов/сфер может быть выполнено довольно легко, если у вас есть координаты на вашей решетке, то есть вам нужно найти (как указано в статье в Википедии) потенциальные минимумы. Я предполагаю, что вы можете понять, что эта часть. Если нет, я неправильно понял ваш вопрос извините!
Для демонстрации я использую меньшую сетку с таким количеством атомов и использую scatter3
, чтобы нарисовать сферы. Затем вы можете заменить мои приблизительные значения точными минимумами.
Вот весь код:
clear
clc
close all
N = 30;
PS=zeros(N,N);
A=2.4;
B=3.4;
for i=1:N
for j=1:N
PS(i,j) = cos((.1*i)*A)*cos((.1*j)*B);
end
end
%// Approximate locations of the atoms. You can calculate this more
%// accurately of course.
xAtom = [1 10 10 19 28 28];
yAtom = [13 2 27 13 2 27];
%// Plot atoms at height of .6.
zAtom = repmat(.6,1,numel(xAtom));
surfc(PS)
hold on
%// Scatter plot. You can customize the parameters.
scatter3(xAtom,yAtom,zAtom,200,'k','filled')
rotate3d on
И выход:
![enter image description here](https://i.stack.imgur.com/3mKSW.jpg)
Так @Adrian пытались ли вы мое предложение? –
Спасибо Бенуа. Он работает нормально. просто нужно изменить 0,6 до 0,2 или меньше, чтобы изменить высоту для атмосферы/сфер. Я действительно ценю твою помощь. – Adrian
Хорошо! Если это работает, можете ли вы пометить ответ как «принятый»? Вы можете нажать зеленую галочку рядом с ней. Благодаря! –