Code Monkey home page Code Monkey logo

strange_pattern's Introduction

Программа для генерации бесконечного узора

Описание

Программа генерирует бесконечный узор, где каждая точка пространства сама определяет свое состояние вне зависимости от других точек. Это достигается за счет использования некоторой операции над координатами точки и дальнейшей проверки полученного числа на простоту. Изначальная идея состояла в проверке числа, полученного операцией X XOR Y, на простоту, где X и Y - координаты точки. Такой простой алгоритм дает следующий узор:

strange_pattern_example

Как работает данная программа?

Пример кода:

long long gx; // координата X точки
long long gy; // координата Y точки
// задаем координаты точки
//...

long long temp = gx ^ gy; // основной вариант предварительной обработки координат

// проверка числа temp на простоту
// isprime - это Алгоритм Бэйли-Померанс-Селфридж-Вагстафф (BPSW) проверки n на простоту
if(BPSW::isprime(std::abs(temp)) == true) {
  // точка закрашена, например data[gx][gy] = 1;
} else {
  // точка пустая
}

Пример работы программы

📺Видео1. :tv:Видео2.

Для пользователей Windows

Вы можете воспользоваться готовой программой 2d_pattern.exe, которая находится в архиве в папке bin. Не забудьте в консоли запустившейся программы ввести ширину и высоту окна.

Также можно сгенерировать звук на основе XOR алгоритма узора. Для этого в папке bin есть программа simple_sound. Введите длину трека в секундах, длину одного тика, начальные координаты и скорость смещения. На выходе программа сгенерирует wav файл с мелодией.

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

  • W двигаться вверх
  • S двигаться вниз
  • D двигаться вправо
  • A двигаться влево
  • F увеличить скорость перемещения
  • B сбросить скорость перемещения
  • R включить или выключить автоматическое перемещение
  • T смена алгоритма
  • I сохранить узор в формате jpg
  • V начать или остановить запись видео в формате avi

Реализация алгоритма другими пользователями

strange_pattern's People

Contributors

newyaroslav avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

strange_pattern's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.