Comments 19
То, что вы описали в начала — обратная трассировка лучей. То, что вы описали далее — не трассировка лучей вовсе. Трассировка лучей оперирует лучами, поверхностями и их свойствами, у вас из этого нет ничего. И подход этот был зачат до трассировки лучей…
Впрочем, как его не называй, а реализация хорошая. Спасибо, было крайне интересно почитать.
Впрочем, как его не называй, а реализация хорошая. Спасибо, было крайне интересно почитать.
+2
Да, ассоциация, может, не самая удачная, но мне пришла в голову именно такая :-)
0
Возможно, такое название будет удачнее.
+1
Это трассировка. Только она происходит в не совсем привычном пространстве (z-координата дискретна, и траектория состоит из довольно странных точек).
Думаю, что вместо того, чтобы считать секторы и центр нужной окружности, достаточно было бы вычислить что-то вроде
z[n+1]=(pow(z[n], factors[n]) — 1) * b, где b — какое-то число, большее 1, а z[0]=x+i*y.
Если z[N] будет меньше 1 по модулю — закрашиваем. И никаких синусов и косинусов.
Думаю, что вместо того, чтобы считать секторы и центр нужной окружности, достаточно было бы вычислить что-то вроде
z[n+1]=(pow(z[n], factors[n]) — 1) * b, где b — какое-то число, большее 1, а z[0]=x+i*y.
Если z[N] будет меньше 1 по модулю — закрашиваем. И никаких синусов и косинусов.
+1
Нет, плохо получилось :(
0
А это уже алгебраические фракталы напоминает. Я понимаю аналогию с обратной трассировкой лучей (z-координата константа, а траектория не непрерывна), но если мы назовем этот подход трассировкой лучей, нам придется обозвать трассировкой и это:
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
drawPixel(x, y, abs(cos(x * y / 10000) * 255));
0
UFO just landed and posted this here
Число 1 не работает :)
0
и 6 некрасиво смотрится. в оригинале лучше
0
Дело в том, что у меня двойки всегда отрисовывались вертикально, и чтобы [2,2] не создавало линию, я объединял их в [4]. Результат был таким же, как в оригинале.
Здесь же двойки рисуются горизонтально, поэтому и выглядит иначе, хотя на мой взгляд это мелочи.
Спасибо автору. Статья отличная, скорость работы потрясающая :)
Здесь же двойки рисуются горизонтально, поэтому и выглядит иначе, хотя на мой взгляд это мелочи.
Спасибо автору. Статья отличная, скорость работы потрясающая :)
+1
С 1 была бага в стыренной мной функции факторизации: она должна возвращать пустой массив, а не [1]. Да, чужой код тоже надо тестировать. Пофиксал.
0
А вот такой Web мне нравится!
0
Попробовал 31415926=8263 * 1901 * 2, а фигура — круг.
Идеальный мир!
Идеальный мир!
0
Добавьте исключительный случай в нуле?
0
Sign up to leave a comment.
Articles
Change theme settings
Визуализация характеристической функции