gpt4 book ai didi

python - 在 Python 中绘制立方晶格

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:02 26 4
gpt4 key购买 nike

所以我想用 visual 包在 Python 中绘制一个简单的立方晶格。

我有一种简单的方法可以用颜色相同的小球体制作晶格,但我希望颜色交替:要制作 NaCl 晶格,我需要有一个由 6 个其他颜色的球体包围的一种颜色的球体.

所以我这样做了:

from __future__ import division
from visual import sphere,color

L = 5
R = 0.3

even = []
odd = []

for i in range(-L,L+1):
if i%2==0:
even.append(i)
else:
odd.append(i)

for i in even:
for j in even:
for k in even:
sphere(pos=[i,j+1,k+1],radius=R,color=color.green)

for i in odd:
for j in odd:
for k in odd:
sphere(pos=[i,j,k],radius=R,color=color.yellow)

我得到了一种颜色的球体和不同颜色的球体,但它们是成排的:

lattice

但我需要它们交替:\正确的位置仅在 i 方向。我如何更正其他人以制作简单的立方晶格?我尝试摆弄球体的位置(i、j、k+ - 数字),但这样我得到了 bcc 晶格(中间有一个绿色球体,周围有其他球体)。

我卡住了...

最佳答案

你需要的是:

from visual import sphere,color

count = 3
R=0.3

for x in range(-count,count+1):
for y in range(-count,count+1):
for z in range(-count,count+1):
if ((x+y+z+3*count)%2) == 0:
sphere(pos=[x,y,z],radius=R,color=color.green)
else:
sphere(pos=[x,y,z],radius=R,color=color.yellow)

重点是,您应该根据(本例中为整数)坐标之和是否能被 2 整除来切换颜色。

关于python - 在 Python 中绘制立方晶格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com