Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用大于/小于-python 3将一个列表与其他两个列表进行比较。我该怎么做?_Python 3.x_Pygame - Fatal编程技术网

Python 3.x 使用大于/小于-python 3将一个列表与其他两个列表进行比较。我该怎么做?

Python 3.x 使用大于/小于-python 3将一个列表与其他两个列表进行比较。我该怎么做?,python-3.x,pygame,Python 3.x,Pygame,我不知道如何处理这个问题,我有两个列表描述了3D空间中的两个点(立方体形状)(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 = li

我不知道如何处理这个问题,我有两个列表描述了3D空间中的两个点(立方体形状)(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

好的,你的代码看起来与主题无关,如果我错了,请纠正我。我知道当你从z看的时候,你有一个四边形的2角,你的右边是正的x“左下后”作为p1,“右上前”作为p2在笛卡尔坐标系中,像{p1(x,y,z),p2(x1,y1,z1)},你想检查p3是否在四边形中。如果p3大于p1且小于p2,则可以检查x y z平面:

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]
def ifcovers(p1、p2、p3):

返回p1[0]您的意思是测试点3是否在点1和点2之间。三个点与大小为A、B、C的边创建三角形。如果A+B=C或A+C=B或B+C=A,则点位于一条线上。使用你可以计算A,B,C.@furas-不一定测试是否介于两者之间,但在点1和点2形成的立方体中。两个点不能形成立方体-它们只能形成直线。你需要8点才能得到立方体。若立方体是旋转的,那个么检查立方体内部的点可能是个问题。最后,使用两个点可以创建不旋转的立方体,然后测试
x1
y1
z1
(如果
x1
y1
z1
)更短的
返回值(p1[0]这是一个很好的答案,但它依赖于
p1
p2
是“左上前方”和“右下后方”(假设进入屏幕的Z深度)。正如@furas对OP的评论,您可能需要一个更强大的3D框定义,或者至少要小心管理您的点排序。@Jacobleleley您到底在做什么,兄弟?我可以看看您的代码:DD:D吗