3
持つ配列への座標1からeucledeanの距離を計算し、私はそれを編集した:のPython:私の前の質問は非常に不明確であったため、座標
私は、次の問題があります。
私はのためのパターンを構築したいです半径がr + fcr_sizeの球状球です。浅球の空洞は半径rを持つ必要があります。パターンを使って、私は多くの異なる球の中心でそれを使用し、多くの巨大な球を得ることができました。今私は最速のソリューションを探しています。私のアプローチは次のとおりです。
centoEdge = radius+fcr_size #Bounding box coordinates from center to edge
xyz_pattern=[]
#Create the Bounding Box only in positive x,y,z direction, because they are later mirrowed
x1 = range(0,int(centoEdge)+1)
y1 = range(0,int(centoEdge)+1)
z1 = range(0,int(centoEdge)+1)
#Check if coordinates are the hallow sphere and add them to xyz_pattern list
for coords in itertools.product(x1,y1,z1):
if radius < distance.euclidean([0,0,0],coords) <= (radius+fcr_size):
xyz_pattern.append(coords)
#mirrow the pattern arround center
out = []
for point in xyz_pattern:
for factors in itertools.product([1, -1], repeat=3): # (1, 1, 1), (1, 1, -1), (1, -1, 1), ..., (-1, -1, -1)
out.append(tuple(point[i]*factors[i] for i in range(3)))
xyz_pattern=list(set(out))
球形の空洞を持つ立方体ですか? –
@ Ev.Kounis:バウンディングボックスに球形キャビティを持つ球 – Varlor
しかし、バウンディングボックスも球形ですか?ボックスは常に私に長方形と聞こえるので、私は尋ねています。 – jotasi