Сравнение списка с двумя другими списками с большим / меньшим - python 3. Как мне это сделать? - PullRequest
2 голосов
/ 01 мая 2019

Я не уверен, как подойти к этому, у меня есть два списка, которые описывают две точки в трехмерном пространстве (форма куба) (x1, y1, z1) и (x2, y2, z2), и я хочу проверить, если точка в пределах этих двух указанных точек (x3, y3, z3). Как бы я подошел к этому? Я относительно новичок в Python, и было бы желательно самое простое решение: P.

     for bullet in b.bulletlist:  # declaires two points for each bullet in the list of bullets
            pos_bullettip = list(
                map(lambda x: (x[0] + 0.25, x[1] + 0.25, x[2] + 0.25), bullet[0]))
            neg_bullettip = list(
                map(lambda x: (x[0] - 0.25, x[1] - 0.25, x[2] - 0.25), bullet[0]))
            for enemy in e.enemylist:  # Declaires the point that will be tested for, enemy point in this case
                enemypoint = enemy[1]
                # not sure what to here

1 Ответ

1 голос
/ 01 мая 2019

хорошо, ваш код выглядит не по теме, и если я ошибаюсь, поправьте меня. я понимаю, что у вас есть угол 2 четырехугольника, когда вы смотрите из z, и ваше правое положительное х "нижний левый-задний" как p1, "верхний правый-передний" как p2 в декартовой системе координат, как {p1 (x, y , z), p2 (x1, y1, z1)}, и вы хотите проверить, есть ли p3 в четырехугольнике. Вы можете проверить плоскости x y z, если p3 больше p1 и меньше p2:

def ifcovers(p1,p2,p3):
    return p1[0]<=p3[0]<=p2[0] and p1[1]<=p3[1]<=p2[1] and p1[2]<=p3[2]<=p2[2]

редактировать: thnx furas :) edit1: Thhx Кингсли, черт побери, это сложно, братан: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...