Size: a a a

2020 August 17

A

Aragaer in pro.algorithms
Я знаю брезенхема для прямой и нашел для окружности. Но у меня условно произвольная криволинейная поверхность.
источник

A

Aragaer in pro.algorithms
Скорее всего у меня будет поверхность, заданная уравнением второго порядка. Вот обобщение брезенхема для такого случая было бы весьма.
источник

ПК

Паша Калугин... in pro.algorithms
Mikail Bagishov
Ну а процессор за секунду выполняет 10**9 сферических операций в вакууме
Ну не питоновского байт-кода
источник

M

MT in pro.algorithms
Aragaer
Я знаю брезенхема для прямой и нашел для окружности. Но у меня условно произвольная криволинейная поверхность.
Можно взять решетку Z^3, если твоя поверхность второго порядка имеет ненулевые квадратичные члены в f(x,y,z)=0, то для достаточно мелкой решетки поверхность будет пересекать кубик тогда и только тогда, когда в кубике найдутся две вершины, соединенные ребром с противоположными по знаку значениями f на вершинах, проверяешь кубики и выбираешь те, которые удовлетворяют
источник

A

Aragaer in pro.algorithms
Ну я вместо "пересекать" использую "центр кубика достаточно близок к поверхности". Но для больших кубиков это тоже даст не самый лучший результат. Поэтому я разбиваю кубики на более мелкие и включаю весь большой кубик, если из мелких определенная доля должна быть включена. В данный момент - разбиваю на n^3, включаю если набралось n^2. Для n=3 выдает результат, который выглядит удовлетворительным.
источник

A

Aragaer in pro.algorithms
Но я видел вроде бы варианты, где через пары разного знака. Только брались не все пары, а диагонально противоположные.
источник
2020 August 18

A

Aragaer in pro.algorithms
в продолжение темы - на самом деле мне для визуализации нужны горизонтальные срезы и соответственно требуется две вещи:
внутри среза не должно быть дыр
между срезами не должно быть щелей
Возникла мысль, чтобы разрезать поверхность на полоски шириной в 1 юнит, проходящие через границу двух соседних слоев блоков. Верхний слой строится по верхней линии этой ленты, нижний по нижней, в случае возникновения зазоров между слоями надо определить, в какой из двух слоев добавлять блок для затыкания.
источник

A

Aragaer in pro.algorithms
получается, что задача из трехмерного сводится к двумерной, но надо тогда как-то переписывать формулу для поверхности
источник

A

Aragaer in pro.algorithms
а для "затыкания щелей" все равно что-то сходное с брезенхэмом остается
источник

ПК

Паша Калугин... in pro.algorithms
Aragaer
У меня как раз задача в том, чтобы из кубиков большого размера делать приближенный внешний вид поверхности. Сферы в майнкрафте. Ну и более сложные поверхности (сферы и торы как раз готовые есть).
Размер кубиков фиксирован?
источник

A

Aragaer in pro.algorithms
условно 1x1x1
источник
2020 August 19

SP

Sergey Polyakov in pro.algorithms
Я извиняюсь что не по теме канала,можете подсказать каналы по spring?
источник

ПК

Паша Калугин... in pro.algorithms
источник

Н

Новичок in pro.algorithms
Подскажите, в каких случаях, какими алгоритмами можно обогнать нативную сортировку Timsort?
источник

БВ

Буйный Виталя... in pro.algorithms
Новичок
Подскажите, в каких случаях, какими алгоритмами можно обогнать нативную сортировку Timsort?
Только по асимптотике?
источник

Н

Новичок in pro.algorithms
Буйный Виталя
Только по асимптотике?
да
источник

БВ

Буйный Виталя... in pro.algorithms
Новичок
да
Что сортируем? Инты?
источник

АЛ

Артем Лазаренко... in pro.algorithms
если инты, то каунтинг сорт
источник

Н

Новичок in pro.algorithms
Буйный Виталя
Что сортируем? Инты?
любые случаи интересуют.
источник

DB

Dmitry Baynak in pro.algorithms
Новичок
любые случаи интересуют.
сортировки на сравнениях не работают быстрее n log n, timsort - n log n в worst case
так что в "любых случаях" не обогнать
источник