草庐IT

3D凸包算法

全部标签

Python:在不使用GroupBy的情况下,在3D Numpy数组中找到连续值?

说您有以下3Dnumpy数组:matrices=numpy.array([[[1,0,0],#Level0[1,1,1],[0,1,1]],[[0,1,0],#Level1[1,1,0],[0,0,0]],[[0,0,1],#Level2[0,1,1],[1,0,1]]])并且您想计算每个单元格的连续值1的次数。假设您要计算每个单元格的2和3连续值的出现数量。结果应该是这样的:two_cons=([[0,0,0],[1,1,0],[0,0,0]])three_cons=([[0,0,0],[0,1,0],[0,0,0]])这意味着两个单元格至少连续2个值为1,并且只有一个连续3个值。我知道这可

c# - 使用 C# 从 Unity3D 中的输入字段获取文本

我正在尝试使用C#在Unity3D中的inputField中获取文本。我在我的编辑器中放置了一个inputField,重命名并标记为:Username_field。我的问题是:如何在C#脚本中获取InputFieldUsername_field中的文本? 最佳答案 将以下monobehaviour脚本附加到您的InputField游戏对象:publicclasstest:MonoBehaviour{voidStart(){varinput=gameObject.GetComponent();varse=newInputField.S

c# - 使用具有模糊容忍算法的笔划作为加密 key

如何使用模糊容错来加密/解密?我希望能够使用InkCanvas上的Stroke作为我加密的key,但是当再次解密时,用户不必绘制完全相同的符号,只是相似。这可以在.NETC#中完成吗?---更新(9月9日)---我理想中想要的是一种加密算法,它可以接受基于某些基本key和定义允许差异的函数的特定key范围内的任何key..我在本地进行所有加密/解密,因此我不需要安全地通过线路发送任何内容。而且我不想存储用于加密的key,所以我没有任何可比较的东西。我可以想出一些方法来为每个相似的笔画生成相同的键,但如果想要接受任何类型的符号(不仅是字母),这并不容易。另一种选择是加密key是否可以通过

c# - Unity3d 5 WavePro 动态网格碰撞器

我正在使用Water4Advance在Unity3d5.0中模拟海浪。我用GerstnerDisplace在Runtime中置换了我的飞机。我看到网格是如何变形的,我向它添加了一个MeshCollider,我想在运行时刷新这个碰撞器网格。我使用这个脚本在Unity4.6上工作:MeshCollidercollider=GetComponent();Meshmesh=GetComponent().mesh;collider.sharedMesh=null;collider.sharedMesh=mesh;但现在我只得到了扁平的原始飞机预制件。如何使用置换后的网格更新此MeshCollid

c# - 通过代码从图像中裁剪空边框的简单算法?

目前我正在C#/.NET中寻找一种相当快速且相当准确的算法来在代码中执行这些步骤:将图像加载到内存中。从位置(0,0)的颜色开始,找到未被占用的空间。剪掉这个不必要的空间。我已经说明了我想要实现的目标:我能想到的是获取(0,0)处像素的颜色,然后执行一些unsafe逐行/逐列遍历所有像素,直到我用另一种颜色遇到一个像素,然后切掉边框。我只是担心这真的很慢。所以我的问题是:您是否知道任何快速算法(最好没有任何第3方库)从内存图像/位图中删除“空”边框?旁注:算法应该“合理准确”,而不是100%准确。一些容差,例如裁剪过多或过少的一行都可以。补充1:我刚刚以最简单的方式实现了我的蛮力算法。

c# - 比较两个列表并找到这两个列表之间的增量的最有效模式/算法是什么?

我们有两个列表,比如说学生和他们的分数。我想比较这两个列表并找到新列表和旧列表之间的增量,然后找到侵入性最小的方式将任何更改插入或更新到新列表中。解决这个问题的最佳算法是什么?希望专注于对新列表和性能进行最少的更改。示例代码:ListexistingList=newList();ListnewList=newList();publicTopLists(){InitTwoLists();}privatevoidInitTwoLists(){existingList.Add(newListItem{Name="Shane",Score=100});existingList.Add(newL

c# - 为什么我的字节在加密算法的这个 C# 端口的第四轮不同?

我正在尝试将C++代码移植到C#并且在大多数情况下它都可以正常工作,但仅适用于循环的前3轮。在第四轮,输入block的字节开始不同,我不明白为什么。如果我们假设C++版本是正确的实现,为什么C#代码在第四轮给出不同的结果。下面是我的结果和代码(C++/CLR和C#的控制台应用程序)我认为输入block在传递给AES之前在每一轮中创建的方式有所不同(在C++中,有一种方法可以转换为基数256,to_base_256和from_base_256)但在C#中,我将基本256字节数组直接转换为BigInteger,然后再转换回字节数组。我只是不知道为什么每个人都会在前3轮中产生相同的输入blo

c# - 在字符串中查找关键字和关键短语的算法

我需要有关如何编写算法以在字符串中查找关键字或关键短语的建议或指导。字符串包含:以英语(GB)编写的技术信息单词之间大多用空格隔开关键字不包含空格,但可以包含连字符、撇号、冒号等。关键词可以包含空格、逗号或其他标点符号如果两个或多个关键字一起出现,那么它很可能是一个关键短语,例如“变频驱动”文本还包含HTML,但如有必要,可以事先将其删除非关键字可以是“and”、“the”、“we”、“see”、“look”等词。关键字不区分大小写,例如“逆变器”和“逆变器”是同一个关键字算法有如下要求:在批处理场景中操作,例如每天跑一次或两次处理长度从大约200到7000个字符不等的字符串在不到1小

c# - 锦标赛分组算法(NCAA 等)

我正在尝试在我的程序中实现一个括号(使用C#/.NETMVC),但我一直在尝试找出一些算法。例如,我有一个这样的括号,其中包含8个条目(A、B、C、D、E、F、G、H)我想弄清楚是否有一种算法方法可以根据条目数,找出条目数每轮比赛根据条目数,对于具体游戏#,是什么下一个对应的游戏#圆?例如,在这种情况下,对于8个条目,示例是:第一轮有4场比赛。第二轮,2场比赛。第3轮,1场比赛第1轮的第2场比赛对应第2轮的第5场比赛。我也考虑过将这些信息存储在一个表中,但它似乎有点过分了,因为它永远不会改变,但无论如何它就在这里:任何帮助将不胜感激!干杯,院长 最佳答案

c# - 在 C# : where to start? 中解析骰子表达式(例如 3d6+5)

所以我希望能够在C#中解析和计算“骰子表达式”。骰子表达式定义如下::=+|-|[]d(|%)|:=positiveinteger例如d6+20-2d3将被允许,并且应该评估为rand.Next(1,7)+20-(rand.Next(1,4)+rand.Next(1,4))另外d%应该等同于d100。我知道我可以拼凑出一些解决方案,但我也知道这似乎是一个非常典型的计算机科学类型的问题,因此我应该研究一些super优雅的解决方案。我希望我的解析结果具有以下功能:我应该能够输出表达式的规范化形式;我首先考虑骰子,按骰子大小排序,并且总是带有前缀。所以例如上面的示例将变为1d6-2d3+20