Я проектирую аппаратное обеспечение, которое должно постепенно увеличивать значение переменной от одного значения до другого в пределах определенного диапазона тактовых циклов - графически вы можете просматривать его как рисование сплошной линии.Рисование строки во временной области
Я использовал алгоритм Брешенема, но обнаружил, что если время меньше диапазона переменных значений, этот алгоритм неприменим просто потому, что ось тактового цикла не может быть физически заменена с помощью оси значений переменной - время всегда смежное.
Я ищу советы
- может Bresenham-х как-то изменить для работы в вышеназванной ситуации в октанте 2, когда оси не могут быть заменены;
- какой другой алгоритм может использоваться для ситуаций, когда диапазон x меньше, чем у-диапазон;
- Возможно, есть какой-то другой подход к разрешению и другой алгоритм, охватывающий оба сценария?
Ограничения: разделение не допускается, а также FP-эмуляция. Разрешается умножение (а также сложение и вычитание).
Обновление: по модулю, отличным от 2^n, не допускается. Только целочисленная математика (без знака и/или подпись). Настройка алгоритма должна занимать один или два цикла.
Линии рисования всегда происходят в пиксельном домене. Поэтому не должно быть (не может быть) никаких проблем с использованием Bresenham. –
@ XenkHolterman - ось времени и не может быть заменена осью y. – Anonymous