Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс июн 24, 2018 2:15 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 8 сообщений ] 
Автор Сообщение
 Заголовок сообщения: FractalTree
СообщениеДобавлено: Вт май 22, 2018 9:37 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1278
This example draws a fractal tree:
Спойлер: Показать
Вложение:
1.png
1.png [ 36.38 КБ | 523 просмотра ]
Tools needed:
Вложение:
FractalTree.7z [2.03 КБ]
7 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Вт май 22, 2018 10:37 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4450
Вах, красота.
Надо залить на СВН и добавить в дистр (можно бинарник).

Было бы клево добавить возможность установки обоями рабочего стола сгенерированного изображения (но чтобы при этом генерировалась картинка размерами равная рабочему столу, чтобы не размазывалась).

P.S. Код ня, но зачем так много тулзов?)
P.P.S. Тебе нужно где-то держать репозитарий или просто обновляемый архив со всеми компиляторами и библиотеками которые используешь.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Ср май 23, 2018 8:52 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 765
Смотрится красиво. Но слева самая маленькая ветка по цвету выделяется из основной гаммы. Она красного цвета, а все остальные ветви зеленые, а красная сторона дерева справа.


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Чт май 24, 2018 10:12 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1278
IgorA писал(а):
Но слева самая маленькая ветка по цвету выделяется из основной гаммы. Она красного цвета, а все остальные ветви зеленые
А, это из-за формулы цвета
Код:
eax = RGB(127, Abs(Angle), Depth * 24)
Сейчас глубина 11
Код:
Invoke DoDraw, X, Y, -90, 11
Если глубину задавать меньше, чем 11, то ветка будет зелёная. Просто вот эти значения
Код:
Abs(Angle)
Depth * 24
выходят за пределы 255, здесь по идее нужна арифметика с насыщением.
Например, ветка будет зелёной, если сделать так(добавлены сравнения .If GREATER?)
Код:
    mov eax, Angle        ;
    test eax, eax         ;
    .If SIGN?             ;
      neg eax             ;
    .EndIf                ;
   
    cmp eax, 255   ;
    .If GREATER?
      mov eax, 255
    .EndIf
   
    shl eax, 8            ; eax = RGB(127, Abs(Angle), Depth * 24)
    or eax, 127 SHL 16    ;
    mov ebx, Depth        ;
    imul ebx, 24          ;
   
    cmp ebx, 255   ;
    .If GREATER?
      mov ebx, 255
    .EndIf
   
    or eax, ebx           ;
    Invoke DrawLine, X1, Y1, X2, Y2, eax
Leency писал(а):
Надо залить на СВН и добавить в дистр (можно бинарник).
Можно собирать на сервере с помощью JWASM — это форк товарища XVilka viewtopic.php?f=2&t=2586&p=64806#p64806
Сейчас на сервере с помощью JWASM собирается программа RUN viewtopic.php?f=9&t=3584 вот она на SVN http://websvn.kolibrios.org/listing.php ... f773176113
Можно сделать аналогично.
Leency писал(а):
но зачем так много тулзов?
Странный вопрос, однако :lol:
Теоретически можно было бы без objcopy, но у ld есть проблема с OUTPUT_FORMAT("binary"), хотя, возможно, линуксовый ld такой проблемы не имеет(но всё равно). Ещё можно было бы воспользоваться Ваткомовским линкером, но он вряд ли есть на сервере.
Ассемблер нужен для компиляции asm-файла.
Линкер нужен для линковки с библиотекой KolibriOS.lib.
Так что, ничего лишнего.


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Чт май 24, 2018 4:04 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 181
А почему поверху наблюдаются плоские площадки?
Так и должно быть? Или ошибки округления/использование целых чисел/ещё чего-то?


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Чт май 24, 2018 7:06 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1278
lev писал(а):
А почему поверху наблюдаются плоские площадки?
Так и должно быть?
Да, это фрактал такой.
lev писал(а):
ошибки округления/использование целых чисел/ещё чего-то
Где конкретно по-твоему ошибка?


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Вс май 27, 2018 10:39 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1278
Вот такой кустарничек :)
Спойлер: Показать
Вложение:
1.PNG
1.PNG [ 87.3 КБ | 394 просмотра ]
Нажимайте клавишу Enter, чтобы сгенерировать новый куст.
Для сборки нужно то же самое: LD, ObjCopy, UASM, KolibriOS.lib.
Вложение:
FractalBush.7z [3.36 КБ]
10 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: FractalTree
СообщениеДобавлено: Сб июн 02, 2018 9:47 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1278
Не совсем дерево, но всё же растение :)
Фрактальный папоротник.
Спойлер: Показать
Вложение:
1.png
1.png [ 36.54 КБ | 296 просмотров ]
Для сборки — всё то же самое.
Вложение:
FractalFern.7z [2.95 КБ]
9 скачиваний


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 8 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB