标签: intersection

Ray-Capsule交叉口

我有两点定义的胶囊AB和半径r.光线由等式定义:X = O + D*t.现在我需要获得t所有(0-2)交叉点.

一个可能的解决方案将是,以计算与球体相交AB和交叉点与汽缸.然后因为胶囊是凸的,我只需要取所有结果t值的最小值和最大值.

但正如维基百科所述,胶囊相交测试应该比圆柱相交测试更简单.有人能指出我有效的胶囊射线交叉算法吗?

algorithm math geometry intersection

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

初学者python设置交叉错误

rare = (["word1","word4","word5"])
freq = (["word1","word2","word3"])
unique = rare.intersection(freq)
print unique
Run Code Online (Sandbox Code Playgroud)

错误:AttributeError:'list'对象没有属性'intersection'

我没有正确创建套装吗?它们看起来像文档中的示例 - 但我似乎无法对它们使用常规的set方法.

如果这些是列表,创建集合的正确语法是什么?

python intersection list set

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

检查两个 Path2D 之间的交集

我的游戏中有两个 Path2D 对象,一个用于玩家,另一个用于其中一位 Boss 拥有的触手。我需要使用 Path2D,因为我希望绑定与玩家/触手一起旋转,这样如果你站在它旁边 5 个像素的地方就不会被它击中。问题是我无法使用,playerPath.intersects(tentaclPath)因为 Path2D 只能检查与矩形的交集,这是一个问题,因为它违背了在我的游戏中使用 Path2D 的目的。我如何能够检查它们是否相交而不将其中一条路径转移到矩形?

java intersection path collision-detection bounds

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

AS3无法理解矩形交点

我正在尝试使用Rectangle.intersection为我提供2个重叠形状的交叉区域的矩形,但没有取得多大成功.

下面的代码只是两个相同大小的形状.最顶级的形状是可拖动的.当拖动停止时,我执行bottomRect.intersection(topRect)调用,但这总是返回rect的完整大小,而不是交集大小.

(可以将代码复制并粘贴到第一帧的新ActionScript文件中并运行.)

有谁知道我哪里出错了?

谢谢

import flash.geom.Rectangle;
import flash.display.Sprite;

var bottomSprite:Sprite = new Sprite();
addChild(bottomSprite);

var bottomRect:Shape = new Shape;
bottomRect.graphics.beginFill(0xFF0000);
bottomRect.graphics.drawRect(0, 0, 320,480);
bottomRect.graphics.endFill();
bottomSprite.addChild(bottomRect);

var topSprite:Sprite = new Sprite();
addChild(topSprite);

var topRect:Shape = new Shape;
topRect.graphics.beginFill(0x000033);
topRect.graphics.drawRect(0, 0, 320,480);
topRect.graphics.endFill();
topSprite.addChild(topRect);

var bottomBoundsRect:Rectangle = stage.getBounds(bottomSprite);
trace("START: bottomBoundsRect ", bottomBoundsRect);

var topBoundsRect:Rectangle = stage.getBounds(topSprite);
trace("START: topBoundsRect ", topBoundsRect);

topSprite.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
topSprite.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);

function mouseDownHandler(evt:MouseEvent):void{

topSprite.startDrag();

}


function mouseUpHandler(evt:MouseEvent):void{

topSprite.stopDrag();

topBoundsRect = stage.getBounds(topSprite);

trace("INTERSECTION RECT", bottomBoundsRect.intersection(topBoundsRect));

}
Run Code Online (Sandbox Code Playgroud)

air flash intersection actionscript-3

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

python中包含对象类型的两个列表的交集

如何在Python中找到包含浮点值元组的两个列表的交集?例如:

A = [(1.1,2.2),(3.3,4.4),(5.5,6.6)]
B = [(1.1,2.2),(7.7,8.8),(3.3,4.4)]
Run Code Online (Sandbox Code Playgroud)

我需要

A intersection B = [(1.1,2.2),(3.3,4.4)]
Run Code Online (Sandbox Code Playgroud)

更新:

我的错。感谢您的回复,但我的理解存在误解。

问题应该是

例如:

A = [Point(1.1,2.2),Point(3.3,4.4),Point(5.5,6.6)]
B = [Point(1.1,2.2),Point(7.7,8.8),Point(3.3,4.4)]
Run Code Online (Sandbox Code Playgroud)

我需要

A intersection B = [Point(1.1,2.2),Point(3.3,4.4)]
Run Code Online (Sandbox Code Playgroud)

其中 Point 是我的 python 类,包含两个浮点变量,如图所示

class Point:
    def __init__(self, a_, b_):
        self.a = a_
        self.b = b_
Run Code Online (Sandbox Code Playgroud)

python tuples intersection list

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

R-定位两条曲线的交点

在此论坛中,有很多关于在拟合模型和某些原始数据之间找到交点的问题。但是,就我而言,我处于早期阶段,我仍在评估数据。

首先,我创建了一个数据框,其中包含一个理想值应为1.0的比率值。我已经绘制了数据框,还使用abline()函数在绘制了一条水平线y=1.0。该水平线和比率图在某个点相交。

plot(a$TIME.STAMP, a$PROCESS.RATIO,
     xlab='Time (5s)',
     ylab='Process ratio',
     col='darkolivegreen',
     type='l')
abline(h=1.0,col='red')
Run Code Online (Sandbox Code Playgroud)

我的目标是定位交点,说x和在绘制两条垂直线x±k,如abline(v=x-k)abline(v=x+k)其中,k是公差某些频带。

在图上应用网格并不是真正的选择,因为该图将成为多面板图的一部分。而且,由于比率数据的布局非常紧密,因此该图不会太可读。最后,这x±k在我与领域专家的讨论中将非常有价值。

您能指导我如何实现这一目标吗?

plot intersection r

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

ggplot2 中的交点

我需要找到我绘制的两条曲线之间的交点ggplot2

这是我的代码:

ggplot(Table1, aes(x=10^H4,y=10^H5, colour = "blabla")) + 
  geom_line(size=1)  + coord_cartesian(xlim=c(100,1000000000))+
 coord_cartesian(ylim=c(0.000000000001,1)) +  xlab("blabla")+
 ylab("blabla")  + ggtitle("blabla")+
scale_y_log10(breaks=c(0.000000000001, 0.000000001, 0.000001, 0.001)
, labels = trans_format("log10", math_format(10^.x)))+
 scale_x_log10(breaks=c(100,1000,10000,100000,1000000,10000000,100000000,1000000000)   
 , labels = trans_format("log10", math_format(10^.x))) + 
  geom_line(data=Table1,aes(10^H4,10^H6, colour = "blabla1"))+ 
  scale_color_manual("", values =c("blabla"="blue", "blabla1" = "red")
, labels=c("blabla","blabla1"))
Run Code Online (Sandbox Code Playgroud)

我尝试过使用它locator(),它很有用,但并不像我期望的那样精确:

所需点

所需点位为 24600。

我也尝试使用intercept(x,y)

a <- 10^A5
b <- 10^A6
intercept(a,b)
3.689776e-07 1.963360e-07 6.622165e-07
Run Code Online (Sandbox Code Playgroud)

事实并非如此,我认为它可能没有考虑到这是对数尺度的事实。

我的数据:

structure(list(H4 = c(2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 
2.9, …
Run Code Online (Sandbox Code Playgroud)

curve intersection r ggplot2

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

在 Python 中查找嵌套列表的交集?

def query_RR(postings, qtext): 
words = tokenize(qtext) 
allpostings = [postings[w] for w in words]
for a in allpostings: 
print a.keys()
Run Code Online (Sandbox Code Playgroud)

这是查询的结果 [0, 2, 3, 4, 6] [1, 4, 5] [0, 2, 4] [4, 5]

该查询采用用户输入的术语 ('qtext'),对每个标记进行标记化并生成发布列表。

发布列表是嵌套字典的列表(例如 [{0 : 0.68426, 1: 0.26423}, {2: 0.6842332, 0: 0.9823}]。我正在尝试使用键找到这些嵌套字典的交集

python intersection list

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

MongoDb 使用过滤器来匹配列表

我有一个清单BsonDocument

   var list = db.GetCollection<BsonDocument>(collectionName); 
   var myIds = list.Find(_ => true)
    .Project(Builders<BsonDocument>.Projection.Include("_id"))
    .ToList();
Run Code Online (Sandbox Code Playgroud)

其中包含:

myIds = "{ 
{ "_id" : "cc9d9282-c9d2-4cba-a776-ffddsds274d5" },  
{ "_id" : "2c1ddd82-c9d2-4dda-afr6-d79ff1274d56" },  
{ "_id" : "ss969281-c9d2-4cba-a776-d79ffds274d5" }  
}"
Run Code Online (Sandbox Code Playgroud)

并想这样查询:

var deleted =list.DeleteMany(Builders<MessageExchange>.Filter.In("_id", myIds));
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法:

var filter = new BsonDocument("_id", new BsonDocument("$in", new BsonArray(myIds)));
var deleted = list.DeleteMany(filter);
Run Code Online (Sandbox Code Playgroud)

返回属性DeletedCount = 0 有人能指出过滤器似乎有什么问题吗?

c# intersection mongodb mongodb-.net-driver

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

如何计算QPolygon面积

我试图获得蓝色和绿色 QPolygon 的交集,以及它构成蓝色 QPolygon 的百分比(见下图)。

在此处输入图片说明

我创建的多边形如下:

import PyQt5
from PyQt5 import QtWidgets,QtGui,QtCore

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

import sys, math


class MyWidget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.pen1 = QtGui.QPen(QtGui.QColor(20,0,250))                      # set lineColor
        self.pen = QtGui.QPen(QtGui.QColor(0,0,0))                      # set lineColor
        self.pen2 = QtGui.QPen(QtGui.QColor(0,250,0))                      # set lineColor

        self.pen.setWidth(3)                                            # set lineWidth
        self.brush = QtGui.QBrush(QtGui.QColor(255,255,255,10))        # set fillColor
        
        coords = [PyQt5.QtCore.QPointF(640.0, 334.0), PyQt5.QtCore.QPointF(626.0, 462.0), PyQt5.QtCore.QPointF(782.0, 509.0), PyQt5.QtCore.QPointF(807.0, 373.0), PyQt5.QtCore.QPointF(807.0, 333.0)]
        greenpolygoncoords = [PyQt5.QtCore.QPointF(698.0, 373.0), PyQt5.QtCore.QPointF(690.0, 433.0), …
Run Code Online (Sandbox Code Playgroud)

python geometry intersection qpolygon pyqt5

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