Перейти к публикации

Конкурсный проект


Рекомендованные сообщения

1. Описание задачи

Необходимо разработать алгоритм расчета освещенности для последующего написания программы, а также отработка алгоритма на тестовой задаче.

Программа может применяться на этапе проектирования помещений с учетом расположения окон и светильников.

В задаче использовались габаритные размеры реального офисного помещения с известными коэффициентами отражения для разных материалов (потолок, стены, пол, материалы столов).

Элементы комната (пол, стены, окна, светильники, столы, и т.д.) описываются набором треугольников.

Каркас комнаты , а также программная реализация были выполнена в программе трехмерного моделирования САПР «Сударушка» и в пакете разработчика (САПР «Сударушка») соответственно.

post-21112-1296211554_thumb.png

Рис.1. Макет комнаты

post-21112-1296211579_thumb.png

Рис.2. Макет комнаты с разбиением панелей на треугольниками

post-21112-1296211563_thumb.png

Рис.3. Макет комнаты с закраской поверхностей для проверки правильности разбиения и отображения направлений нормалей

С учетом некоторых допущений была получена формула, учитывающая сумму по всем треугольникам, видимым из данного треугольника.

Задача интересна разработкой алгоритма расчета (включая формулу),

применением различных типов сеток (грубой и точной) для расчета светимости (и яркости) треугольников, а также учета теней от различных предметов (расчет пересечений луча с треугольниками).

Визуализация была организована программно, а также в известной программе трассировки лучей POV-Ray.

2. Краткое описание работы

- Трудности и сложные места.

Для данной задачи(и для данной сетки) расчет с тенями и крупными треугольниками занимает около до 30 сек, расчет без учета теней с разбивкой входных крупных треугольников на мелкие занимает от 10 мин (в зависимости от разбиения).

Общее быстродействие будет равно О( N * N * M ) – для расчета с тенями (грубая и подробная сетки), и О(N*N) – без теней (только подробная сетка),

где N – число треугольников подробной сетки; M – число треугольников грубой стеки.

Основаная трудность была в том, чтобы ускорить работу алгоритма и довести ее хотябы до ограничения по быстродействию равному O( N * ln(N) * ln(M) ). Эта задача остается на данный момент нерешенной.

- Интересные элементы конструкции и решения.

В нулевом приближении была реализована программа (рис.4.) для случая излучающих и принимающих центров треугольников (каждый треугольник излучает из своего центра в центры всех остальных треугольников). Из-за этого могла возникнуть проблема с нулевыми расстояними между излучаетелем и приёмником, и как следствие, возникнуть белесые углы. Поэтому программа была улучшена таким образом, что излучают центры треугольников, а принимают углы. В этом случае дефектов из-за касания центров и углов(излучателя и приемника) можно избежать.

post-21112-1296211568_thumb.png

Рис.4. Предварительный расчет для оценки правильности алгоритма. Результаты представлены в виде векторов, величины которых пропорциональны освещенности в расчетных точках.

3. Окончательная конструкция/модель

Окончательные результаты получены добавлением в программу возможности вывода результатов в файл .pov. Далее была произведена трассировка для двух вариантов расчета (рис.5., рис.6.)

post-21112-1296211834_thumb.png[

Рис.5. Расчет без теней

post-21112-1296211838_thumb.png

Рис.6. Расчет с тенями

4. Изготовление изделия (если было).

5. Выводы по изделию, какие результаты достигнуты, какие еще доработки вы считаете нужным сделать.

Разработана программа расчета и визуализации освещенности для любого помещения, которое можно представить в виде набора треугольников.

Итерационным метод Зейделя рассчитана система линейных алгебраических уравнений (СЛАУ) и получены результаты для визуализации, как в программном пакете разработчика, так и в формате для программы трассировки, доступном широкому кругу пользователей.

Планируется дальнейшее проведение работ по следующим направлениям:

- включение в программу возможности проектирования каркаса помещения с учетом внутреннего интерьера.

- для проведения анализа расчетов необходимо записывать результат ещё и в виде грубой сетки с усреднением по освещенности (или яркости в зависимости от режима работы программы);

- доработка программы так, чтобы расчет освещения был произведен на точках, а не на треугольниках (излучают треугольники, а принимают точки). В этом случае результат получится плавным без артефактов;

- применить адаптивное разбиение: разбивать большие треугольники не везде, а там, где свет меняется резко;

- сравнение с известными светотехническими программами для расчета освещения;

- добавить и учитывать цвет (голубоватый цвет из окон, белый – из ламп, коричневый – от столов и т.п.).

ConcursusMMX, одобрено.

post-21112-1296211573_thumb.png

post-21112-1296211591_thumb.png

Ссылка на сообщение
Поделиться на других сайтах


Работа на мой взгляд интересная, хотя, опять же на мой взгляд, перенасыщена "задачами". Конечно, можно учитывать отражение от матовых стен и других матовых предметов, например от резиновых подошв обуви. Но мне кажется, эта добавка будет незначительная. Кстати, подсчитывалось какова доля отражённого света? Да и нет смысла учитывать эту добавку, поскольку при расчёте освещённости интересует минимальная освещённость рабочей зоны, причём именно от источника света. Свет обычно включают, когда за окном темно. Поэтому, на мой взгляд, достаточно определить освещённость только от источников света, если будет больше, то это только плюс. Важно чтобы не было меньше. Зато задача становится довольно банальной.

А что будет если стены перекрасят или оклеят обоями? Снова пересчитывать? Как в 1С?

Ну и естественно, эта работа вовсе не о дизайне. Это чисто расчётная работа - формулы, уравнения, циферки...

Ссылка на сообщение
Поделиться на других сайтах

Ну и естественно, эта работа вовсе не о дизайне. Это чисто расчётная работа - формулы, уравнения, циферки...

Полностью согласен, и вот что не понятно:

Каркас комнаты , а также программная реализация были выполнена в программе трехмерного моделирования САПР «Сударушка» и в пакете разработчика (САПР «Сударушка») соответственно.

- сравнение с известными светотехническими программами для расчета освещения;

Вопрос: Почиму бы сразу не считать в "известных светотехнических программах"?

P.S. В универе был такой предмет, как охрана труда, там были лабы, одна из которых - данная задача.

Для ручного расчета - все формулы известны, габариты комнаты вам дали. Зачем подбирать наугад количество овещающих элементов, если это очень быстро считается на листике (за одну пару, даже время естается покурить)...

Ссылка на сообщение
Поделиться на других сайтах

Ну и естественно, эта работа вовсе не о дизайне. Это чисто расчётная работа - формулы, уравнения, циферки...

Почему не о дизайне? при проектировании помещения важно знать, как оно будет освещено.

А от отсвещения зависит планировка помещения и все что с этим связано. Так что расчеты помогают в этом.

Ссылка на сообщение
Поделиться на других сайтах

Почему не о дизайне?

Потому что в этой работе нет дизайна. Здесь голый инженерный расчёт.

Дизайн - это придумать как будет освещено, какой формы будут источники света, как будут падать тени. Здесь этого ничего нет.

Ссылка на сообщение
Поделиться на других сайтах

Так бы и сказали, что никакого места работа не займет

При чём здесь ЭТО? Во-первых, места определяю не я :)

Во-вторых, ты только ради места в конкурсе участвуешь?

Ссылка на сообщение
Поделиться на других сайтах

Под окнами, что за ящики?

Если это рабочие столы. То как сидят люди и падает тень предметов на рабочие столы от света потолочных светильников?

И главный вопрос: Какова цель исследования?

а то по описанию задачи, выходит целью было написание программы

1. Описание задачи

Необходимо разработать алгоритм расчета освещенности для последующего написания программы, а также отработка алгоритма на тестовой задаче.

Ссылка на сообщение
Поделиться на других сайтах

Во-вторых, ты только ради места в конкурсе участвуешь?

Это я должен спросить: ради ли только места проводится этот конкурс?

Зачем вообще какие-то денежные призы.

Нет, не ради денег, не ради места. Но ведь ученые подают на гранты не ради участия.

А подают хорошие научные работы (заявки).

Под окнами, что за ящики?

Если это рабочие столы. То как сидят люди и падает тень предметов на рабочие столы от света потолочных светильников?

И главный вопрос: Какова цель исследования?

а то по описанию задачи, выходит целью было написание программы

Да, это столы. Подробная модель не делалась. Это тестовая задача.

Тени от предметов нету, т.к. пока что предметов этих нету. Есть еще рассчитанная модель

для параллелепипеда, висящего посреди комнаты. Вот там тени видны от самого объекта.

А некоторые цели описаны в пункте о том, что хотелось бы доделать.

Вообще цель была сравнить результат с ручными расчетами по СНиП. Делались также попытки

оценить коэффициенты отражения с помощью цифрового фотоаппарата, дабы потом учесть их в

расчетах и в программе.

post-21112-1296856105_thumb.png

Изменено пользователем MAvlyudov
Ссылка на сообщение
Поделиться на других сайтах

Вообще цель была сравнить результат с ручными расчетами по СНиП.

Сравнили? Какие выводы?
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

А разве афтор не знает о существовании программы Dialux? Она распространяется бесплатно, и делать со светом там можно всё что угодно и как угодно!

Ссылка на сообщение
Поделиться на других сайтах

Я и не думал что кто-то работает в Сударушке... представить себе не мог

Ссылка на сообщение
Поделиться на других сайтах

Решил всё-таки, проставить оценки. Дабы поддержать администрацию в этом неблагодарном деле.

Оценивать буду по категориям. Все оценки субъективны и самодурны. Общая оценка также субъективна и самодурна, алгебраической связи с оценками по категориям не имеет.

Общее впечатление: 1

Комментарий: не понятно ЗАЧЕМ городить всё это.

Оригинальность идеи: -3

Комментарий: усложнить расчёт освещенности - это не оригинально.

Объём проделанной конкурсантом работы / сложность построений: 3

Комментарий: работа проделана, но смысл её не ясен.

Общая оценка: 0

Комментарий: бессмысленно

Ссылка на сообщение
Поделиться на других сайтах

Заморочек очень много, но так и не понял какой результат. Может не совсем внимательно ознакомился.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • lem_on
      Опять же не для дятлов об этом пишут на сайте SW. Но мля, по товарищески кто то должен прочитать это за меня.
    • Krusnik
      Да тут постоянно, по-моему об этом пишут. Такие как вы уже всех заколебали. Поэтому такие и ответы. Но специально для вас распишу все отличия.    1) Графика RealView. С игровой видеокартой она просто в SW отключена. С профессиональной включается. Нужна для показа на мониторе красивых картинок в 3D. Скажем руководству, или заказчикам. Ну и потом. Вы купили SW, а часть функций, за которые выплаченна немалая сумма не доступна. Что за фигня?   2) При вращении и/или масштабировании сборок с игровой видеокартой модели во время манипуляций превращаются в BoundingBox'ы, а когда отпускаешь мышку - отрисовываются. Зависит это от количества графических треугольников, которые нужно отрисовать. Т.е. с небольшими и простыми модельками не заметите, со сборками хотя бы от 300 деталей - будет заметно. Многие советуют понижать детальность, но тут тоже такое себе удовольствие, когда круглое отверстие превращается в восьмигранник, и только из-эт того, что кто-то решил, что для SW 4080 круче, чем A4000. У меня на сборках 8000 деталей и Quadro так делает, но игровые так начинали с примерно 300 деталей.
    • maxx2000
      а если делать канавку снаружи на глубину чуть больше толщины кольца, а потом изнутри растачивать и кольца будут повисать прямо на резце. Собственно по такому принципу и режутся кольца на универсальном токарном, нарезают канавок, а потом сверлом вжик и готово
    • Orchestra2603
      Да, в рот мне ноги... Ну, считает же Ансис, считает! Блин.. Как до вас донести простой мэсеж. Мне често, пофигу, делает он там себе факторизацию или еще что-то. Но то, что он нормально считает Ланцошем для случая с вырожденной матрицей жесткости - это факт! А раз он считает, то либо (А) вы хрень несете про факторизацию, либо (Б) он такую факторизацию делат сам без проблем. Третьего тут быть не может, и выходит, что в любом случае ваши тезисы оказываются несостоятельными.   Какая вам нужна факторизация? давайте! заказывайте! На какие вам надо матрицы разложить? с какими свойствами? давайте ваш заказ!   Вы на мой пердак не зарьтесь! Смотрите, чтоб ваш функционировал исправно! А то того и гляди, фекализация случится.  
    • Иван Васильев
      Доброго времени суток! Удалось решить проблему?
    • ДОБРЯК
      Вам похоже ничего не нужно, а для алгоритму Ланцоша нужно сделать численную факторизацию. Вам только нужно побольше букв и слов написать. :=) Всё подгорел пердак? :=)
    • Orchestra2603
      При чем здесь это? Речь не идет про эффективные или неэффективнеы алгоритмы. Вы утвержаете, что это просто невозможно.   При чем здесь первые или не первые, все или не все... Какое это имеет значение? У Ансис есть алгоритм Ланцоша, он находит столько, сколько запросите. В Маткаде - он да, находит все. Наверное, можно и не все, но я хз, как это делать. Я не понимаю, какое это имеет отношение к разговору.   Неа Ткните пальцем и объясните, в чем ошибка в конкретном рассуждении   Как я должен решать методом Гаусса задачу на собственные значения? Мне же не решения СЛАУ нужны! Их то, ясен пень, бесконечное множество для системы с вырожденной матрицей. Мне собственные значения нужны! Мне нужно базис найти, чтобы матрица (или матрицы в обобщенном случае) оператора была диагональной.   Сначала скажаите мне, зачем ее дать! В чем идея заключается? Вы все слюной брызжете, но ничего по делу еще не сказали. Какой-то нормальный контраргумент от вас можно толковый услышать?   Как еще изволите вас обслужить? Вы - полегче, уважаемый!
    • ДОБРЯК
      Вам нужно десять раз написать одно и тоже, чтобы вы поняли. Почитайте документацию к программе там же всё написано. Мне не сложно копировать...:=) Те алгоритмы которые вы используете находят все собственные числа и вектора. Для разреженных матриц это приводит к их заполняемости. Смекаете о чем я говорю. Или нужно еще разжевать? Во всех.   Решайте методом Гаусса. Матрица 2х2 в чем проблема сделать численную факторизацию любым методом? :=) Больше дела, меньше слов и букв...
    • mannul
      Скорость резания от 8 до 12 м/мин, подача 0,04 мм/зуб, глубина резания - 1,5 мм.
    • Orchestra2603
      " Стою на асфальте я, в лыжи обутый: То ли лыжи не едут, то ли я ..." (с)   1. Вы утверждаете, что для расчетов на СЗ и СВ в случае вырожденной матрицы жесткости нужно провести ее факторизацию. Без нее - никак! Непонятно, какую и зачем, но надо. Ок, допустим.  2. @Jesse,  я, @Fedor, да и вы сами показываете, что таки СЗ определяются для вырожденной матрицы. Значит, либо ваше утверждение про факторизацию неверно, либо она таки делается тихонько себе за кадром. 3. Еще одно наблюдение... Матлаб говорит, что он делает QZ разложение для матриц, у которых нет положительной определенности, т.е. для которых не работает разложение Холецкого. При этом опять же с собственные числа с одной вырожденной матрицей считаются нормально. Т.е. даже если вдруг и необходима такая факторизация (хотя я сомневаюсь, что вот прям обязательно она нужна), то делается она без особых трудностей.   В каком месте я неверно рассуждаю?   Так и не обязательно их записывать для расчета собственных колебаний. Ну... Можно конечно, но тогде некоторые частоты и формы, которые такой симметрией могут и не обладать, вы потеряете в расчете, поскольку введенные условия симметрии их исключат просто из модели.    
×
×
  • Создать...