С учетом CGRect
и линии, созданной с помощью 2 CGPoint
, есть ли способ найти координаты, где линия пересекается с прямоугольником?Обрезка прямой линии (2 CGPoint) внутри CGRect
Из предыдущего изображения: то, что я пытаюсь добиться, чтобы заменить точки вне прямоугольника с красными точками, которые пересекающие прямоугольником границ.
В нескольких словах я ищу способ обрезать линию внутри прямоугольника.
Это математический вопрос, но я хотел бы знать, как решить эту проблему, используя фундамент, если это возможно.
По последним комментариям: Кажется, что Core Graphics не может быть действительно полезной в этом процессе. Любой другой намек или формула, которую я могу преобразовать в Swift?
Что вы пробовали? Какие исследования вы сделали? Здесь должно быть множество примеров этого. Найдите несколько, сделайте попытку перевести на свой любимый язык. [Изменить] ваш вопрос с тем, что вы пробовали до сих пор. – rmaddy
На самом деле я прошу о помощи, потому что я не могу найти ничего подобного и (как указано в моем вопросе). Я прошу о любом решении, которое использует базовую и основную графику. – MatterGoal
Вы можете чрезмерно ограничить себя «использованием фундамента и основной графики». Это не делает никакой конкретной функции. Вам нужно будет сделать математику. Вы можете, конечно, вернуть 'CGPoint', и таким образом вы будете использовать основную графику. Но решение этой задачи потребует решения нескольких линейных уравнений. Если вы уже знаете, как это сделать, все готово. Core Graphics здесь ничего не дает, кроме некоторых типов для работы (и Foundation действительно не предлагает ничего полезного для этой проблемы). Вам также необходимо определить, что произойдет, если линия пересечет несколько ребер прямоугольника. –