Сохранен 146
https://2ch.hk/sci/res/354872.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Кручу-верчу -тред

 Аноним 10/04/16 Вск 10:56:54 #1 №354872 
14602750150240.png
14602750150241.png
Я хз, как тред назвать.

Смотри, хуйня какая.
Есть у нас, скажем, точка А (x1, y1). Кроме того у нас есть еще и точка B (x2, y2). Есть еще и угол alf.
Надобно нам найти точку C (ейные координаты x3, y3), причем такую точку, чтобы угол CAB = alp, а угол ACB = 90°.

Путем нехитрых умозаключений получаем вот такую формулу:
x3=cos(alf)((x2-x1)cos(alf)-(y2-y1)sin(alf))+x1;
y3=cos(alf)
((x2-x1)sin(alf)+(y2-y1)cos(alf))+y1;
если разметка похерится - вторая пикча (на символ $ внимание не обращай - специфика PHP). Вполне себе получается найти такую точку - первая пикча.

Это все круто, хорошо и отличненько. А как мне туда еще координату Z добавить? Ну, понятно, что теперь кроме угла alp (который в плоскости поворачивает вектор) добавить еще угол bet (который саму плоскость вращает). Только я че-т туплю немношк, как его туда добавить)))
вверх Аноним 11/04/16 Пнд 10:12:05 #2 №355176 
bump
Аноним 11/04/16 Пнд 10:48:07 #3 №355184 
Это не ты ли, ОП, фракталы в простых числах искал?
Аноним 11/04/16 Пнд 11:35:40 #4 №355195 
14603637407480.png
14603637407491.png
14603637407512.png
>>355184
Ну вот и как ты догадался-то?

Короче, вот эту херню
http://xcontcom.livejournal.com/6010.html
хочу сделать для 3-х измерений, ну и чтобы его прям в браузере можно было вращать, как вот здесь:
http://xcont.com/3d.php

Аноним 11/04/16 Пнд 13:10:33 #5 №355221 
>>355195
>http://xcont.com/3d.php
Жалко, что только 3Д в перспективе, нет конопочки "изометрического 3Д", это было бы в 100 раз информативней
Аноним 11/04/16 Пнд 13:58:47 #6 №355239 
14603723277060.png
>>355221
Добавил два чекбокса
Аноним 11/04/16 Пнд 14:10:12 #7 №355241 
14603730123560.png
>>354872 (OP)
Вокруг линии должна красная сфера получиться: http://xcont.com/sphere.html причем так, чтобы линия через центр сферы проходила.

Не получается. Че-т вообще какой-то бред выходит.
Аноним 11/04/16 Пнд 15:55:27 #8 №355284 
>>355271
О, так ты прям он, видел твой пост на хабре, вдохновил тогда :3 У меня есть такое впечатление, что у твоей штуки есть практическое применение, именно потому что она простая, но о фракталах. В последнее десятилетие появились работы в медицине, о диагностике раковых опухолей по их фрактальной размерности. Анализ картин от сканирующего микроскопа показывает четкое отличие опухолей от здоровой ткани по этому параметру.
Ну, и если абстрагироваться, как мы там получаем эти картины (тут массовые технологии ещё не доползли), то их анализ можно проводить сетью, наученной строить фракталы твоим алгоритмом и сличать с заданной картинкой. Как только сети кажется, что она нашла фрактал размерностью "похожей" на то что на картинке - выдается результат. Тут в чем удобство, элемент построения твоим способом - это же просто бинарная матрица 2х2. А значит рассчеты можно проводить очень быстро и анализировать огромные массивы.
Если б ещё была хорошая технология получения данных, что-то типа УЗИ, но с разрешением на порядки выше, чем сейчас.
Ну это всё просто мысли вслух.
Аноним 11/04/16 Пнд 16:15:49 #9 №355291 
>>355239
Лол, отрыл бумажные очки, порадовался 3Д
Аноним 11/04/16 Пнд 19:07:53 #10 №355370 
14603908730740.png
можно закрывать

>>355241
Таки получилось.
Зеленая линия проходит через центр сферы. Синие линии сходятся в центр оси вращения.
Каких-то несчастных 1296 точек, а ресурсы отжирает ппц. Походу WebGL надо курить.
sageАноним 11/04/16 Пнд 19:11:16 #11 №355371 
Оп, как стать таким охуенным как ты? Не понимаю как вообще подключать канвас в похпе, через что подключается и как строить тридерисунок. Что прочитать для этого нужно?
Аноним 11/04/16 Пнд 19:12:21 #12 №355372 
>>355284
Про опухоли я мало что знаю)))
Аноним 11/04/16 Пнд 19:12:45 #13 №355373 
>>355371
Зачем сегаешь?
Аноним 11/04/16 Пнд 19:13:57 #14 №355374 
>>355373
Не специально, не специально, без злого умысла. Впрочем читать не очень хочется, но код чего-то подобного в триде посмотреть очень хочется.
Аноним 11/04/16 Пнд 19:24:29 #15 №355377 
И самый глвный, вопрос, оп. Причем тут пхп, если канвас вроде как через js строится?
Аноним 11/04/16 Пнд 19:36:00 #16 №355380 
>>355372
Ну про фракталы-то про свои что-то знаешь. Ну я вот 2д повозюкал мышкой. Получатся, генерируется какая-то группа фракталов, но она конечная? Ну, если бы у меня был бесконечный монитор и я все вел и вел мышку, куда-то в сторону, я бы увидел что фракталы повтояются, просто более детальные?
Аноним 11/04/16 Пнд 19:58:26 #17 №355392 
14603939067600.png
>>355371
>Не понимаю как вообще подключать канвас в похпе, через что подключается
В похапе канваса нет. В похапе можно чего-то посчитать, в цикле через echo сформировать массив (не html-код, а JS) и в браузере, через JS с ним уже работать. Ну или если Ajax используешь - упаковал массив на сервере с помощью json_encode и дальше его используешь в JS как обычный массив.

>как строить тридерисунок.
На примере вот этой сферы: http://xcont.com/sphere.html
Есть у нас массив точек с разными координатами (x, y, z), которые нам надо за-3d-шить. Просто так нам их 3d-шить скучно - мы их хотим мышкой вращать. Поэтому подключаем addEventListener('mousemove', function), в котором считаем координаты мауса (стандартный код, я его вообще из википедии где-то дернул). Функция возвращает X и Y координаты мышки. Координату X будем использовать для вращения по одной оси (угол альфа), координату Y - для вращения по другой оси (бетта). Берем эти координаты и тупо умножаем на какой-то коэффициент (скорость вращения, грубо говоря). Получаем соответствующие углы. Далее, путем нехитрой тригонометрии, для каждой из точек (x, y, z) применяем формулы вращения из википедии:

yy=y∙cos(alfa)-z∙sin(alfa);
zz=z∙cos(alfa)+y∙sin(alfa);
z=zz;
xx=x∙cos(betta)+z∙sin(betta);
zz=z∙cos(betta)-x∙sin(betta);

y=yy;
x=xx;
z=zz;

Получаем новые координаты для каждой точки. Теперь надо нарисовать 3d-проекцию каждой точки. Как проекция работает? Все, что дальше - меньше, все что ближе - больше. Соответственно, координаты дальних объектов находятся ближе к центру (к оси, через которую якобы твой глаз проходит). Как сделать такое колдунство в канвасе? делим координату x на z и делим координату y на z. Получается, чем больше z (чем дальше от нас точка находится) - тем меньше координаты x и y, относительно центра координат. Ну а поскольку все эти вычисления мы производили относительно центра координатных осей, остается нам к каждой x добавить canvas.width/2 и к каждой y добавить canvas.height/2. После чего используем функции JS (moveTo, lineTo - если точки линиями надо соединять или fillRect - если рисовать одни точки) для рисования внутри канваса.

>Что прочитать для этого нужно?
Википедию
Аноним 11/04/16 Пнд 20:01:24 #18 №355396 
>>355377
Не при чем вообще. Я его использую, если что-то по быстрому нарисовать надо - он удобнее, чем JS.
Аноним 11/04/16 Пнд 20:13:43 #19 №355401 
>>355380
>Получатся, генерируется какая-то группа фракталов, но она конечная?
Nope.

>>355380
>фракталы повтояются
Новые появляются.
Аноним 11/04/16 Пнд 22:39:35 #20 №355445 
>>355195
Сейчас понял, что смущает. У тебя в 3д алгоритм отражает луч от стенок двух плоскостей, а стенки третьего измерения не замечает.
Аноним 11/04/16 Пнд 22:47:59 #21 №355448 
>>355445
Хм... отражает же
Аноним 11/04/16 Пнд 22:52:46 #22 №355452 
14604043670080.png
>>355448
Аноним 11/04/16 Пнд 23:02:01 #23 №355456 
>>355448
Ну тогда хз, значит какое-то свойство. Если смотреть без перспективы и перпендикулярно (т.е. всего 6 таких точек обзора), то периоды и линии, понятное дело, сливаются в решетку. Но на одной из осей эта решетка всегда намного реже, "выглядит проще", чем на остальных осях, вне зависимости от чисел
Аноним 11/04/16 Пнд 23:17:05 #24 №355460 
14604058254460.jpg
>>355452
>>355456
Вот об этом я говорю. Вся сложность фрактала как бы остается в двумерной плоскости, а сама эта плоскость приломляется в 3д. А мне казалось, что должны то получаться кубические структуры
Аноним 12/04/16 Втр 08:26:45 #25 №355542 
Оп, если не затруднит, сделаешь окошки для контроля поля зрения, ну, чтобы можно было его не терять при перезагрузке с новыми параметрами? Ну что-то вроде делаешь клик, и параметры камеры сохраняются.
Аноним 12/04/16 Втр 09:27:46 #26 №355554 
>>355392
У вас синусы-косинусы зря столько раз рассчитываются. Их можно посчитать один раз на поворот.
Аноним 12/04/16 Втр 09:41:16 #27 №355555 
14604432770180.jpg
>>355460
На пикче две стороны имеют общий делитель (7х3 и 7х2)
Аноним 12/04/16 Втр 09:52:12 #28 №355557 
14604439320370.png
>>355554
Как? Тригонометрию в школе прогулял. В /pr/ пишут, что я шизик.
>Скажи, насколько ясно ты понимаешь, что ты шизик?
Аноним 12/04/16 Втр 10:16:17 #29 №355560 
14604453770660.png
>>355542
Как-то так. Можно указать параметры камеры по умолчанию
Аноним 12/04/16 Втр 12:08:40 #30 №355575 
>>355557
Ну это, ты вообще с синусами-косинусами делаешь, потому что планируешь в расширениях модели менять угол отражения? Потому что, если всегда будет 90 градусов, ты мог просто сделать трехмерный бинарный массив [x,y,z], задать бинарную матрицу, которая диагонально ставит true в точках этого массива, задать правила перемещения этой структуры - которые есть просто диагональное смещение по массиву и задать правило поворота , если матрица достигла границы массива, там просто симметричный поворот "красящих элементов матрицы" (всего два варианта - диагоналей то в матрице две) + изменения правила перемещения матрицы (всего 6 вариантов, для каждой границы). Ну и всё, как алгоритм завершился, рендеришь массив - каждая точка это пиксель. Будет намного быстрее всё.
Собственно говоря, если накодишь структуру матрицы довольно абстрактно и потом ещё подумаешь немного, то ты можешь матрицу делать не квадратную, это и будет изменением угла падения, если оно тебе понадобиться.
Аноним 12/04/16 Втр 12:30:04 #31 №355582 
>>355195
А, Серега, ты, ну привет.
Аноним 12/04/16 Втр 13:11:48 #32 №355589 
>>355557
Похер на тригонометрию. Ты тупо считаешь 100500 раз то что можно посчитать один раз. Например генеришь сферу каждый такт. Нахуя? Сгенерь ее один раз в массив точек и потом вращай ее готовую как хочешь. Потом ты считаешь поворот для каждой точки, когда можно посчитать один раз поворот сразу для всех точек. Еще можно упростить отрисовку точки не прямоугольником, а сразу пикселем.
Аноним 12/04/16 Втр 13:18:00 #33 №355590 
>>355589
Ну ладно тебе, перфекционист. Это все детали, важные только для прикладного применения. Не думаю, что у кого-то калькулятор настолько, что тормозит (хотя сфера торомозит заметно, лол). Человек показал красивую структуру. Я второй день любуюсь, уже столько всяких применений придумал, и распознавание образов, и конструирование микро-фильтров, клапанов, логических наноэлементов, работающих на статическом электричестве. Я тебе говорю, эта штука ляжет в основу многих вещей, но технологии ещё не дошли. Можешь скринить.
Аноним 12/04/16 Втр 13:21:24 #34 №355591 
>>355575
>менять угол
Аноним 12/04/16 Втр 13:24:39 #35 №355592 
>>355589
Ок. Сферу отдельно можно посчитать, упаковать в массив и уже туда в функцию передать, где ее вращать мышкой.

>Потом ты считаешь поворот для каждой точки, когда можно посчитать один раз поворот сразу для всех точек.
kak?

>сразу пикселем.
Канвас не может же в пиксели.
Аноним 12/04/16 Втр 13:26:24 #36 №355595 
>>355590
А вот если тот паттерн на стеклышко маленькими штришками нанести, аки решетка дифракционная и лазером туда потом светонуть?
Аноним 12/04/16 Втр 13:29:22 #37 №355596 
>>355595
Не ябу, я по медицине и биологии только могу содержательно беседовать
Аноним 12/04/16 Втр 13:43:08 #38 №355599 
>>355592
>Сферу отдельно можно посчитать, упаковать в массив и уже туда в функцию передать, где ее вращать мышкой.
http://xcont.com/sphere_test.html
Не заметил разницы.
Аноним 12/04/16 Втр 13:51:21 #39 №355601 
14604582815120.png
>>355596
Напомнил. В друзяфках в ЖЖшечке есть один фрактальный медик
Аноним 12/04/16 Втр 15:21:58 #40 №355636 
>>355601
Лол, ну нет. А за наводку спасибо, отряд космодесанта уже вылетел покарать еретика.
Аноним 12/04/16 Втр 15:25:43 #41 №355637 
>>355636
/me троллил этого мудака ещё до того, как это стало мейнстримом.
Аноним 12/04/16 Втр 17:53:48 #42 №355684 
>>355592
>kak?
Просто считай все косинусы-синусы отдельно от цикла перебора точек. Они долгие эти синусы их частый расчет нужно избегать.
>Канвас не может же в пиксели.
Да, но можно применить хитрый костыль.

Вот небольшой пример как можно быстро вращать 100500 точек на холсте.
https://jsfiddle.net/zxv7gL8b/

Если быстроты все же не хватает то нужно юзать WebGl.
Аноним 12/04/16 Втр 18:37:47 #43 №355709 
>>355599
Наверное вывод точки в виде прямоугольника значительно более тормозной чем расчет синуса.
Аноним 12/04/16 Втр 22:22:34 #44 №355763 
>>355709
Таки прямоугольники больше всего ресурсов отъедают.
Аноним 13/04/16 Срд 20:47:27 #45 №356026 
14605696472270.png
Гляди-ка че, в каждой проекции трехмерной структруры сидит фрактал
Аноним 13/04/16 Срд 20:55:48 #46 №356029 
Ближе к трехзначным числам начинает тормозить неприлично
Аноним 13/04/16 Срд 23:53:35 #47 №356077 
14605808153320.png
В перспективе тоже сохраняются
Аноним 14/04/16 Чтв 01:31:43 #48 №356091 
>>356026
Правый верхний - какие числа?
Аноним 14/04/16 Чтв 02:00:05 #49 №356095 
14605884059700.png
>>356077
Кубик с таким паттерном можно гораздо проще сделать.
Заполняем пространство точками с одинаковыми интервалами между ними (по всем трем осям). Применяем преобразования 3D-перспективы:

xx = x ∙ focus/z
yy = y ∙ focus/z

http://xcont.com/cube.html

Аноним 14/04/16 Чтв 03:07:13 #50 №356097 
14605924339390.png
14605924339441.png
14605924339482.png
14605924339493.png
>>355195
3 dimensions
Аноним 14/04/16 Чтв 08:53:30 #51 №356111 
>>356091
Все 6 -один и тот де " квадрат". уже не помню, что-то воде 81 82 83. А дальше - крутишь и ищешь
Аноним 14/04/16 Чтв 09:01:13 #52 №356112 
>>356097
Круто
Аноним 14/04/16 Чтв 14:35:53 #53 №356151 
>>356095
>>356077
Cмотри, как интересно получается. Очевидная одинаковость этих двух структур происходит из одного правила, правила построения перспективы. А вот эти фракталы >>356026 произошли от того правила, которым браузер рендерит наложившиеся друг на друга точки структуры. Вот эти http://xcont.com/ фракталы получается простым правилом задания границы. Не может ли быть так, что в общем случае, задание любого правила - это и есть задать фрактал?
Аноним 14/04/16 Чтв 14:57:50 #54 №356154 
>>356151
Множества - это фракталы, потому что правило построения теории множеств - это задание его элементов, а элемент любого множества - это элемент множества, лол, самоподобие же.
Аноним 14/04/16 Чтв 15:26:04 #55 №356158 
>>356154
>>356151
Вы с ног на голову-то не ставьте. Фрактал - это частный случай множества с заданной на нем структурой, но не наоборот.
Аноним 14/04/16 Чтв 15:29:21 #56 №356159 
>>356158
Ну ладно тебе, ну на секундочку поставили, все ж мы люди. Просто, ну если ставится, то это не проблема никакая, а просто провод задуматься. А структуры можно задавать, вообще не вдаваясь в теорию множеств, с этим хоть спорить не будешь?
Аноним 14/04/16 Чтв 15:30:06 #57 №356160 
14606370069750.png
14606370069751.png
>>356154
>Возьмем, для примера, самую простую систему счисления - двоичную. Запишем цифры от 0 до 255 в столбик и раскрасим 1 черным цветом, а 0 - белым. Получим вот такой вот паттерн, который вполне обладает свойствами самоподобия
Аноним 14/04/16 Чтв 15:36:22 #58 №356161 
>>356160
>цифры
числа
fix
Аноним 15/04/16 Птн 19:49:13 #59 №356412 
14607389533960.gif
14607389534241.gif
Гифки
Аноним 15/04/16 Птн 22:12:21 #60 №356447 
>>356412
Да, ты крут, давно хотелось увидеть в повороте
Аноним 19/04/16 Втр 11:40:35 #61 №357113 
14610552354970.png
Где-то что-то не то ввёл. Дракон Хартера-Хейтуэя вот такой вот получился
Аноним 19/04/16 Втр 12:16:06 #62 №357117 
>>357113
Забавно. Углы чередуются на по порядку (45, -45, 45, -45), а как в последовательности Морса-Туэ (45, -45, -45, 45, -45, 45, 45, -45)
Аноним 19/04/16 Втр 12:22:11 #63 №357118 
14610577313780.png
14610577313791.png
>>357117
Кстати, тоже норм тема.
30°. На первой пикче - оригинал, на второй - Морса-Туэ.
Аноним 19/04/16 Втр 12:30:19 #64 №357122 
14610582197960.png
>>357113
Похуй, так и оставлю. Всё выравнивается, если вместо двух углов указать 4 (45, -45, -45, 45)
Аноним 19/04/16 Втр 12:49:39 #65 №357128 
14610593796200.gif
>>357122
Гифка
Аноним 19/04/16 Втр 13:36:14 #66 №357136 
>>357128
Ого! Объясни, что хоть происходит. Ну, там треугольник - это начало посторения, ну и дракон. А в кадрах между ними вообще происходит ?
Аноним 19/04/16 Втр 14:18:48 #67 №357145 
14610647289620.png
14610647289621.png
>>357136
Ну смотри, как дракон Хартера-Хейтуэя строится.
Есть две точки A и C. Третья точка B - это пряма AC повернутая на угол 45° (альфа) и умноженная на косинус этого угла.
Получаем новые точки AB и BC. Для них проделываем ту же операцию (но чередуем углы 45° и -45°). (первая пикча).
Для новых точек проделываем ту же операцию, в цикле, пока не надоест.

Это всё на плоскости. Как сюда третье измерение добавить? После поворота прямой AC на угол (альфа) получаем новую точку B и далее ее (точку B) еще раз поворачиваем на угол (бетта), но уже вокруг самой прямой AC (вторая пикча)

На гифке выше >>357128 угол альфа = 45° (и -45°). Угол бетта меняется от 180° до -180° с шагом 10°

Только я че-т не пойму, откуда там треугольник берется. Где-то направление вращения вокруг АС (по часовой/против) неправильно считается.
Аноним 19/04/16 Втр 14:32:01 #68 №357150 
14610655213000.png
14610655213041.png
14610655213142.png
14610655213173.png
>>357145
>неправильно считается
Признаться честно, лень искать. Назовем это не багом, а фичей)))
В том виде, как сейчас - больше вариантов фракталов получается.
Аноним 19/04/16 Втр 14:32:26 #69 №357151 
14610655463060.png
14610655463081.png
14610655463152.png
14610655463183.png
>>357150
Аноним 19/04/16 Втр 14:32:55 #70 №357152 
14610655755700.png
14610655755811.png
14610655755952.png
14610655756023.png
>>357150
Аноним 19/04/16 Втр 14:33:22 #71 №357153 
14610656025210.png
14610656025271.png
14610656025372.png
14610656025453.png
>>357152
Аноним 19/04/16 Втр 16:01:16 #72 №357164 
14610708767460.png
В ЖЖ-шечке :3 дофига картинок выложил: http://xcontcom.livejournal.com/8023.html
Аноним 19/04/16 Втр 18:45:31 #73 №357223 
>>357164
Они техмерные? Их можно повертеть онлайн на твоем сайте?
Аноним 19/04/16 Втр 20:23:23 #74 №357252 
14610866036520.png
>>357223
>Они техмерные?
Те, что выше - двухмерные.

>Их можно повертеть онлайн на твоем сайте?
Вот сюда закинул:
http://xcont.com/geom3d/
Углы тупо через слеш (альфа/бета/альфа/бета/...):
http://xcont.com/geom3d/45/90/45/90/45/90/45/-90/ (пикча)

Дракон Хартера-Хейтуея, например:
http://xcont.com/geom3d/45/180/-45/180/-45/180/45/180/

Или вот этот >>356412 с первой гифки:
http://xcont.com/geom3d/45/90/

Если дохуя тормозит, вот тут:
http://xcont.com/geom3d_low/
"лайт"-версия. Можно на ней углы подбирать.

Угол альфа в пределах (-90°, 90°). Угол бета - от 0 до 360 (ну или от -180 до 180)
Еще пример: http://xcont.com/geom3d/45/210/
Аноним 19/04/16 Втр 20:37:51 #75 №357257 
14610874714100.jpg
>>357252
>Совпадение? Не думаю!
Аноним 19/04/16 Втр 20:40:49 #76 №357258 
>>357257
Количество углов можно любое вбивать:
http://xcont.com/geom3d/30/90/-60/90/-30/90/60/90/-30/90/60/90/30/90/-60/90/45/180/45/180/
Самые "ровные" фракталы получаются с углами:
30°, 45°, 60°, -30°, -45°, -60° (альфа)
Аноним 19/04/16 Втр 20:49:44 #77 №357261 
14610881842880.png
>>357258
Наглядно. С любым углом альфа, точка C лежит на окружности (диаметр которой - AB).
Если угол альфа = 90° - точка C совпадает с точкой A
Если угол альфа = 0° - точка C совпадает с точкой B
Аноним 19/04/16 Втр 21:15:10 #78 №357266 
14610897102440.png
Вот, тоже яркий фрактал получается (плоский):
45,180
45,180
45,0
http://xcont.com/geom3d/45/180/45/180/45/0/
Аноним 19/04/16 Втр 21:27:35 #79 №357268 
>>357252
Последняя очень красивая.
Аноним 19/04/16 Втр 21:41:18 #80 №357269 
Надо туда тоже эволюции-мутации прикручивать. Вручную те углы подбирать - дело неблагодарное.
Аноним 19/04/16 Втр 23:08:51 #81 №357279 
>>357252
>дохуя тормозит
Да, чуть тормозит.

Если тормоза критичны, то вместо вывода линиями воспользуйся вот такой оптимизацией:
https://jsfiddle.net/jkage0db/embedded/result/
Аноним 20/04/16 Срд 11:20:38 #82 №357339 
>>357279
Разницы в скорости не уловил. Но таки да, пиксели четкие.
Аноним 21/04/16 Чтв 09:57:25 #83 №357524 
14612218457130.png
14612218457131.png
http://xcont.com/geom3d/45/0/45/180/45/180/45/180/45/0/
http://xcont.com/geom3d/45/180/45/180/45/0/45/180/45/180/
Аноним 21/04/16 Чтв 10:04:12 #84 №357528 
>>357524
Любой известный фрактал можно получить, если знать углы?
Аноним 21/04/16 Чтв 10:52:33 #85 №357532 
14612251536050.png
14612251536051.gif
>>357528
Не, смотри прикол. Тут, на каждой итерации, к каждым двум точкам только одна добавляется (верхняя часть пикчи - одна точка, нижняя - две).
В той же "Снежинке Коха" (вторая пикча) таких точек три.
Аноним 21/04/16 Чтв 10:55:04 #86 №357534 
14612253049240.png
6 углов
[45, 0], [45, 0], [45, 0], [45, 0], [45, 0], [45, 0]
[45, 0], [45, 0], [45, 0], [45, 0], [45, 0], [45, 180]
[45, 0], [45, 0], [45, 0], [45, 0], [45, 180], [45, 0]
...
[45, 180], [45, 180], [45, 180], [45, 180], [45, 180], [45, 180]
Аноним 21/04/16 Чтв 11:08:54 #87 №357535 
14612261340430.png
>>357534
30°
Аноним 21/04/16 Чтв 11:33:58 #88 №357536 
>>357534
Вот нижний правый - похож на дерево Пифагора, но это не он. Но очень похож.
Аноним 21/04/16 Чтв 11:38:49 #89 №357537 
14612279299330.jpg
>>357536
Аноним 21/04/16 Чтв 11:49:36 #90 №357539 
>>357537
"Кривая Леви" и "Дерево Пифагора" - один и тот же фрактал
Аноним 21/04/16 Чтв 12:06:35 #91 №357545 
>>357539
Ну так ОП строит кривую Леви под разными углами, или что-то другое?
Аноним 21/04/16 Чтв 12:09:12 #92 №357547 
>>357545
Или ОП открыл общий способ строить любые фракталы? Или это просто так проявляется самоподобие, то общее, что есть у любого фрактала, вне зависимости от способа построения?
Аноним 21/04/16 Чтв 13:11:01 #93 №357557 
14612334616980.png
>>357547
Чего сразу "открыл"? Способ тот известен 50 лет (Дракон Хартера-Хейтуэя в 1967 нарисовали). Я тут прост углы пытаюсь самые красивые подобрать. Вот такие фракталы >>357524 , например, впервые вижу и они охуенные - их раньше никто не рисовал.
Аноним 21/04/16 Чтв 13:29:54 #94 №357558 
14612345946930.png
>>357535
30, 30, 30, 60, 60, 60
Аноним 21/04/16 Чтв 18:57:07 #95 №357614 
>>357339
Тормозит сам вывод context.putImageData(canvasData, 0, 0);
Короче при больших размерах холста эта гореоптимизация не поможет.

Если нужны просто четкие пиксели, то рисуй однопиксельные прямоугольники четко на пикселе.
Аноним 21/04/16 Чтв 20:05:50 #96 №357624 
14612583503610.png
>>357614
Та не, норм оптимизация. Удобно цвета можно указывать.

Ты JS хорошо шаришь? Не могу сообразить, как мне канвас с аяксом подружить. При нажатии на кнопочку сервак должен отдавать новую порцию углов, которые надо передать туда в канвас. На пикче исходник (или вот тут http://pastebin.com/GJnc49np )

На ум приходит только сделать скрытое текстовое поле - туда ответ аякса записывать и каждый раз в канвасе оттуда углы дергать.
Аноним 21/04/16 Чтв 21:05:17 #97 №357639 
>>357624
>Ты JS хорошо шаришь?
Я его практически не знаю. Так только немного базовый уровень. Спроси лучше в программаче или вебаче.
Аноним 21/04/16 Чтв 21:36:10 #98 №357642 
14612637701830.png
>>357639
>в программаче
Лучше уже в /b/ тогда.
Аноним 21/04/16 Чтв 22:08:35 #99 №357648 
>>357639
Все. Разобрался.
Там надо было var angls вынести перед window.onload=function() и в Ajax-ответе убрать var перед angls
Трудно сразу на двух языках программировать. В PHP глобальные переменные работают иначе.
sageАноним 21/04/16 Чтв 22:49:32 #100 №357651 
>>357648
>Трудно сразу на двух языках программировать
Ох...

Не позорься, прочитай хоть какую-нибудь книжку про программирование, пожалуйста.
Аноним 22/04/16 Птн 02:05:58 #101 №357695 
>>357651
ага
Аноним 22/04/16 Птн 13:16:14 #102 №357739 
14613201743130.png
Похоже на разглядывание атласа фрактальных форм
Аноним 22/04/16 Птн 17:24:24 #103 №357779 
14613350646700.png
> http://xcont.com/geom3d/
Добавил кнопочку - рандомные углы аяксом делает.
Аноним 23/04/16 Суб 15:24:37 #104 №357951 
>>357739
30-градусные на зародышей похожи :)
Аноним 23/04/16 Суб 18:15:02 #105 №357961 
>>357951
Это неудивительно, если учесть, что человек это фрактальная демосцена.
Аноним 23/04/16 Суб 19:16:29 #106 №357968 
>>357961
Можно ли подобрать такие углы, чтобы получился человечек?
Аноним 04/05/16 Срд 20:25:05 #107 №360472 
>>357968
Можно, значения углов расшифруй из ДНК
Аноним 05/05/16 Чтв 00:10:51 #108 №360523 
14623962516630.png
14623962516631.gif
>>360472
Мне кажется, все не так просто.
Кстати, смотри прикол. Точка 1 - это поворот точки B вокруг точки A на угол альфа. Следующая точка 2 - поворот точки 1 на этот же угол (!!!). Точка 3, 4 и т.д. - тот же угол.
Если, после каждого поворота, увеличивать (уменьшать) этот угол на определенное число?
На гифке уменьшаю этот угол на 0.0001° (!) в диапазоне от 0° до 0.009°
Аноним 05/05/16 Чтв 21:56:56 #109 №360688 
>>354872 (OP)
Эт ты как, в 3д, рисовать на пхп собрался?
Через GD image stream? Ничё не врубаю...
Аноним 05/05/16 Чтв 22:02:26 #110 №360689 
>>355392
>>355239
>>355195

>>354872 (OP), там жава в хеаде, а не пэхапэ.
Аноним 05/05/16 Чтв 22:54:07 #111 №360706 
>>360688
Да хоть через imagecreatetruecolor - какая хер разница? Проекция каждой точки высчитывается по формулам.
Но рисую я через JS canvas - там мышку можно приделать, в отличии от php
Аноним 10/05/16 Втр 12:40:35 #112 №361538 
>>357779
Мужииик, если тебе не трудно, а ты можешь вращение повесить на клавиши WSAD, а на мышку - изменение углов? Вот это будет вообще полное погружение.
Аноним 10/05/16 Втр 12:41:20 #113 №361539 
>>361538
если еще анаглиф привяжешь, а вообще кончу наверное
Аноним 10/05/16 Втр 14:36:20 #114 №361548 
>>361538
Удобнее вращать таки именно мышкой.

>изменение углов
Углов-то много. Какие именно изменять?
Аноним 10/05/16 Втр 15:43:43 #115 №361560 
14628842231340.png
>>361548
>Какие именно изменять?
Ну да, задачка не простая, прямо скажем, дизайнерская. Пример интерфейса на пикрелейтед
Аноним 10/05/16 Втр 18:26:46 #116 №361610 
Добавь автоматическую перерисовку после рандомного изменения углов, чтоб сразу на экране был виден результат.
Аноним 10/05/16 Втр 23:22:05 #117 №361691 
14629117252680.png
14629117252681.png
>>361560
Углы парами идут. Таки лучше делать, чтобы один из углов менялся кнопками A, D, а второй - W, S. Но над этим завтра буду соображать.

>>361539
>анаглиф
Цвета не могу корректно подобрать для черного фона: http://xcont.com/geom3d_anagl/60/255/70/15/35/105/75/195/

>>361610
>Добавь автоматическую перерисовку
Done
Аноним 11/05/16 Срд 00:27:13 #118 №361705 
>>361691
>Цвета не могу корректно подобрать для черного фона
Есть немного, но в целом, быстро перестаешь шум замечать. Все равно фигура сразу внимание поглощает. Очень красиво, прям ух.
Аноним 11/05/16 Срд 00:30:41 #119 №361708 
>>361705
Если кому сильно мешает, вот можно контрастность монитора убавить - помогает; с цветностью поиграться ещё можно
Аноним 11/05/16 Срд 00:45:47 #120 №361711 
>>361705
Фон заменил на белый
Аноним 11/05/16 Срд 01:04:21 #121 №361715 
Теперь меня удивляют те фракталы, которые крутишь-крутишь, а подобия не видно. Это ограничение рендера, типа точек недостаточно, или дело в мозгах?
Аноним 11/05/16 Срд 01:19:30 #122 №361716 
>>361715
Пример?
Аноним 11/05/16 Срд 01:25:36 #123 №361718 
>>361716
http://xcont.com/geom3d/80/300/85/180/30/255/55/300/35/240/50/330/55/45/35/300

http://xcont.com/geom3d/60/270/45/105/30/315/10/180/25/120/20/255/20/165/20/135

типа таких.
Аноним 11/05/16 Срд 01:42:59 #124 №361720 
>>361718
Углов слишком дофига и все разные. Отсюда больше хаоса.
И таки да, если увеличить количество точек подобие будет легче заметить.
Аноним 11/05/16 Срд 01:55:04 #125 №361721 
>>361718
Вот тут:
http://xcont.com/geom3d_21/60/270/45/105/30/315/10/180/25/120/20/255/20/165/20/135
вместо 32770 точек, 2097154. Браузер может зависнуть.
Аноним 11/05/16 Срд 12:00:39 #126 №361807 
>>361721
По ссылке - не сильно тормозит, а вот уже на следующих фракталах - тормозит нереально, даже если довольно простые попадаются. Где-то что-то не оптимизировано
Аноним 11/05/16 Срд 14:18:50 #127 №361832 
>>361807
Походу, после отправки запроса на сервер, старый массив не успевает выгрузится из памяти до того, как сформируется новый. Засоряется кеш. Браузеры не предназначены для подобных вычислений.
Ну так, на вскидку, массив на 2^21 точек - 2097154 точек. Каждая точка записана 3-мя координатами - 6291456 значений. Каждое значение весит в JS 8 байт - 50.331648 мегабайт. Плюс еще 33.554432 мегабайт после рендеринга. 83.886080 мегабайта. Канвас тоже массивом отрисовывается (canvasData.data) - еще 67 метров... А вообще, у меня Firefox 500 мегабайт куда-то сливает. Скриптовые языки программирования - это черный ящик. Одному бозе известно, как реализованы доступ в память и сборка мусора в том или ином браузере.
Аноним 22/05/16 Вск 12:01:42 #128 №364441 
https://www.youtube.com/watch?v=qhbuKbxJsk8
Фракталы, фракталы повсюду
Аноним 23/05/16 Пнд 13:18:55 #129 №364690 
>>364441
Забавно
http://xcont.com/table.html
Аноним 23/05/16 Пнд 15:57:40 #130 №364715 
>>364690
Да не то слово. Ты строил как в ролике, но убирал отрезки через один? А фрактал получается тот же. Отрежь от фрактала половину - получится тот же фрактал.
Аноним 23/05/16 Пнд 17:00:12 #131 №364730 
>>364715
Даже не так. Как-то сложно эту мысль софрмулировать. Ну в общем это наблюдение. Как мы получаем фракталы? мы берем какой-то объект и задаем на нем какое-то правило построения, получаем другой объект - фрактал. Два разных правила - два разных фрактала. Но если мы задаем композицию двух таких правил, то получаемый третий фрактал, который содержит оба предыдущих фрактала в целости. И хоть миллион их скомбинируй, они друг друга "не испортят", всегда можно распознать любой отдельный фрактал, учавствовавший в построении исходного. Так мне кажется.
Аноним 23/05/16 Пнд 18:02:57 #132 №364739 
>>364730
Или, блджад, не берем мы никакой объект изначально, а только правило построения примненное на себя - дает фрактал. Сука, с ним очень сложно, но фрактал - он о чем-то таком глубоком, об источнике, основаниях всего.
Аноним 23/05/16 Пнд 21:14:14 #133 №364782 
>>364715
Почему но? Делал как в ролике. Разделил круг на n точек (количество - xMouse). Каждую точку соединил с точкой*k (k - yMouse/10). А где там фрактал?
Аноним 25/05/16 Срд 20:34:54 #134 №365167 
https://www.youtube.com/watch?v=QAja2jp1VjE
Аноним 26/05/16 Чтв 06:24:40 #135 №365280 
>>364730
У меня на этот счет немношк другое наблюдение)
Аноним 29/06/16 Срд 01:49:51 #136 №372083 
Бампну разок, чтобы не утонуло
Аноним 24/07/16 Вск 08:43:25 #137 №377564 
Самое время бампнуть
Аноним 16/08/16 Втр 01:21:11 #138 №381791 
Бумп
Аноним 19/09/16 Пнд 06:37:57 #139 №388261 
Бумп
Аноним 19/09/16 Пнд 07:14:30 #140 №388262 
>>388261
>бамп в тематике
Аноним 27/09/16 Втр 19:09:42 #141 №389616 
>>388262
Раз в месяц, чтобы не утонуло.
Аноним 05/11/16 Суб 20:09:48 #142 №395447 
Не утонуло? Бамп!
Аноним 06/12/16 Втр 04:37:21 #143 №398223 
Вверх же
Аноним 06/12/16 Втр 12:06:18 #144 №398241 
Кватернионы пробовал?
Аноним 06/12/16 Втр 18:22:17 #145 №398273 
>>398241
Зачем, если на матрице поворота неплохо работает?
http://xcont.com/geom3d/45/90/
Аноним 02/01/17 Пнд 01:25:11 #146 №400644 
>>398273
Самое время бампнуть!
comments powered by Disqus

Отзывы и предложения