User Tag List

Показано с 1 по 6 из 6

Тема: Возможное ускорение CIRCLE

  1. #1

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Arrow Возможное ускорение CIRCLE

    Знаю, конечно, что интерпретируемый Бейсик — та ещё тормозная колодка. Но круги рисует уж слишком медленно, а в моей программе этих геометрических фигур больше сотни.
    Если ли способ ускорения, не требующий изучения ассемблера и тому подобных премудростей?
    ÷)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    алгоритм Брезенхема, наверное.

  4. #3

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    алгоритм Брезенхема, наверное.
    Даже ромбы этот алгоритм медленней рисует, чем DRAW, не говоря уже за круги...

    Код:
    1000 FOR Y=166 TO 10 STEP -12
    1010 FOR X=11 TO 47 STEP 12
    1020 GO SUB 2000
    1030 NEXT X
    1040 NEXT Y
    1050 STOP
    2000 LET A=0
    2010 LET B=4
    2020 LET C=3-2*4
    2040 PLOT X+A,Y+B
    2050 PLOT X-A,Y+B
    2060 PLOT X+A,Y-B
    2070 PLOT X-A,Y-B
    2080 PLOT X+B,Y+A
    2090 PLOT X-B,Y+A
    2100 PLOT X+B,Y-A
    2110 PLOT X-B,Y-A
    2120 IF A>=B THEN RETURN
    2130 IF C<0 THEN LET C=C+4*A+6
    2140 IF C>=0 THEN LET C=C+4*(A-B)+10: LET B=B-1
    2150 LET A=A+1
    2160 GO TO 2040
    Последний раз редактировалось yevrowl; 11.10.2025 в 21:14.
    ÷)

  5. #4

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от yevrowl Посмотреть сообщение
    Даже ромбы этот алгоритм медленней рисует, чем DRAW, не говоря уже за круги...
    Этот алгоритм линии, а не окружности.
    есть другой вариант:
    http://members.chello.at/easyfilter/bresenham.html
    или Minsky Circle:
    https://zx-pk.ru/threads/35718-agon-...=1#post1197805

    Этот пользователь поблагодарил Shiny за это полезное сообщение:

    yevrowl(11.10.2025)

  6. #5

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Учитывая, что большинство кружков состоит из 20 пикселей, перерисовал при помощи PLOT/DRAW, теперь выводится на экран гораздо быстрей.
    ÷)

  7. #6

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тогда Ассемблер в помощь.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. STM32 Circle
    от andrews в разделе Зарубежные компьютеры
    Ответов: 15
    Последнее: 28.03.2009, 19:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •