小编Bru*_*btu的帖子

分离轴定理和Python

这就是我目前正在做的事情:

创建垂直于2个矩形的4个边的4轴.由于它们是矩形,因此我不需要为每条边生成轴(法线).

然后我循环我的4轴.

因此,对于每个轴:我将矩形的每个角投影到轴上.有两个包含这些投影的列表(数组).每个矩形一个.然后我得到每个投影和轴的点积.这将返回一个标量值,可用于确定最小值和最大值.

现在,2个列表包含标量而不是向量.我对列表进行排序,以便我可以轻松选择最小值和最大值.如果框B的最小值=框A的最大值或框B的最大值<=框A的最小值,则该轴上没有碰撞且对象之间没有碰撞.

此时函数完成并且循环中断.

如果所有轴都没有满足这些条件,那么我们就会发生碰撞

我希望这是正确的做法.

python代码本身可以在这里找到http://pastebin.com/vNFP3mAb

另外:http: //www.gamedev.net/page/reference/index.html/_/reference/programming/game-programming/collision-detection/2d-rotated-rectangle-collision-r2604

我遇到的问题是上面的代码不起作用.即使没有碰撞,它也始终检测到碰撞.我输入的内容正是代码所做的.如果我遗漏任何步骤或者只是不了解SAT如何运作,请告诉我.

python math pygame physics

4
推荐指数
1
解决办法
2085
查看次数

Django syncdb错误

我在已安装的应用程序中有django.contrib.auth,大约10分钟前一切正常.我删除了现有的数据库,因为我遇到了南迁移的问题.当我尝试重建它时,我收到一个错误.

错误: django.db.utils.DatabaseError:没有这样的表:auth_user

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 219, in execute
    self.validate()
  File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/lib/python2.7/site-packages/django/core/management/validation.py", line 35, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/lib/python2.7/site-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()
  File "/usr/lib/python2.7/site-packages/django/db/models/loading.py", line 61, in _populate
    self.load_app(app_name, True) …
Run Code Online (Sandbox Code Playgroud)

python django syncdb

2
推荐指数
1
解决办法
4799
查看次数

标签 统计

python ×2

django ×1

math ×1

physics ×1

pygame ×1

syncdb ×1