Что нового

Rectangle - ищу вспомогательные функции

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Приветствую. Обленился я совсем.

Может у кого завалялась UDF для работы с прямоугольными областями ($tagRECT)? Интересуют в первую очередь максимально оптимизированные алгоритмы вычитания и сложения. Сложение потребуется для оптимизации результатов множественного вычитания. Наглядный пример вычитания:

Код:
R1 - R2
|-----------------------|
|R1.....................|
|---------------|.......|
|R2.............|.......|
|...............|.......|
|---------------|.......|
|.......................|
|-----------------------|

Результат вычитания:
|-----------------------|
|R3.....................|
|---------------|-------|
                |R4.....|
                |.......|
|---------------|-------|
|R5.....................|
|-----------------------|

R2 - R1
Результат -пустая область (0, 0, 0, 0)

Если выражаться более точно, то аспект решаемых задач связан со следующим:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff539417(v=vs.85).aspx

Заранее благодарю.

P.S. WinAPI использовать нельзя, ЯП не важен(переписать не проблема).
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
firex сказал(а):
Может у кого завалялась UDF для работы с прямоугольными областями ($tagRECT)?
Зачем кому-то нужен UDF, если все это легко решается с помощью WinAPI, который почему-то нельзя использовать.
 
Автор
firex

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Yashied
К сожалению не нельзя, а невозможно. Переписываться это дело будет не на AutoIt конечно ;)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
я не понял, работать именно с прямоугольными областями, как с классом, или подойдуют любые функции, которые умеют производть алгебраические операции над четверкой чисел?
 
Автор
firex

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Kaster
Любые функции подойдут. Интересуют в первую очередь готовые алгоритмы с наилучшей оптимизацией.

Дополню для большего понимания: (речь идет исключительно о прямоугольных областях)
Есть массив областей #X произвольно лежащих на "главной", также на ней расположена область #1. Необходимо вычесть область #1 из всех областей #X с которыми она пересекается, по принципу из первого поста, затем результирующий массив областей #X нужно максимально оптимизировать - удалить лишние(полностью лежащие в большей области)/объединить где это возможно(добиться минимального количества).

Просить все это осуществлять не стану, интересуют исключительно оптимизированные алгоритмы для схожих задач, зачем изобретать велосипед дважды? :smile:
 
Верх