|
0 / 0 / 2
Регистрация: 06.04.2016
Сообщений: 10
|
|||||||||||
Графический режим в ассемблере. Создание эллипсоидной спирали22.11.2016, 23:14. Показов 2319. Ответов 2
Метки нет (Все метки)
Доброго времени суток
! Прошу помощи , мне необходимо изменить спираль как на скрине (спираль на синем фоне), на эллипсоидную спираль что на фотографии. Как это сделать я слабо представляю![]() P.S.:Листинги программы и макроса приложил снизу. Код программы .asm и .inc с макросом. Листинг программы: Кликните здесь для просмотра всего текста
Листинг макроса pixels.inc: Кликните здесь для просмотра всего текста
Заранее СПАСИБО за любую помощь!!!
0
|
|||||||||||
| 22.11.2016, 23:14 | |
|
Ответы с готовыми решениями:
2
Формула треугольной спирали
|
|
Модератор
|
|
| 23.11.2016, 01:01 | |
Сообщение было отмечено PegasBlond как решение
Решение
Введите переменную - коэффициент сжатия по оси Y. И перед строкой 96 добавьте умножение y на этот коэффициент.
1
|
|
|
0 / 0 / 2
Регистрация: 06.04.2016
Сообщений: 10
|
||
| 23.11.2016, 03:05 [ТС] | ||
Сообщение было отмечено ФедосеевПавел как решение
РешениеP.S.: Красным шрифтом и подчеркнутым это то что было внесено в изначальный код. Кликните здесь для просмотра всего текста
TITLE SPIRAL
;Программа построения спирали Архимеда include pixels.inc ;подключить макросы вывода точки, осей и символа .model small .stack 100h .data fi dd 0.0 ;Начальное значение переменной угла. delta dd 0.001 ;Шаг изменения угла. xdiv2 dw 320 ;Координаты центра экрана по X. ydiv2 dw 240 ;Координаты центра экрана по Y. Y dd 0.002 ; K dd 5.0 ;Коэффициент шага спирали. xr dw 0 ;Координата выводимой точки по X. yr dw 0 ;Координата выводимой точки по Y. forcolor DB 00000010b ;Цвет спирали Variant db 'Spiral_2_7_vitkov', '$' ;Поясняющая надпись. .code .486 ;Используем расширенную систему команд ;---------------Вывод пиксела--------------------------------------------- ;CX-координата X (столбец), DX-координата Y (строка), ;AL-цвет пиксела POINT PROC pusha mov CX,xr ;Вычисляем координату х add CX, xdiv2 ;в регистре CX. mov DX, ydiv2 ;Вычисляем координату y sub DX, yr ;в регистре DX. mov AL, forcolor ;Задать цвет спирали. mov BH, 0 mov AH,12 ;Вывести пиксел int 10h ;средствами BIOS. popa ret POINT ENDP ;-----------Закрашивание экрана цветом фона--------------------- ;CX-координата X (столбец), DX-координата Y (строка), ;AL-цвет пиксела FON PROC pusha mov CX, 0 mov DX, 0 mov AL, 00000001b ;Цвет фона. mov BH, 0 ;Номер страницы. c_1: mov AH, 12 ;Вывести пиксел int 10h ;средствами BIOS. inc CX cmp CX, 650 jne c_1 xor CX, CX inc DX cmp DX, 479 jne c_1 popa ret FON ENDP ;===========Основная программа==================== start: mov ax,@DATA mov ds,ax xor ax,ax mov CX, 43960 ;Количество итераций цикла ;(определяет число витков). ;---------------------------------------------------------------------------------- mov ah,0h ;Инициализация графического mov al,12h ;режим 640 480. int 10h call FON ;Вызов процедуры закрашивания фона. ;-------Вывод строки Variant------------------------------------------------- pusha mov cx,17 mov bx,0 l3: mov al,Variant[bx] inc bx OutCharG bl, 02h, 03h, al ;Вызов макроса. loop l3 popa ;---------рисуем оси----------------------------------------------------------- AxleX ;Вызов макроса. AxleY ;Вызов макроса. ;------Вычисляем формулу x=round(fi*K*cos(fi))---------------------- finit ;Инициализация сопроцессора. l1: fld fi ;Загрузить угол fi в стек FPU. fcos ;Вычислить cos(fi). fld fi ;Загрузить угол fi в стек FPU. fmul K ;ST(0):=K*(ST(0)) fmul ;ST()):=(ST(0))*(ST(1)) frndint ;ST(0):=round(ST(0)) fistp word ptr xr ;Заносим X в переменную для вывода ;на экран ;------Вычисляем формулу y=round(fi*K*sin(fi))----------------------- fld fi fsin fld fi fmul K fmul fmul Y fmul frndint fistp word ptr yr ;Заносим Y в переменную для вывода ;на экран. call POINT ;---------Вычисляем новое значение угла fi----------------------------- ........................................ ........................................ ...............
0
|
||
| 23.11.2016, 03:05 | |
|
Помогаю со студенческими работами здесь
3
График функции y=x/cos(x) Как задается цвет в графическом 13h режиме? Нарисовать прямую линию красного цвета графический режим и windows 7 Графический режим -> возврат в текстовый. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|