Abnormal programming
Working with 3D-graphics
CGI
Comments 55
+8
Нет слов, только уважение :)
Мне бы в школе рассказали так, и с таким примером.
0
Осталось добавить вращение объектов c подсчетом FPS, и можно включать в 3Dmark.
Снимаю шляпу.
+2
Еще один плюс в возможности Excel.
Игры на нем видел, теперь есть 3D, осталось ждать 3D игры и можно сразу онлайн :)))
+3
[sarcasm on]
Осталось дождаться 3Д движка от 1С и будет «теперь я видел все».
[sarcasm off]

+2
[sarcasm on]
Осталось дождаться 3Д движка от 1С и будет «теперь я видел все».
[sarcasm off]

Нет проблем:
1) 1С умеет работать с COM-объектами
2) 1С умеет выполнять ПРОИЗВОЛЬНЫЙ код C++ в рамках внешних компонент.
3) 1С умеет дергать/предоставлять веб/хттп сервисы.
Так что искусство забивать гвозди микроскопом не останется в стороне :)
При желании можно на 1с запилить игровой сервер и клиента :)
+4
Ну не, это неспортивно — грузить внешние компоненты. Только средствами самого языка, только хардкор! :D
+2
Ну не, это неспортивно — грузить внешние компоненты. Только средствами самого языка, только хардкор! :D

Можно и так :) Вот сценарий порноты :):
1) На форме размещаем картинку
2) Саму картинку формируем средствами 1с. Уже примерно как год назад, 1С обзавелась возможностью произвольно манипулировать двоичными данными. А это означает, что можно хоть 3D-шутер написать штатными средствами.
0
В далекие 200е годы студентом пошел во франчайзи за символическую оплату. Помню внешнюю обработку — игра монополия, написанная на языке 1С, платформа 8.0.
+2
Есть у меня шапошный знакомый 1Сник, так он на 1С написал бота, который ходил по форумам и чего-то там отвечал в темы.
На мой вопрос — «Но почему 1С???!!!» был шикарный ответ — «На чем умею, на том и сделал».
Я даже не нашелся, что на это и сказать, только глубокомысленно промычал что-то невразумительное :)
0
А вы никогда в 3D шахматы не играли с 3D-программой для проектирования мебели, в которую добавили поддержку выполнения скриптов на JS? )
-41
Это может и смотрится визуально круто, но на практике абсолютно бесполезно. По сути это «смотрите, как я могу». Ну молодец, что можешь. Возьми печеньку с полки
+2
На практике эта технология используется для кучи разных эффектов в играх.
+17
Ну а с моей точки зрения это замечательный обучающий материал, написанный явно с большим старанием для меня и для вас. Вас так именно эксель зацепил что ли? Те же самые манипуляции можно было провернуть с совершенно любыми инструментами, важен ведь сам принцип.
+7
Это не «смотрите, как я могу», это «смотрите, как ВЫ можете». Автор показывает, что в 3D-графике нет магии, и что она базируется на очень простых математических расчётах, осилить которые может любой толковый старшеклассник, причём сделать это можно даже в инструментах, не предназначенных для программирования. Меня в своё время статья о рейрейсере, уместившемся в 99 строк C++ сподвигла поглубже закопаться в матанализ. И если после прочтения этой статьи хоть один человек захочет сделать свой рендерер с блекджеком и шейдерами, то автор писал статью не зря.
0

И ведь захочет, на самом деле. А то, что в Экселе — в чём-то даже плюс, все формулы буквально перед глазами, всё можно перечитать и изучить прямо на работающем примере, и не требуется какой-то отдельной среды исполнения вроде Jupyter или Wolfram.

0
Хотелось бы ответить всем меня заминусовавшим. Ребят, вы вчитаейтесь в то, что пишу. Я не пишу, что проделанная автором публикации работа бесполезна, плоха и тд. Я пишу про то, что инструмент выбран на мой взгляд не лучшим образом и 3D моделировать в Excel это я даже не представляю кому это может быть вообще нужно
+1
3D моделировать в Excel это я даже не представляю кому это может быть вообще нужно

Наверное потому, что автор не ставил целью что-то конкретное смоделировать. Это очень наглядная демонстрация портабельности алгоритма в частности и математики в общем. Ну и просто зрелищный трюк. Вы же не стали бы ругаться в цирке, что тигры, прыгающие через горящий обруч — это глупость несусветная?
0
Но если разбить этот навык на два — то у вас два полезных навыка «по цене одного»…
+1
Мое уважение автору! Очень необычно было читать про такое. Никогда бы не подумала что можно совместить 3D-графику и Excel.
+2
Я бы сказал больше, по сути автор получил имитацию пиксельного шейдера на экселе :)
+6

Вы правда не видите разницы между бесполезной штукой которую может сделать каждый, сложной штукой, сделанной "потому что могу", и штукой, которая пусть условно-бесполезна, но очень наглядно показывает принципы?

+5
SDF чертовски прикольная штука, но стоило так-же упомянуть о некоторых недостатках.
Что вспомнил сходу:

1. При наличии геометрии с острыми углами точность сходимости возле них изрядно падает. При наличии реально сложной геометрии из угловатых примитивов в поле значений могут получаться разрывы, из-за чего рендер по границам объектов может подглючивать. Обычно для отладки таких моделей используют специальные шейдеры, которые показывают распределени значений возле неё.

2. Чувствителен к наклону границ. Очень неприятная ситуация, когда луч идёт параллельно и очень близко к плоскости. При этом размер шагов может стремиться к нулю. Собственно на этом обычно эта технология и палится (количество шагов обычно ограничивают)

Из плюсов — в шейдерах можно довольно легко оборачивать сложные объекты в простые, что изрядно ускоряет трейс.
+1
Иллюстрация

Слева ограничение на 2'000 шагов, а справа всего 200.
простая сцена ray marshing
Заметно просел горизонт и появились дыры вокруг сферы.

0
Странно. 200 на один луч или со всеми отражениями? Поскольку это довольно много для SDF. У меня на 64 примерно такие артефакты
0

На луч. Я не особенно разбираюсь, реализация возможно не самая лучшая. Должно быть можно покрутить константы эпсилона и максимальной дистанции. Может быть есть какие-то оптимизации?
PS: Пока прикручивал туман, заметил что забыл сделать обратную гамма-коррекцию, то-то мне казались цвета странными.

0
Посмотрел свой шейдер — у меня вообще никаких нет. Но проще всего добавить ограничение на минимальный шаг. Правда тут есть вероятность, что он будет пропускать мелкие детали (меньше размера шага).
0
Было бы неплохо где-то задать положение источника света, а то все объекты раскрашены так, как если бы освещались самой камерой. А так — интересно, и спасибо за метод.
0
Сейчас не найду время на все это но статья невероятно крутая и интересная! 100% в закладки и как уйду на пенсию обязательно все попробую что тут написано!
0
Если имеете в виду SDF, а не эксель, то велком на shadertoy. Можно брать готовые примеры и играть сразу. Есть так-же готовые либы примитивов и операций над ними. Только с операциями придётся немного вывернуть мозги, т.к. все трансформации идут не над примитивом, а над простарнством, в котором он находится :)
0
LibreOffice — полет нормальный. Может забыли разрешить редактировать документ?
+2
Хорошее увлечение, когда на рабочем ПК кроме Excel ничего нет.
+1
Спасибо! Это великолепно.
У Вас ошибка в описании листов i1, i2…
В части **, описания ячеек, забыли сложить со значением из предыдущего шага Ray Marching.
0
Нужно unit тестирование еще завезти и тестами обложить. Хм, интресно, гитхаб отоброзит Exel Formuls как яп проджекта
0
Прикольно)
Никогда не задумывался о таком применении Excel.
0
а между тем преподаватели Эксель гребут такие деньги, что прогерам и не снились.
Only those users with full accounts are able to leave comments. , please.