Здесь я снова прохожу циклом по всем точкам и формирую из них на каждом шаге по два треугольника, составляющие трапецию. С пятьдесят первой по шестьдесят первую строку я извлекаю из массива две соседние линии. Для удобства сохраняю координаты линий в отдельные переменные ax1, ay1, ax2, ay2, bx1, by1, bx2, by2 . По текущему индексу i я получаю первую линию, а по индексу i+1 — следующую. Обратите внимание на конструкцию в строке пятьдесят два: % — это оператор "modulo" или "mod", который возвращает остаток от деления. Почему эта конструкция используется? В последней итерации цикла i+1 выйдет за пределы длины массива, что вызвало бы ошибку. Но оператор modulo возвращает 0 в этом случае, и ошибки не происходит. Это даёт первую линию из массива, которая как раз нужна для последнего значения. Раньше я не использовал эту конструкцию и прибегал к дополнительным условиям или другим решениям, что усложняло код и его чтение.
Не особо понятно для кого эта статья
Для тех кто в теме разбирается - она бесполезна
Для тех кто не разбирается - "ну надо сделать так и так потому что ну так надо, код скопируете"
Ну и практичность такого метода для построения трассы как сказал комментатор выше и правда спорная
Уф. Посмотрел прошлую часть серии статей, там же расчёт на новичьков идёт, не?
Любой новичьек в осадок выпадет после стены кода что ты вывалил
Собственно большая часть проблемы это такие "гайды" где учат не программировать и понимать что вообще происходит, а копировать код и подкручивать рандомные переменные пока не заработает в твоём случае
Я когда-то не понимал как сделать прямой объект кривым с помощью кривой. Эта статья для тех кто тоже не понимает как это сделать.
Сам делал то же самое на UE. Чтобы по трассе было интересно ехать, она должна строиться иначе. Грубо говоря, нужно сначала построить произвольную ломаную кривую, а затем сгладить каждый угол с помощью куска окружности произвольного радиуса. Так строятся реальные дороги и гоночные трассы.