Появилась идея сделать похожий рендер на С++ без использования библиотек.
Исходники, к сожалению, не выкладываю, поскольку код не структурировался
Ничего страшного. Заливайте Ваши проекты на Github. Всем будет интересно посмотреть. А недочёты в оформлении либо структуре кода никого не смутят. Здесь же главное математика и алгоритмы.
- В 1902 великий русский писатель Алексей Максимович Горький опубликовал пьесу "На дне". - А судьи кто? - через Чацкого спросил Грибоедов. - Вечеринки не будет! - ответила администрация. - Мы накануне грандиозного шухера! - подумал Попандопуло. - Мне скажут: Что это было? я скажу: Иван и Данило! - подвёл итог Борис Гребенщиков.
(эпиграф)
Друзья, первое место в номинации «Геймдев» показательно.
"Программный рендер в стиле игры Doom". Статья содержит полотно текста с инструкцией "вырезать и склеить" к модельке оригами "Домик из четырёх стен со ступеньками".
Вот код "программного рендерера". Весь.
struct FPoint2D
{
float x;
float z;
};
std::vector<FPoint2D> verts;
struct Poly
{
float yCeil; // Y-координата потолка
float yFloor; // Y-координата пола
std::vector<int> vertIndices; // Индексы вершин, лежащих в векторе verts
};
struct Poly
{
float yCeil; // Y-координата потолка
float yFloor; // Y-координата пола
std::vector<Edge> edges; // Рёбра полигона
};
struct Edge
{
int firstInd; // Индекс первой вершины ребра
};
float u[2]; // U-координаты слева и справа полигона стены (в начале и в конце ребра)
float vWall; // V-координата вверху полигона стены
float vWallAdd; // Приращение V-координаты на каждый Unit в мировой системе
float uFloor;
float vFloor;
Ссылок на гитхаб нет. От слова "совсем". Ни в статье, ни в профиле у автора. Ни на один из его проектов.
ionicman
11 дек 2022 в 00:35
А исходники где-то можно посмотреть? Особенно дыма.
dtyurev
11 дек 2022 в 11:13
Исходники, к сожалению, не выкладываю, поскольку код не структурировался.)
Друзья, вы пишете, что Хабр - это UGC (User-generated content) проект. Но любая соцсеть и даже весь Интернет - это UGC проекты.
Чтобы было понятна моя мотивация, скажу, что мне интересно на Хабре: это математика, и диковинки из программ и железа (ненормальное программирование и ненормальное железо). И то, такая математика, которая доступнее и лучше объяснена, чем в книгах. А это источники достаточно качественных знаний, написанные профессионально специализирующимся людьми. Поэтому я заинтересован в повышении качества материалов и, пока ещё не надоело, активно оцениваю статьи из тематических разделов и даю рекомендации их авторам. Что по моим статьям, то я не пишу их специально для Хабра, а лишь размещаю материалы, которые появились в процессе реальной (хозяйственной) деятельности, и которые могут быть полезны и интересны другим.
По «ИИ». Если ИИ будет создавать материалы указанного выше качества – то почему не читать ИИ? И это приятнее и полезнее, нежели чтение полотен рассуждений «экспертов» в UGC а-ля Фэйсбук и иже с ними. Кстати, посмотрите во что превратился Интернет, который в начале 2000-х именовали не иначе как «мировой разум». – В мусорницу.
По «кураторам». «Нам нужны авторы, которые будЕт готовить реально полезные и интересные публикации, а не учить настраивать Яндекс Директ в сотый раз. Работа кураторов ...должна обеспечивать приток новых статей хорошего качества». Это понятно, непонятны только алгоритмы работы и мотивация т.н. «кураторов». Тут полный туман.
Итог
Друзья, вы дышите прошлым веком – время UGC – прошло, это 2004-2014-й. Все UGC, помимо пятёрки-шестёрки монополий, – «посдувались» и были закрыты. Максимум – поотпочковывались в т.н. «курсы»– а-ля выходцы их Мэйл.Ру – OTUS. (И «курсы» эти – почти те же соцсети, цель которых извлекать прибыль на той же, что и ранее аудитории, большую часть которой составляют домохозяйки и их приближённые.)
Так что: а) вам действительно следует думать, что делать с аудиторией (пока ещё она есть и её не забрал GPTChat); б) т.н. «комьюнити» Хабра (т.е. некую бесформенную массу пользователей) действительно следует усложнять – вводить дополнительные структуры, группы, органы; в) организовывать мероприятия (т.н. «ивенты»), проекты сообщества итд.
А это нужно продумывать, прорабатывать, тестировать итд. В общем, это отдельный рабочий процесс.
PS Два предыдущих Особо Ценных комментария на тему UGC-проектов и их «сдувания» я дал здесь. Но я не понял, читают ли комментарии вообще, т.к. никакой т.н. «обратной связи» не получил.
Тогда смысл статьи прояснился: через объявление ищут чувака, чтобы тот им ещё 1М акков залил. В конце должна быть приписка: "Чувак, вернись, я всё прощу! (твой директор)"
Да, вопросов к "математической компетентности" - по ходу прочтения статьи возникает много. Но, ИМХО, она относится более (скорее) к поэзии, философии математики, нежели к её точным выкладкам. Отсюда я статью заплюсовал. :)
"А что если представлять программу как не набор ключевых слов, а как какой-то формальный язык " - соглашусь, что выражение некорректно (автор не делает / не понимает различия между языком и алгоритмом). Но вот представить алгоритм в виде математической модели - например, в форме конечного автомата... гм.... так по-моему с начала зарождения компьютерных вычислений ~1940-е, так и делают... :)
Только какое отношение изложенное имеет к тематическому разделу "ненормальное программирование", если в изложенном нет ни строчки кода, ни техник программирования, сложно понять...
Очень хорошие статьи. Содержат оргинальные исследования, что всегда интересно. Тем более попытки шить математику в железо.
Дам рекомендацию: не пытайте что-то обсудить либо доказать т.н. "критикам". Особенно тем, у которых "обоснования" - отсылки к "авторитетам". Таким всё "понятно", и всё "давно разжёванно у Ландау-Лифшица". Закончите заминусовкий и баном.
Чтобы наглядно пояснить, как у этих господ "всё понятно" и "давно разжёвано", приведу пример на основе Википедии.
Казалось бы, такие "простые" и "известные" "каждому школьнику" вопросы, что такое "сила инерции", либо что такое "центробежная сила"?
Ответ из Википедии:
Сила инерции (также инерционная сила) — многозначное понятие, применяемое в механике по отношению к трём различным физическим величинам. https://ru.wikipedia.org/wiki/Сила_инерции
Что касается "центробежной силы", то Википедия говорит, что само это понятие:
многозначное понятие, сложившееся как исторически, так и в связи с неупорядоченностью научно-технической терминологии и разногласиями в научной-технической среде. https://ru.wikipedia.org/wiki/Центробежная_сила
Цитирую Википедию далее:
Отсутствие единой общепризнанной терминологии в учебниках и научной литературе по физике и механике, касающейся центробежных сил инерции, приводит к путанице понятий, ошибкам, парадоксам, а иногда и к полному непониманию сути изучаемого вопроса.
А вот что там сказано про литературу, где всё "разжёвано":
Такое же «понимание» центробежных и центростремительных сил нередко встречается у студентов, аспирантов, инженеров и даже у преподавателей физики. Вот пример из широко распространённой в США книги Л. Эллиот и У. Уилкокса «Физика», которая вышла в переводе на русский язык под ред. А. И. Китайгородского в 1975 году.
И вот такой даётся совет:
Из всего сказанного можно сделать вывод: пока не будет разработана единая система терминологии, следует внимательно относиться к выражению центробежная сила и в каждом конкретном случае выяснять, к какому понятию оно относится.
Вы почитайте статьи по ссылкам, будет очень занятно. Там добрая половина каждой статьи это Главы: "Разные мнения о центробежных силах в учебной и научной литературе. Ошибки и заблуждения, связанные с понятием центробежная сила."
Так что не ввязывайтесь в споры с посылающими всех к "Ландау-Лифшицам". Это не только бессмысленно, но и закончится для вас ущербом.
В общем, как и т.н. "воксели", изложенная техника - это некая "калька" физ-мат модели "векторное поле с законами движения на нём".
Последняя - это унифицированная модель любой физики, отсюда - и будущее всех "движков" физической реальности (точка, к которой по градиенту своего развития двигались они все).
Что до движков визуализиции, то вот их Отче Наш, Альфа и Омега. Если бы это сразу было положено базой UNIGINE, то Unreal лежал бы на лопатках. И давно. ;)
Иванов В.П., Батраков А.С. Трехмерная компьютерная графика - 1995
Мало того, в силу специфики внутреннего рынка софта именно им быть и светит.
"даст новые инструменты для анализа динамических систем, теории графов и теории разрешимости" - а откуда такие сведения?
Ничего страшного. Заливайте Ваши проекты на Github. Всем будет интересно посмотреть. А недочёты в оформлении либо структуре кода никого не смутят. Здесь же главное математика и алгоритмы.
- В 1902 великий русский писатель Алексей Максимович Горький опубликовал пьесу "На дне".
- А судьи кто? - через Чацкого спросил Грибоедов.
- Вечеринки не будет! - ответила администрация.
- Мы накануне грандиозного шухера! - подумал Попандопуло.
- Мне скажут: Что это было? я скажу: Иван и Данило! - подвёл итог Борис Гребенщиков.
(эпиграф)
Друзья, первое место в номинации «Геймдев» показательно.
"Программный рендер в стиле игры Doom". Статья содержит полотно текста с инструкцией "вырезать и склеить" к модельке оригами "Домик из четырёх стен со ступеньками".
Вот код "программного рендерера". Весь.
Ссылок на гитхаб нет. От слова "совсем". Ни в статье, ни в профиле у автора. Ни на один из его проектов.
На вопрос показать исходники - ответ:
Господа, что это было?!
Ни одно доброе дело не остаётся безнаказанным. (с) :)
Друзья, вы пишете, что Хабр - это UGC (User-generated content) проект. Но любая соцсеть и даже весь Интернет - это UGC проекты.
Чтобы было понятна моя мотивация, скажу, что мне интересно на Хабре: это математика, и диковинки из программ и железа (ненормальное программирование и ненормальное железо). И то, такая математика, которая доступнее и лучше объяснена, чем в книгах. А это источники достаточно качественных знаний, написанные профессионально специализирующимся людьми. Поэтому я заинтересован в повышении качества материалов и, пока ещё не надоело, активно оцениваю статьи из тематических разделов и даю рекомендации их авторам. Что по моим статьям, то я не пишу их специально для Хабра, а лишь размещаю материалы, которые появились в процессе реальной (хозяйственной) деятельности, и которые могут быть полезны и интересны другим.
По «ИИ». Если ИИ будет создавать материалы указанного выше качества – то почему не читать ИИ? И это приятнее и полезнее, нежели чтение полотен рассуждений «экспертов» в UGC а-ля Фэйсбук и иже с ними. Кстати, посмотрите во что превратился Интернет, который в начале 2000-х именовали не иначе как «мировой разум». – В мусорницу.
По «кураторам». «Нам нужны авторы, которые будЕт готовить реально полезные и интересные публикации, а не учить настраивать Яндекс Директ в сотый раз. Работа кураторов ...должна обеспечивать приток новых статей хорошего качества». Это понятно, непонятны только алгоритмы работы и мотивация т.н. «кураторов». Тут полный туман.
Итог
Друзья, вы дышите прошлым веком – время UGC – прошло, это 2004-2014-й. Все UGC, помимо пятёрки-шестёрки монополий, – «посдувались» и были закрыты. Максимум – поотпочковывались в т.н. «курсы»– а-ля выходцы их Мэйл.Ру – OTUS. (И «курсы» эти – почти те же соцсети, цель которых извлекать прибыль на той же, что и ранее аудитории, большую часть которой составляют домохозяйки и их приближённые.)
Так что:
а) вам действительно следует думать, что делать с аудиторией (пока ещё она есть и её не забрал GPTChat);
б) т.н. «комьюнити» Хабра (т.е. некую бесформенную массу пользователей) действительно следует усложнять – вводить дополнительные структуры, группы, органы;
в) организовывать мероприятия (т.н. «ивенты»), проекты сообщества итд.
А это нужно продумывать, прорабатывать, тестировать итд. В общем, это отдельный рабочий процесс.
PS Два предыдущих Особо Ценных комментария на тему UGC-проектов и их «сдувания» я дал здесь. Но я не понял, читают ли комментарии вообще, т.к. никакой т.н. «обратной связи» не получил.
https://habr.com/ru/companies/habr/articles/711148/comments/#comment_25192242 https://habr.com/ru/companies/habr/articles/712456/comments/#comment_25192284
Это третий.
Самые удачные статьи у вас были по линейной алгебре. Остальное как-то так себе...
Если будете "учинять", маякните, готов поучаствовать.
Тогда смысл статьи прояснился: через объявление ищут чувака, чтобы тот им ещё 1М акков залил. В конце должна быть приписка: "Чувак, вернись, я всё прощу! (твой директор)"
Да, вопросов к "математической компетентности" - по ходу прочтения статьи возникает много. Но, ИМХО, она относится более (скорее) к поэзии, философии математики, нежели к её точным выкладкам. Отсюда я статью заплюсовал. :)
"А что если представлять программу как не набор ключевых слов, а как какой-то формальный язык " - соглашусь, что выражение некорректно (автор не делает / не понимает различия между языком и алгоритмом).
Но вот представить алгоритм в виде математической модели - например, в форме конечного автомата... гм.... так по-моему с начала зарождения компьютерных вычислений ~1940-е, так и делают...
:)
Только какое отношение изложенное имеет к тематическому разделу "ненормальное программирование", если в изложенном нет ни строчки кода, ни техник программирования, сложно понять...
Никогда такого не было, и вот опять...
Мы сделали самое простое решение. Просто закрыли отдел тестирования...
(с) QIWI Ведущий платёжный сервис нового поколения в России
https://habr.com/ru/company/qiwi/blog/717370/
Очень хорошие статьи. Содержат оргинальные исследования, что всегда интересно. Тем более попытки шить математику в железо.
Дам рекомендацию: не пытайте что-то обсудить либо доказать т.н. "критикам". Особенно тем, у которых "обоснования" - отсылки к "авторитетам". Таким всё "понятно", и всё "давно разжёванно у Ландау-Лифшица". Закончите заминусовкий и баном.
Чтобы наглядно пояснить, как у этих господ "всё понятно" и "давно разжёвано", приведу пример на основе Википедии.
Казалось бы, такие "простые" и "известные" "каждому школьнику" вопросы, что такое "сила инерции", либо что такое "центробежная сила"?
Ответ из Википедии:
Сила инерции (также инерционная сила) — многозначное понятие, применяемое в механике по отношению к трём различным физическим величинам. https://ru.wikipedia.org/wiki/Сила_инерции
Что касается "центробежной силы", то Википедия говорит, что само это понятие:
многозначное понятие, сложившееся как исторически, так и в связи с неупорядоченностью научно-технической терминологии и разногласиями в научной-технической среде. https://ru.wikipedia.org/wiki/Центробежная_сила
Цитирую Википедию далее:
Отсутствие единой общепризнанной терминологии в учебниках и научной литературе по физике и механике, касающейся центробежных сил инерции, приводит к путанице понятий, ошибкам, парадоксам, а иногда и к полному непониманию сути изучаемого вопроса.
А вот что там сказано про литературу, где всё "разжёвано":
Такое же «понимание» центробежных и центростремительных сил нередко встречается у студентов, аспирантов, инженеров и даже у преподавателей физики.
Вот пример из широко распространённой в США книги Л. Эллиот и У. Уилкокса «Физика», которая вышла в переводе на русский язык под ред. А. И. Китайгородского в 1975 году.
И вот такой даётся совет:
Из всего сказанного можно сделать вывод: пока не будет разработана единая система терминологии, следует внимательно относиться к выражению центробежная сила и в каждом конкретном случае выяснять, к какому понятию оно относится.
Вы почитайте статьи по ссылкам, будет очень занятно. Там добрая половина каждой статьи это Главы: "Разные мнения о центробежных силах в учебной и научной литературе. Ошибки и заблуждения, связанные с понятием центробежная сила."
Так что не ввязывайтесь в споры с посылающими всех к "Ландау-Лифшицам". Это не только бессмысленно, но и закончится для вас ущербом.
Норм статья!
В общем, как и т.н. "воксели", изложенная техника - это некая "калька" физ-мат модели "векторное поле с законами движения на нём".
Последняя - это унифицированная модель любой физики, отсюда - и будущее всех "движков" физической реальности (точка, к которой по градиенту своего развития двигались они все).
Что до движков визуализиции, то вот их Отче Наш, Альфа и Омега. Если бы это сразу было положено базой UNIGINE, то Unreal лежал бы на лопатках. И давно. ;)
Иванов В.П., Батраков А.С. Трехмерная компьютерная графика - 1995
То есть язык возник не из реальных потребностей реального мира.
Попробуйте поискать заказчика(ов) либо пользователей, чтобы проверить его на "прочность".
PS Я за языковые эксперементы. Убеждён, что будущее за ЯОП
https://ru.wikipedia.org/wiki/Языково-ориентированное_программирование
Похвальная затея. Очень хорошо IT специалисту уметь разрабатывать свои DSL-и.
Два вопроса:
Кто заказчик языка (если такой есть)?
Если язык разработан для Вашего личного использования, где Вы его применили? каков эффект (польза итд.) от его применения?
Заявленные тематические разделы:
Научно-популярное, Искусственный интеллект, Мозг - да.
Математика - нет.
Обоснованно полагаю, что читателям тематического раздела "Математика" подобные публикации покажутся не заслуживающими внимания.
Оч. хорошая статья. Эталон для статей по науке/инженерии.
T-shape == "Тот в шляпе". В общем, граней много, отсюда такое загадочное название этого ценного специалиста.