2017-12-01 6 views
-1

私は、x、y、z(浮動小数点)の位置が球の中にあるかどうかを判断する関数を書こうとしています。球の中の3D点があるかどうかを調べる

私の数学的な理解は、以下の関数が私に正解を与えるはずですが、テストコールは球の外に戻りますが、私はそれがあってはいけないと考えています。

def IsWithinSphere(x, y, z, radius): 
    c = (pow(x, 2) + pow(y, 2) + pow(z, 2)) <= pow(radius, 2) 
    print 'c = %d' %c 

IsWithinSphere(30.8, 69, 69, 100) 

機能からの応答:C = 0(外)

+3

計算が正しいです。球の外側の_is_点。 – khelwood

+1

原点からその点までの距離は〜102.32614524157547 –

+0

です。私はQAで学んだことをしています。まずテスト自体をテストしてみてください! –

答えて

2

私はあなたのコードが正しいと信じています。 (30.8^2 + 69^2 + 69^2)^ 0.5 = 102(3s.f。)。これはあなたの半径が100を超えているため、球の外側です。

関連する問題