javascript - 不要让一个方格超出第二个方格

标签 javascript rotation geometry draggable square

我有 2 个方格和所有位置 对于旋转的正方形

sq1.x1y1
sq1.x2y2
sq1.x3y3
sq1.x4y4 
sq1.maxX
sq1.minX
sq1.maxY
sq1.minY
sq1.rotatedAngl
sq1.cX
sq1.cY

旋转前的所有位置

第二个方 block

sq2.x1y1
sq2.x2y2
sq2.x3y3
sq2.x4y4 
sq2.maxX
sq2.minX
sq2.maxY
sq2.minY
sq2.cX
sq2.cY

这是我的方 block

enter image description here

拖动方 block 1后停止

enter image description here

旋转45度后

enter image description here

拖动方 block 1后

enter image description here

当 Angular 方 2 与方格 1 相交时,我想停止拖动

最佳答案

你有每个 Angular 落的坐标。您可以通过两个 Angular 来定义线段。 您可以获得从一个 Angular (要拖动的正方形)到另一个正方形的线段的距离。

距离公式及其符号可以为here

您可以比较正方形两条平行边的符号。如果两者都在“左边”或都在“右边”,则该点位于正方形之外。

关于javascript - 不要让一个方格超出第二个方格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56565151/

相关文章:

javascript - NodeJS path.resolve 无法按预期工作

javascript - Aurelia 组件绑定(bind)

ios - 尝试在触摸开始时向上旋转小鸟,并在触摸结束时向下旋转(SceneKit)

ios - 设备旋转后更新 View

php - 使用 FFmpeg 进行视频旋转

Java文档图像缩放和旋转

swift - 我无法用弧线填充 Swift 4

javascript - nodejs mongoose 删除命中错误 : Can't set headers after they are sent

math - 点到椭圆弧的最短距离算法

javascript - 在不迭代的情况下获取具有一个类但不具有另一个类的元素