コード例 #1
0
bool collision(BoundingBox& a, BoundingBox& b)
{
	vec2 Axis = a.getAxis();
	vec2 mid = (a.getCenter() + b.getCenter()) / 2.0;
	vec2 A = mid - (1000*Axis);
	vec2 B = mid + (1000*Axis);
	Axis = normal(Axis);
	vec2 C = mid - (1000*Axis);
	vec2 D = mid + (1000*Axis);
	Axis = b.getAxis();
	vec2 E = mid - (1000*Axis);
	vec2 F = mid + (1000*Axis);
	Axis = normal(Axis);
	vec2 G = mid - (1000*Axis);
	vec2 H = mid + (1000*Axis);

	return (collide(a.calc(A,B),b.calc(A,B)) &&
		collide(a.calc(C,D),b.calc(C,D)) &&
		collide(a.calc(E,F),b.calc(E,F)) &&
		collide(a.calc(G,H),b.calc(G,H)));
}