Re: Пересечение плоских фигур
- From
- Alexey Kudrin ()
- To
- Alex Astafiev
- Date
- 2002-05-15T09:01:58Z
- Area
- RU.ALGORITHMS
From: Alexey Kudrin <kaa@general.udm.ru>
Alex Astafiev wrote:
> Здравствуй Alexey, ничего, если я тут на диванчик прилягу?
AK>> Имеем два типа фигур на плоскости:
AK>> 1) Прямоугольник. Задается шириной одной пары сторон и отрезком,
AK>> проходящим через другую пару сторон, от середины одной стороны к
AK>> середине другой.
AK>> 2) Сектор круга. Задается шириной (W=R2-R1) и дугой окружности
AK>> (задается 3-мя точками, принадлежащими _дуге_), проходящей также
AK>> через середины торцов сектора (этакий изогнутый приямоугольник).
AK>> Fi = Прямоугольник или Сектор
AK>> Необходимо найти(построить) _контур_ фигуры, получаемой путем
AK>> объединения любых двух или более этих фигур.
AK>> G = F1+F2+F3 ...
AK>> Примечание. В приципе достаточно найти контур фигуры,
AK>> получаемой путем пересечения лишь двух фигур (П+П, П+С, С+С).
> Условия недостаточны. Для того чтобы построить общий контур, нужно знать
> 1. Ориентацию фигур
Произвольная.
> 2. Координаты.
?
> 3. Что за контур, векторный, растровый, итп. Требуется
Векторный.
> способ задания контура, т.к. в него могут входить И прямые И кривые.
В идеале - упорядоченный набор элементов, у каждого из к-рых есть
признак "является дугой", и соответственно третья точка, к-рая для
прямых игнорируется. На практике же подойдет и просто набор отрезков и
дуг.
> Может требуется аппроксимировать кривые контура через прямые линии?
Не хотелось бы, хотя...
Возможно ли представить сектор в виде цепочки трапеций так, чтобы
искажений
практически не было?
> Как задавать кривые? ИТд.
3 точки, принадлежащие дуге окружности.
> 4. Можно ли пересчитать условия задающие прямоугольник и сектор в более
> удобные.
Да. В какие, например?
> Если требуется найти векторно, то очевидно, что необходимо найти точки
> пересечения фигур, затем определить внешние линии (включая может быть и кривые,
> что сложнее) контура, затем
> откинуть внутренние линии не принадлежащие контуру.
--- ifmail v.2.15dev5
* Origin: JV Izhcom Ltd. (2:5020/400)