#NEWLINE# def is_visible_sphere( center , radius , vpm ) : #NEWLINE# #INDENT# ( c0 , c1 , c2 ) = center #NEWLINE# ( m0 , m1 , m2 , m3 , m4 , m5 , m6 , m7 , m8 , m9 , m10 , m11 , m12 , m13 , m14 , m15 ) = vpm #NEWLINE# i0 = m0 #NEWLINE# i1 = m1 #NEWLINE# i2 = m2 #NEWLINE# i3 = m3 #NEWLINE# j0 = m4 #NEWLINE# j1 = m5 #NEWLINE# j2 = m6 #NEWLINE# j3 = m7 #NEWLINE# k0 = m8 #NEWLINE# k1 = m9 #NEWLINE# k2 = m10 #NEWLINE# k3 = m11 #NEWLINE# t0 = ( ( ( ( m0 * c0 ) + ( m4 * c1 ) ) + ( m8 * c2 ) ) + m12 ) #NEWLINE# t1 = ( ( ( ( m1 * c0 ) + ( m5 * c1 ) ) + ( m9 * c2 ) ) + m13 ) #NEWLINE# t2 = ( ( ( ( m2 * c0 ) + ( m6 * c1 ) ) + ( m10 * c2 ) ) + m14 ) #NEWLINE# t3 = ( ( ( ( m3 * c0 ) + ( m7 * c1 ) ) + ( m11 * c2 ) ) + m15 ) #NEWLINE# nradius = ( - radius ) #NEWLINE# return ( not ( ( ( t0 - t3 ) > ( radius * ( ( abs ( ( i0 - i3 ) ) + abs ( ( j0 - j3 ) ) ) + abs ( ( k0 - k3 ) ) ) ) ) or ( ( t0 + t3 ) < ( nradius * ( ( abs ( ( i0 + i3 ) ) + abs ( ( j0 + j3 ) ) ) + abs ( ( k0 + k3 ) ) ) ) ) or ( ( t1 - t3 ) > ( radius * ( ( abs ( ( i1 - i3 ) ) + abs ( ( j1 - j3 ) ) ) + abs ( ( k1 - m15 ) ) ) ) ) or ( ( t1 + t3 ) < ( nradius * ( ( abs ( ( i1 + i3 ) ) + abs ( ( j1 + j3 ) ) ) + abs ( ( k1 + k3 ) ) ) ) ) or ( ( t2 - t3 ) > ( radius * ( ( abs ( ( i2 - i3 ) ) + abs ( ( j2 - j3 ) ) ) + abs ( ( k2 - k3 ) ) ) ) ) or ( ( t2 + t3 ) < ( nradius * ( ( abs ( ( i2 + i3 ) ) + abs ( ( j2 + j3 ) ) ) + abs ( ( k2 + k3 ) ) ) ) ) or ( ( t3 + t3 ) < ( nradius * ( ( abs ( ( i3 + i3 ) ) + abs ( ( j3 + j3 ) ) ) + abs ( ( k3 + k3 ) ) ) ) ) ) )