crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

ViGOur
  опции профиля:
сообщение 6.2.2013, 16:46
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Исходные данные:
Массив линий ( начало(x, y), конец(x, y) )
Массив точек (x, y)

Массив линий это план этажа, кабинеты, коридоры, двери, окна и ... Другими словами все то, что архитектор начертил бы на бумаге.
Точки - координаты внутри кабинетов (только внутри кабинетов).

Нужно построить кабинеты имея исходные данные!

p.s. сам ломаю голову как это сделать. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 7.2.2013, 14:51
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


В принципе и правда, как предложила Iron Bug, подходит, но для этого чертеж должен быть правильным!
Чтобы удовлетворять условию:
foreach( ... )
{
     ...
    if( (pos.y() > lineP1.y() && pos.y() < lineP2.y()) ||
        (pos.y() > lineP2.y() && pos.y() < lineP1.y()))
    {
        // Лево
        if( pos.x() > lineP1.x() && pos.x() > lineP2.x() )
        {
        // Здесь еще проверки, прошлая линия меняется новой или не меняется
        }
        // Право
        if( pos.x() < lineP1.x() && pos.x() < lineP2.x() )
        {
        // Здесь еще проверки, прошлая линия меняется новой или не меняется
        }
    }

    if( (pos.x() > lineP1.x() && pos.x() < lineP2.x()) ||
        (pos.x() > lineP2.x() && pos.x() < lineP1.x()))
    {
        // Верх
        if( pos.y() > lineP1.y() && pos.y() > lineP2.y() )
        {
        // Здесь еще проверки, прошлая линия меняется новой или не меняется
        }
        // Низ
        if( pos.y() < lineP1.y() && pos.y() < lineP2.y() )
        {
        // Здесь еще проверки, прошлая линия меняется новой или не меняется
        }
    }
}
Сразу говорю верх и них я не перепутал, это такая система координаты у QGraphicsScene :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 27.4.2025, 3:16