最快的方法是:
var firstArray = Enumerable.Range(1, 10).ToArray(); // 1,2,3,4,5,6,7,8,9,10
var secondArray = Enumerable.Range(9, 3).ToArray(); // 9,10,11,12
var thirdArray = Enumerable.Range(2, 3).ToArray(); // 2,3,4,5
//add these arrays expected output would be 1,2,3,4,5,6,7,8,9,10,11,12
Run Code Online (Sandbox Code Playgroud)
是否有linq方式来做到这一点.我有一个巨大的数组列表要迭代.另一个例子
var firstArray = Enumerable.Range(1, 10).ToArray(); // 1,2,3,4,5,6,7,8,9,10
var secondArray = Enumerable.Range(12, 1).ToArray(); // 12,13
//add these arrays expected output would be 1,2,3,4,5,6,7,8,9,10,12,13
Run Code Online (Sandbox Code Playgroud)
注意:我更喜欢可以在日期范围内工作的函数.
喜.制作游戏并且正在寻找仅在3D空间中的正方形或矩形的光线交叉.有搜索网络,发现了很多解决方案,但我无法理解的是在2D中有线和线段交叉脚本,但我无法弄清楚必须使它成为3D.从它与正方形或矩形相交的一侧并不重要,但它必须能够反转交点矢量,以便以后可以测试距离se的距离,如果它发生在同一光线交叉点上的其他交叉点之前或之后.
将非常感谢python或其他类似脚本语言中的任何示例
编辑:不知道必须修改2D以显示一个exaple但新的和发布两者.
//this is the exaple it test a ray onto a plane then look to se if that point is in the rectangle and saves it to test for distanse later
list Faces; //triangle faces
list Points; //
vector FindPoint(){
//calcute the point of intersection onto the plane and returns it
//if it can intersect
//else return ZERO_VECTOR
}
integer point-in-quadrilateral(){
//return 1 if the point is in the rectangular on the plane
//else return 0
} …Run Code Online (Sandbox Code Playgroud) 我正在努力确定两个3D物体(三角形面)之间的关系(边界/内部交叉点)并且在形状上偶然发现,我感兴趣的是使用它而不是实现我自己的点/线段/光线/三角形交叉函数.
但是,我遇到了以下问题:
>>> from shapely.geometry import Polygon
>>> poly = Polygon([(0,1,1),(1,-1,1),(-1,-1,1)])
>>> poly2 = Polygon([(0,1,0),(1,-1,0),(-1,-1,0)])
>>> poly.intersects(poly2)
True
>>> poly.equals(poly2)
True
Run Code Online (Sandbox Code Playgroud)
我似乎遇到的问题是两个多边形在它们的2D正交投影中是相同的(相同的三角形),但是在不同的平面中(一个在Z = 1,另一个在Z = 0),但是形状正在说它们是平等和相交.
是否有一些魔法我缺少在三个维度上进行塑造思考?我一直在谷歌搜索,但到目前为止我看到的每个例子都只是在两个方面.
有一个字符串向量列表:
xx <- c("concord wanderer basic set air snug beige",
"concord wanderer basic set air snug black noir",
"concord wanderer basic set air snug blue bleu",
"concord wanderer basic set air snug brown marron",
"concord wanderer basic set air snug green vert",
"concord wanderer basic set air snug grey gris",
"concord wanderer basic set air snug red rouge",
"concord wanderer basic set air snug rose" )
Run Code Online (Sandbox Code Playgroud)
我试图在向量的元素之间获得最小的共享部分,例如,在这里我应该得到:
"concord wanderer basic set air snug"
Run Code Online (Sandbox Code Playgroud)
xx是前一个过程的结果,所以我确信元素之间存在共享部分.但被删除的部分并不总是在他的结尾.
使用strsplit和`table我得到这个部分解决方案,但它有点棘手,我放松了原始的单词顺序:
table_x …Run Code Online (Sandbox Code Playgroud) 我正试图在libGDX中制作一个简单的游戏.主精灵是潜艇,可以通过其中心原点(宽度/ 2,高度/ 2)旋转.
这个精灵是唯一一个会在我的游戏中旋转的精灵,也是唯一一个需要多边形的精灵,对于其余的精灵来说,矩形边界框就足够了.我需要创建一个多边形,所以我可以处理交叉点.多边形将是一个非常简单的多边形,只有8个顶点.
如果我知道精灵,旋转和原点的位置,我怎样才能得到多边形的顶点?
这张图片可以准确地解释我想要的东西:

我试图找到2个字符串之间的交集。我正在使用以下代码:
std::string a = "asd", b = "afd";
std::string intersect;
std::set_intersection(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(intersect));
Run Code Online (Sandbox Code Playgroud)
它编译成功,但是在运行该程序后,即时崩溃并显示以下错误:

有什么建议导致此问题吗?
我想要这个页面做什么
http://codepen.io/netsi1964/full/vNoemp/
我有路径,需要知道它的边界框是一个rect元素,它是给定代码的x,y,宽度和高度
<path d="M147.5 55.8c-5.8-7.2-13.6-14.4-25.5-14.4-8.4 0-15.4 8.2-27 8.2-9 0-13-7.8-23-7.8C51.4 41.8 31 60.4 31 84.5c0 12.8 4.2 32.5 13.6 49.7C51 146.7 59.4 155 69 155c6.7 0 14.7-6.3 24.2-6.3 8.4 0 16.2 5.6 23.8 5.6 18 0 35-23.5 35-39.3 0-.8-.3-1.4-.3-2v-1c-11.8-6.3-18.2-15.7-18.2-29.3 0-11 4.8-20.5 13.6-26.7l.5-.2zm-53-8.8c13.7-4.2 26.3-14.4 26.3-32 0-1.5-.2-3.3-.4-5.3l-.2-.8C106.4 12.6 94 23.4 94 40.3c0 1.6.2 3.6.6 5.8v.8z" style="translate(0px,-212.47488403320312px) scale(1,1)" >
Run Code Online (Sandbox Code Playgroud)
并了解rect属性
我想用intersection()钥匙或filter()火花来使用.
但我真的不知道如何使用intersection()密钥.
所以我尝试使用filter(),但它没有用.
示例 - 这是两个RDD:
data1 //RDD[(String, Int)] = Array(("a", 1), ("a", 2), ("b", 2), ("b", 3), ("c", 1))
data2 //RDD[(String, Int)] = Array(("a", 3), ("b", 5))
val data3 = data2.map{_._1}
data1.filter{_._1 == data3}.collect //Array[(String, Int] = Array()
Run Code Online (Sandbox Code Playgroud)
我希望得到一个(key,value)对,其密钥与data1基于密钥的密钥相同data2.
Array(("a", 1), ("a", 2), ("b", 2), ("b", 3)) 是我想要的结果.
是否有一种方法来解决这个问题使用intersection()键或filter()?
使用ES6 Set,给定两个数组,我们可以像这样得到交集:
let a = new Set([1,2,3])
let b = new Set([1,2,4])
let intersect = new Set([...a].filter(i => b.has(i)));
Run Code Online (Sandbox Code Playgroud)
我们怎样才能获得n数组的交集?
更新:
我试图围绕这个用于以下用例.我有一个至少有一个元素的二维数组.
parts.forEach(part => {
intersection = new Set()
})
Run Code Online (Sandbox Code Playgroud)
你如何获得每个元素(数组)的交集parts?