This commit is contained in:
aozhiwei 2022-08-07 15:56:41 +08:00
parent cc57f69109
commit ab36720b8e
2 changed files with 39 additions and 0 deletions

View File

@ -183,6 +183,32 @@ namespace a8
return false;
}
bool IntersectAabbArc(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float width)
{
return false;
}
bool IntersectCircleArc(a8::Vec2 a_pos,
float a_rad,
a8::Vec2 b_pos,
float b_rad,
float b_angle,
float b_width,
float b_height)
{
float distance = b_pos.Distance(a_pos);
float _min = b_rad - b_height / 2 - a_rad;
float _max = b_rad + b_height / 2 + a_rad;
if (distance < _min) {
return false;
}
if (distance > _max) {
return false;
}
float angle = (a_pos - b_pos).CalcAngleEx(a8::Vec2::UP);
return false;
}
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad)
{
float t = a_rad + b_rad;

View File

@ -10,7 +10,20 @@ namespace a8
bool IntersectAabbCircle(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float b_rad);
bool IntersectAabbAabb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_min, a8::Vec2 b_max);
bool IntersectAabbObb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float rotate);
bool IntersectAabbArc(a8::Vec2 a_min,
a8::Vec2 a_max,
a8::Vec2 b_pos,
float b_rad,
float b_width,
float b_height);
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);
bool IntersectCircleArc(a8::Vec2 a_pos,
float a_rad,
a8::Vec2 b_pos,
float b_rad,
float b_angle,
float b_width,
float b_height);
bool IntersectSectorCircle(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_pos, float b_rad);
bool IntersectSectorAabb(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_min, a8::Vec2 b_max);
bool CircleContainCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);