|
Несу чушь
-361 / 6 / 0
Регистрация: 23.02.2016
Сообщений: 546
|
|
Сколько должно быть точек наблюдения у наблюдателя чтобы увидеть всю поверхность сферы, а не только 120 градусов?04.12.2024, 13:05. Показов 3060. Ответов 48
Метки нет (Все метки)
0
|
|
| 04.12.2024, 13:05 | |
|
Ответы с готовыми решениями:
48
Сколько туров должно быть сыграно, чтобы сыграли все со всеми
Под каким углом проводить наблюдения чтобы увидеть спектр 2-го порядка |
| 07.12.2024, 17:26 | ||
|
0
|
||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|
| 07.12.2024, 17:55 | |
|
Ну, и что Вы хотите от компьютера? Фактически, яркость (чёрно-белого) изображения кодируется 256 уровнями (32 бита на пиксель), в крайнем случае, при (редко используемом) цветном изображении 48 бит на пиксель, яркость чёрно-белого изображения кодируется 32768 уровнями. Человеческий глаз способен различить 1012 уровней яркости (правда, не одновременно). Получается, что нулевой уровень яркости компьютера заключает в себе примерно 30000000 оттенков серого, которые могут быть различены человеком. Получается, что "совсем тёмное = чёрное", и "почти серое = чёрное". Для того, чтобы в программах исчезли честно посчитанные чёрные точки, нужно иметь программное обеспечение и устройство отображения, которые способны передать оттенки серого в том же диапазоне, в каком их видит человек.
0
|
|
| 07.12.2024, 18:19 | ||
Может посмотреть др вещи, напр как рассчитывается освещённость в точке, от чего она зависит, наконец как/почему полигонная модель выглядит гладко (ну или гадко )
0
|
||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
||
| 07.12.2024, 19:25 | ||
|
Бесконечность не посчитать, поэтому приходится упрощать. Сначала всё квантуется по уровню (разрядность пикселя) и по расстоянию (реальная поверхность заменяется полигонами), принимается закон отражения от данной поверхности (для матовых поверхностей обычно используют закон Ламберта). Квантование также применяется и к наблюдателю (разрешение в пикселях при заданном угле зрения, разрядность пикселя). Источник света тоже идеализируют: в простейшем случае считают его точечным. Потом просчитывают по всяким правильным законам, и, естественно, с вышеперечисленными упрощениями, сколько и откуда света приходит к наблюдателю. Как правило, для ускорения вычислений упомянутые правильные законы тоже упрощаются. Упрощёное просчитывают упрощённо, да ещё после этого упрощают. Появляются отличия от реальности. Вот и выходит то, что выходит. И это не улучшить и, на самом деле, не исправить. Можно, конечно, привести просчитанное изображение изображение в более-менее человеческий вид всякой там обработкой (проще говоря, с помощью умышленного искажения). Как говорится, фарш невозможно прокрутить назад...
0
|
||
| 08.12.2024, 18:43 | |||
Добавлено через 18 минут Да, и тезис о фарше считаю здесь принципиально неверным. Все ингредиенты (модель, материал, источник света и др) у на на руках, мы можем как угодно менять фарш что сами крутим
0
|
|||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|||||
| 08.12.2024, 19:29 | |||||
|
0
|
|||||
| 08.12.2024, 20:55 | ||
И упрощенный алгоритм - не всегда плохо, легче искать. Хорошо, "угол освещения" - что Вы имеете ввиду? (убедимся что мы говорим о том же)
0
|
||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|
| 08.12.2024, 23:32 | |
|
"Угол освещения"... Я имел ввиду, под каким углом падает свет на поверхность по отношению к касательной плоскости к данной точке поверхности. Может быть, правильнее было бы оперировать углом от нормали к поверхности, но тогда без дополнительных оговорок не понятно, что там на всяких изгибах поверхности будет.
Шейдеры, шейдеры... Шейдеры - это хорошо, только ими лучше не исправлять набедокуренное, а изменять алгоритм просчёта. Ну, можно в гистограммой яркости поиграться, или изменить закон отражения... Фильтр какой-нибудь навесить по девяти точкам... Не знаю.
0
|
|
| 09.12.2024, 02:01 | |||
|
Хорошо, разобрались, в каждой точке есть нормаль N. Что дальше? Как считаем освещенность? Не по теме:
В общем, "изменять алгоритм просчёта" не только "можно", но и придется
0
|
|||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
||
| 09.12.2024, 15:26 | ||
|
где Ev - освещённость точки в люксах, Iv - сила света точечного источника света в канделлах, r - расстояние от источника до точки в метрах, i - угол между нормалью к поверхности и направлением на источник. Ну что, осветили... Дальше нужно определить светимость освещённой точки, и выяснить, что там видит наблюдатель. Ну, не знаю... Ни фига я не 3D-специалист... Разобраться с законом отражения. Сколько света поглощается поверхностью, и в каких направлениях и с какой интенсивностью отражается непоглощённое. Задаться апертурой наблюдателя, и (долго и муторно, со всякими интегралами) считать световой поток от телесного угла, исходящего из освещённой точки, и опирающегося на апертуру наблюдателя? Или считать освещённую точку источником света (светимость посчитана), и посчитать освещённость апертуры наблюдателя (побыстрее и не так муторно)? Или просто поделить отражённый светово поток на квадрат расстояния и умножить на какую-то малую величину (чтобы не возиться с законом отражения)? Не знаю, как там у 3D-программистов принято. Ну и... осталось всё это повторить для остальных видимых точек.Да ещё попытаться при этом их как-то не поодиночке посчитать, а какими-нибудь рядами и колоннами... или, допустим, кольцами. Добавлено через 11 минут Или вообще не считать освещённость точки, а сразу вычислять освещённость (точечной?) апертуры наблюдателя как-то так: где ρd - коэффициент (диффузного) отражения заданной точки поверхности. Не знаю. Не занимался я всяким там виртуальным освещением.
0
|
||
| 09.12.2024, 18:06 | ||
|
I = L * cos(a) отсюда I = L * dot(N, light_dir) где L - интенсивность источника (RGB) N - нормаль к поверхности light_dir - направление света (из данной точки в точку где источник) И вся любовь. Упрощать - так упрощать. Во всяком случае все картинки выше сделаны именно так. Отсюда, между прочим, следует что, манипулируя нормалью к поверхности, можно создавать любые освещенности/затененности. Может у нас что-то не так с нормалями? Проверим нарисовав нормали разными цветами (аттач). Ну вроде все норм, гладко, и нормали смотрят из центра в каждую точку, как и должно быть для сферы. Что предпринять? В смысле как бы нам "продебажить" артефакт черной каймы?
0
|
||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|
| 09.12.2024, 18:41 | |
|
Не знаю. По любой из приведённых здесь формул, выходит именно чёрный цвет, потому что cos чего-то там на краю равен 0. Да так оно и выглядит в реальной жизни, особенно в космосе. Без пикселей, но чёрный цвет есть.
Может быть, поиграться с гистограммой? Уменьшить контраст в тенях? Рассеяние света в среде (как минимум, сделать источник света протяжённым и диффузным)? Дополнительные рассеянные источники света? Общее дополнительное освещение рассеянным светом? Добавить в формулу невозможность получения чёрного при 90о? Ну, заменить четверть периода косинуса чем-то другим, например, e-x2?
0
|
|
| 09.12.2024, 21:18 | |||
|
А давайте просто попечатаем (в консоли) точки у которых цвет оказался черным (< 1/255)? А заодно и угол между векторами. Правда в данном случае "просто попечатать" не так уж просто, код рендера обычно "закрыт". Ну ладно, я найду как это сделать. Какой результат Вы ожидаете? Сколько % будет черным? Какие будут углы? Делайте Ваши ставки, господа
0
|
|||
| 10.12.2024, 14:41 | |
|
Да, вот аттач - простой и хороший тест о котором говорил выше. Интенсивность источника выставлена 10000 (газу до отказу). Конечно все становится белым/пересвеченым, но некоторые точки остаются черными, т.е. они не получают света вообще
0
|
|
|
5525 / 2878 / 572
Регистрация: 07.11.2019
Сообщений: 4,774
|
|
| 10.12.2024, 21:00 | |
|
Это задача о покрытии сферы кругами одинакового радиуса.
Вот тут приведены решения: https://www.researchgate.net/p... _its_graph
1
|
|
|
Несу чушь
-361 / 6 / 0
Регистрация: 23.02.2016
Сообщений: 546
|
||
| 13.12.2024, 03:12 [ТС] | ||
|
Вам показывают схему из которой совершенно очевидно что вы не можете УВИДЕТЬ больше чем угол зрения. Если у Вас зрение конечно не по кривой линии.. ![]() Понятно что в данном случае идет речь о расстоянии радиуса, но как например удаление наблюдателя от сферы будет влиять на увеличение площади обозрения сферы ??? Понятно что будет увеличение % но до какого то предела.
0
|
||
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|
| 13.12.2024, 10:13 | |
|
Не нравятся фонарики - возьмите лампочки.
0
|
|
| 14.12.2024, 16:47 | |
|
Вижу мой (единственный) собеседник потерял интерес. Ладно, подведем итоги
Вопрос "откуда берутся черные/неосвещенные точки" - чисто геометрия. Никакой "специфики 3D" не привлекается. Да, надо знать что такое полигон, нормаль к поверхности и диффузный косинус (наклонная поверхность получает меньше света). Все это общие/популярные знания, не более того. Быть трехмерщиком здесь не требуется. Почему точки не освещены - достаточно просто понять нарисовав нехитрый чертеж: 1-2 полигона (ребром) и 3 вектора из одной точки: обе нормали и направление на источник. Вот правда что делать (в смысле как устранить этот артефакт) - не знаю. Возможно стоит искать на просторах инета, но сформулировать запрос здесь трудно. Ну или свой велик (почему нет). Вот это мне было бы интересно обсудить/пожевать. Но не вышло. Ладно, в конце-концов я ничего не потерял
0
|
|
|
Модератор
10459 / 5755 / 3409
Регистрация: 17.08.2012
Сообщений: 17,509
|
|
| 14.12.2024, 23:13 | |
|
Igor3D, я не потерял итерес, я не знаю решения, поскольку решение зависит от используемого софта.
0
|
|
| 15.12.2024, 15:02 | ||
|
Пожуем/осмыслим. Во-первых, такая точка совсем не обязана находиться "на краю Ойкумены", тупой угол возможен для многих точек, на заметном удалении от видимого края сферы. Во-вторых, неприятность с источником света - наверняка не единственная, ведь точка не только "освещается странно" но и "видима странно", нормаль направлена ОТ камеры. И вообще этой точки мы не должны были видеть, это получается за счет аппроксимации сферы полигонами. Вылазят недостатки упрощений Я понимаю что напрасно трачу слова, но тема должна иметь какие-то выводы/итоги. А то обычно поговорят пока не кончится "запал" - и умолкают
0
|
||
| 15.12.2024, 15:02 | |
|
Помогаю со студенческими работами здесь
40
Сколько слагаемых должно быть в сумме, чтобы эта сумма оказалась больше 5 Определить, сколько слагаемых должно быть в сумме, чтобы сумма оказалась больше или равной N Сколько телефонов должно быть в агентстве, чтобы относительная пропускная 215 способность была не менее 0,75 Сколько должно быть RAID-контроллеров на материнской плате для того чтобы получилось три массива? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|