球内のグリッドの交点の座標をすべて求めたい


3次元空間において、r = (x, y, z)を1点決めて、  
これを中心とした半径nの球を考えます。  
次に、この球の内部をグリッドで細かく立方体に分割します。  
この立方体の辺の長さはmとします。  
このとき、グリッドの交点の座標をすべて計算したいです。

やりたいことのイメージは、3次元の球で図を書くのが難しいので、  
2次元の円で図を書きました。以下がそれです。  
グリッドの交点の座標（赤色の点）をすべて求めたいです。

[![](https://i.stack.imgur.com/8CYqE.jpg)](https://i.stack.imgur.com/8CYqE.jpg)

このようなことを実現するコードは、Pythonでどのように書けば良いでしょうか？  
for文で座標をmずつずらすのをぜんぶ書けば良さそうだと思ったのですが、  
球体だと効率的に書くのが思ったより難しい気がしました。

どなたかご教授いただけるとありがたいです。




簡単のために`r=(0,0,0)`の場合を考えると、擬似コードで書くとこうすればできるのではないでしょうか。(`abs`は絶対値、`i,j,k`は整数)

[code]

    for i s.t. abs(i*m) <= n:
        for j s.t. abs(j*m) <= (n**2 - (i*m)**2)^(1/2):
            for k s.t. abs(k*m) <= (n**2 - (i*m)**2 - (j*m)**2)^(1/2):
                print(im, jm, km)
    
[/code]

逆に言うとこれ以上高速化するには並列処理するぐらいしかないと思います。

