Поколение NineBlock

Я собираюсь сделать свою собственную реализацию этих идентификаторов или Gravatars, найденных здесь, на Stackru. Большинство вопросов, которые я мог найти, касалось использования существующих сторонних библиотек, особенно тех, которые подключены к Gravatar.


(источник: levitated.net)

После некоторых поисков я наткнулся на эту страницу. И, судя по всему, это не так сложно. Что должно быть случайно выбрано:

  • Одна фигура в середине
  • Одна форма для углов
  • Одна форма для краев
  • 2 цвета
  • Вращение для всех форм, кроме средней

Заполните рандомизатор со значением хеша md5 и начните поиск случайных чисел. Затем добавьте (pi/2)*i к каждой фигуре по краю, чтобы создать этот крутой эффект радиальной симметрии.

Вы могли бы сказать, что я думаю здесь, в тексте, но я хочу знать, правильно ли я что-то понял. Кроме того, если у вас есть мысли, что еще можно было бы рандомизировать для увеличения разнообразия. Будет ли внешний вид "сломан", если я начну менять:

  • Масштаб формы?
  • И тогда, может быть, также смещение положения фигуры в блоке?
  • Выбираете более двух цветов? Два цвета на блок с одинаковой радиальной симметрией?

2 ответа

Решение

Как вы можете видеть в своем собственном граватаре на этом сайте, вы можете использовать поле 4х4. Четное число ячеек на стороне будет меньше ограничивать формы, используемые в середине, так как они также вращаются.

Смещения могут быть разрешены, если повернуть. Смещения, которые равны в обоих измерениях, могут выглядеть более симметрично и могут быть предпочтительнее, но это не обязательно.

Вы также можете вращаться по-разному, на 180°, теряя некоторую симметрию, но, как вы можете видеть здесь, это дает вам интересные идентификаторы.

Конечно, вы можете выбрать более двух цветов. С эстетической точки зрения, выбирайте мудро из цветов в рамках определенной схемы. Возможно, некоторые эффекты, такие как постепенное увеличение яркости или потемнения краев, будут выглядеть очень интересными.

Правильно ли я вас понимаю, что вы бы затравили рандомизатор значением MD5 адреса электронной почты пользователя и таким образом могли бы пересчитать его граватар на лету? Тогда не нужно, чтобы он создал аккаунт.

Другие вопросы по тегам