Source code for pyspades.collision

# Copyright (c) Mathias Kaerlev 2011-2012.

# This file is part of pyspades.

# pyspades is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# pyspades is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with pyspades.  If not, see <http://www.gnu.org/licenses/>.

import math


[docs]def vector_collision(vec1, vec2, distance=3): return (math.fabs(vec1.x - vec2.x) < distance and math.fabs(vec1.y - vec2.y) < distance and math.fabs(vec1.z - vec2.z) < distance)
[docs]def collision_3d(x1, y1, z1, x2, y2, z2, distance=3): return (math.fabs(x1 - x2) < distance and math.fabs(y1 - y2) < distance and math.fabs(z1 - z2) < distance)
[docs]def distance_3d_vector(vector1, vector2): xd = vector1.x - vector2.x yd = vector1.y - vector2.y zd = vector1.z - vector2.z return math.sqrt(xd**2 + yd**2 + zd**2)
[docs]def distance_3d(xyz1, xyz2): (x1, y1, z1) = xyz1 (x2, y2, z2) = xyz2 xd = x1 - x2 yd = y1 - y2 zd = z1 - z2 return math.sqrt(xd**2 + yd**2 + zd**2)