Форум программистов, компьютерный форум, киберфорум
Hrethgir
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Всё-же опыт написания первого движка - полезен.

Запись от Hrethgir размещена 19.07.2023 в 22:17
Показов 1032 Комментарии 0

Это всё тот же движок генератора карт трассировок - такая хитрая вещь с лайфхаком, заблудившая, итак заблудившийся с помощью других не к тому ТЗ , алгоритм Брезенхема. Я им сразу говорил - в текущем ТЗ алгоритм Брезенхема заблудится в горах знаний (люди немного перечитали книг и возомнили себя знающими всё - наверное такое бывает...если не агностик). Разница в эффективности будет не заметна, только на генерируемой карте размером в один пиксел, ну это языком сухой статистики, на самом деле думаю что картам нужно набрать какой то размер, чтобы разница стала ощутимой, так как свой движок я пишу используя очень мало ресурсов от собственных - такова жизнь.

Всё-же второй раз в этом движке я не стану применять математику для замены логических операторов. Я использовал её как костыль, потому что без неё структура проверки условий выглядела как-то сумбурно, тем более что вычислялась принадлежность определённой точки-шага, в цикле шагов, (один их которых может иметь, а может и не иметь изменённый размер) к интервалу являющемуся одним из параметров вычисления.

Само устройство движка показывает на то, что усложнять всё далее математикой - не целесообразно.
Будут написаны две изменённые формулы, одна из которых сложная - вычисляющая последнюю строку, и одна простая - вычиляющая столбец, причём вычисляющая столбец изменённая - разместится внизу

[PASCAL] var
Edge, logic, p, BSP, ESP, MSP: pointer;
y, x, TracerX, TracerY, steps, stepRare,
y1, x1, stepFrequent, stepsBig: integer;
x1Inc,xInc__Doubl: integer;
px1, py1,px, py: ^integer;
pTracerX,pTracerY: ^integer;
Biger, xRazmerX, yRazmerY,
bigStep, runTime, steps1: integer;
CaTanDeg, TanDeg: extended;
StringDiv, StringDiv1: extended;
znak: integer;
label
p1, p2, p3, p4;
label
logic1, logic2, logic3, logic4;
label
Edge1, Edge2, Edge3, Edge4;
label
BSP1, BSP2;
label
MSP1,MSP2;
label
ESP1,ESP2; [/PASCAL]
метки [B][I]BSP1[/I][/B] и [B][I]BSP2[/I][/B] включатель простой формулы столбца вверху, где область меток [B][I]logic1, logic2, logic3, logic4[/I][/B].
Метки [B][I]MSP1,MSP2[/I][/B] - будут указывать на нужную сложную формулу вычисления последней строки: изменённую или неизменённую
В области меток [B][I] Edge1, Edge2, Edge3, Edge4[/I][/B].
.
Метки [B][I]ESP1,ESP2[/I][/B] - включатель модифицированной формулы внизу, там пока что нет области меток для формулы.

Это самый простой способ и с математикой перебирать будет не правильно. Хотя может это из-за устройства движка - модифицированная формула столбца должна находится совсем в другой позиции в вложенных циклах.
Ну и проект тут
[url]https://github.com/Andrei-Y/A-trace-map-generator/blob/main/generator_0-90_deg3.zip[/url]
, если кому интересно, [B][I]правда я не залил пока почищенный от лишних переменных и прочего проект[/I][/B], и пока до 90 градусов от 0. Сейчас заканчиваю - дорабатываю до 180.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru