Как получить список всех точек на линии в Pygame
У меня есть программа, которая генерирует игровую доску в Pygame. Он рисует фон, затем случайным образом назначает квадраты начала и конца, а затем случайным образом размещает три квадрата между ними. Мне нужно заполнить пространство между пятью помещенными квадратами другими квадратами на линии. Как бы я поступил так? Мне нужна длина линии и список точек на линии, чтобы правильно разместить квадраты. Спасибо адам
1 ответ
Я не знаю, как использовать Pygame, который позволил бы вам сделать это. Вместо этого вам придется использовать простую старомодную алгебру.
Вы будете использовать уравнение линии, на которой расположены квадраты. Ax, Ay, Bx и By будут представлять координаты различных квадратов. Все, что вам нужно сделать, это получить координату Y для введенной координаты X с помощью y=(Ay-By)/(Ax-Bx)*(x-Ax)+Ay
или получить координату x для введенной координаты y, используя x=(Ay-By)/(Ax-Bx)*(x-Ay)+Ax
, Вам придется выяснить, какие координаты y или x вводить вручную.
Чтобы найти расстояние между квадратами, просто используйте формулу расстояния: math.sqrt((Ax-Bx)**2+(Ay-By)**2)