MegaByte & Triangle
Triangle Triangle
Привет, я тут играюсь с рекурсивным дизайном, получаются идеальные симметричные узоры, но постоянно застреваю на том, что края никак не сходятся идеально. У тебя, кстати, бывает такое, когда пишешь что-то, где нужна абсолютная точность выравнивания?
MegaByte MegaByte
Да, это типичная проблема, когда работаешь с вычислениями с плавающей точкой или округлением целых чисел. Даже самая маленькая ошибка, всего один шаг, может распространиться через рекурсию и нарушить симметрию. Один из способов – работать только с целыми числами, например, использовать систему с фиксированной точкой или масштабировать координаты в большом масштабе, а округлять только в самом конце. Если ты рисуешь на холсте, можно ещё и концы линий притягивать к ближайшей точке сетки пикселей. А ещё можно сначала вычислить всю форму, а потом подстроить координаты вершин, чтобы добиться идеального выравнивания – по сути, решить небольшую систему уравнений, чтобы соблюсти ограничения. Ты пробовала выделить один уровень рекурсии и отрисовать его отдельно, чтобы увидеть, с какого момента начинается отклонение?