Цитата:
Сообщение от greegreeman
всем спасибо. похоже придется достать конспект по матану и сдуть пыль  почитать про аппроксимацию. любую (практически любую) сложную фигуру можно свести к простой с определенной степенью точности... а пока что попробую вариант, который предложил silin. буду шагать 
|
Ну так если точность не особо важна, так проще всего посчитать пересекаются ли окружность и прямая - нужно найти перпендикуляр к прямой проходящий через центр окружности и сравнить его с радиусом (если такой перпендикуляр не пересекается с данным отрезком, или радиус меньше длины перпендикуляра - не пересекаются, в противном случае - пересекаются). Аналогично просто посчитать пересекаются ли отрезок и прямоугольник - если крайняя правая точка отрезка левее прямоугольника, или нижняя точка выше, или крайняя левая - правее, или верхняя - ниже, то не пересекаются, в противном случае - пересекаются. Если вы можете описать многоугольник как массив отрезков - так мой первый вариант - будет самым простым решением т.как он как раз проверяет пересечение двух отрезков, просто переберите все отрезки из которых состоит многоугольник и проверьте пересечение.