我正在实现Voronoi图,以便在视觉上找出地图中最近的位置.现在我想只在画布中使用整数坐标(x,y)来做这个.
问题是 - 我对这个算法感到很困惑.我阅读了计算几何书,关于财富算法的更多理论.我现在真的很困惑.当我要编码时,对我来说似乎非常复杂.
请建议我非常简单地实现voronoi图(使用给定的坐标).请建议我简单的java或python或方案代码,最好没有哈希,多线程,Delaunay Traingulation,花哨的颜色等.
如果没有多线程或哈希映射,是不是可以使用Fortune算法实现Voronoi图?
我在SQL Server 2000中有一个表,我试图以特定的方式查询.显示此信息的最佳方式是使用示例数据.
看,[Addresses]
:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Bob 234 Other Street Fargo ND
Jim 345 Main Street St Louis MO
Run Code Online (Sandbox Code Playgroud)
这实际上是实际表结构的简化示例.桌子的结构完全超出了我的控制范围.我需要一个查询,每个名称将返回一个地址.哪个地址无关紧要,只有一个地址.结果可能是这样的:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Jim 345 Main Street St Louis MO
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一个类似的问题,但是由于我没有访问权限CROSS APPLY
,所以在我的情况下没有给出任何解决方案,并且调用MIN()
每个列会将不同的地址混合在一起,虽然我不关心返回哪个记录,但它必须是一个完整的行,而不是不同行的混合.
改变表结构的建议对我没有帮助.我同意这个表很糟糕(这比这里显示的更糟)但这是我无法改变的主要ERP数据库的一部分.
此表中有大约3000条记录.没有主键.
有任何想法吗?
我试图找出一种在Ruby on Rails中对UTF-8字符串进行排序的"正确"方法.
在我的应用程序中,我有一个填充了国家/地区的选择框.由于我的应用程序已本地化,因此每个现有语言环境都有一个countries.yml文件,该文件将国家/地区的ID与该国家/地区的本地化名称相关联.我无法在yml文件中手动对字符串进行排序,因为我需要ID在所有语言环境中保持一致.
我所做的是创建一个ascii_name
方法,使用unidecode
gem将重音和非拉丁字符转换为它们的ascii等价物(例如,"Afeganistão"将成为"Afeganistao"),然后排序:
require 'unidecode'
class Country
def ascii_name
Unidecoder.decode(name).gsub("[?]", "").gsub(/`/, "'").strip
end
end
Country.all.sort_by(:&ascii_name)
Run Code Online (Sandbox Code Playgroud)
但是,这有明显的问题:
有没有人知道我可以对弦进行排序的更好方法?
以下代码刚刚组成,这可能与C#有关吗?
class A
{
public int DoStuff()
{
return 0;
}
}
class B
{
public string DoStuff()
{
return "";
}
}
class MyMagicGenericContainer<T> where T : A, B
{
//Below is the magic <------------------------------------------------
automaticlyDetectedReturnTypeOfEitherAOrB GetStuff(T theObject)
{
return theObject.DoStuff();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用a IList<T>
作为参数的方法.我需要检查该T
对象的类型是什么,并根据它做一些事情.我试图使用该T
值,但编译器不允许它.我的解决方案如下:
private static string BuildClause<T>(IList<T> clause)
{
if (clause.Count > 0)
{
if (clause[0] is int || clause[0] is decimal)
{
//do something
}
else if (clause[0] is String)
{
//do something else
}
else if (...) //etc for all the types
else
{
throw new ApplicationException("Invalid type");
}
}
}
Run Code Online (Sandbox Code Playgroud)
必须有更好的方法来做到这一点.有什么方法可以检查T
传入的类型然后使用switch
语句?
我只是想知道如果你做了这样的事情会有任何速度或效率的损失:
int i = 0;
while(i < 100)
{
int var = 4;
i++;
}
Run Code Online (Sandbox Code Playgroud)
宣告int var
一百次.在我看来会有,但我不确定.这样做会更实际/更快:
int i = 0;
int var;
while(i < 100)
{
var = 4;
i++;
}
Run Code Online (Sandbox Code Playgroud)
或者它们是相同的,速度和效率方面的?
MVVM应该用于WinForms吗?如果是这样,使用MVP的优势是什么?
C#:如何在虚拟模式下有效过滤(隐藏)ListView 项目?
我正在寻找一种在虚拟模式下过滤(隐藏/显示)ListView 中的项目的方法。我将我的项目缓存在列表视图项目数组中,如何有效地使其在按下过滤按钮时仅显示特定的列表视图项目,然后在按下非过滤按钮时将所有项目返回?
我希望能够在服务的安装中传递参数.我修改了从Installer继承的类的C#代码...我的问题是InstallUtil.exe不能用于参数(我不知道).
有什么建议吗?
有没有办法在不使用Javascript的情况下将焦点设置在特定的HTML输入(实际上是textarea控件)?
编辑:可以在HTML5中,但问题是关于HTML <5