的k均值++算法有助于以下两个原始K-means算法的要点:
但是k-means ++有什么缺点吗?从现在开始我们应该总是使用它而不是k-means吗?
(gdb) bt
#0 0x302ac924 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ ()
#1 0x92077e3b in objc_exception_throw ()
#2 0x302d6ffb in -[NSObject doesNotRecognizeSelector:] ()
#3 0x3026e056 in ___forwarding___ ()
#4 0x3024a0a2 in __forwarding_prep_0___ ()
#5 0x00004ae9 in -[GameObject doesTouch:] (self=0xe893a0, _cmd=0x643ee, obj=0xe82e20) at /Users/aaa/Desktop/CPT/Game/Classes/GameObject.m:220
#6 0x00006e05 in -[StaticGrid checkTouchNearest:] (self=0xe82f20, _cmd=0x64ec3, obj=0xe893a0) at /Users/aaa/Desktop/CPT/Game/Classes/StaticGrid.m:62
#7 0x0000a393 in -[EAGLView touchesBegan:withEvent:] (self=0xe8dad0, _cmd=0x3199fa3c, touches=0x632c0b0, event=0xe14590) at /Users/aaa/Desktop/CPT/Game/Classes/EAGLView.m:459
#8 0x30910f33 in -[UIWindow _sendTouchesForEvent:] ()
#9 0x308faecb in -[UIApplication sendEvent:] ()
#10 0x309013e1 in _UIApplicationHandleEvent ()
#11 0x32046375 in PurpleEventCallback …Run Code Online (Sandbox Code Playgroud) 我试图用Boost MPI运行一个程序,但问题是我没有.lib.所以我尝试按照http://www.boost.org/doc/libs/1_43_0/doc/html/mpi/getting_started.html#mpi.config上的说明创建一个.
指令说"对于许多使用LAM/MPI,MPICH或OpenMPI的用户来说,配置几乎是自动的",我在C:\中得到了自己的OpenMPI,但我没有做更多的事情.我们需要做任何事情吗?我在程序文件中也得到了自己的MPICH2,并且没有做任何更多的事情.在这一点上,我非常不确定我们必须做什么.
除此之外,该指令的另一个声明:"如果您的主目录中还没有文件user-config.jam,请在那里复制tools/build/v2/user-config.jam." 好吧,我只是按照它说的做.我在C:\ boost_1_43_0>中获得了"user-config.jam"以及"使用mpi;" 进入文件.
接下来,这就是我所做的:bjam --with-mpi
C:\boost_1_43_0>bjam --with-mpi
WARNING: No python installation configured and autoconfiguration
failed. See http://www.boost.org/libs/python/doc/building.html
for configuration instructions or pass --without-python to
suppress this message and silently skip all Boost.Python targets
Building the Boost C++ Libraries.
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this …Run Code Online (Sandbox Code Playgroud) 我正在研究某些部分部分模糊的图像.这些是应该注意的噪音,但问题是:
有没有方法可以检测图像某些部分的图像是模糊还是部分模糊?例如,看看下面的示例图片:

您可以在图像中看到有3个视觉模糊部分:左下角,近中心区域和右上角.现在,是否有可能检测到图像的任何部分是编程方式还是数学上的模糊?
我有几个二进制图像,我的任务是分割圆形的形状.圆圈不是完美的圆形圆圈,但它们看起来都像圆圈.以下是一些示例图像和我需要的内容:

从上面可以看出,左图像是原始图像,右图像是我需要做的.圆圈与其他形状相交,但我只想要圆圈,如红色所示.将需要用于关闭圆的虚线.在这种情况下,我可以在图像处理中做什么?
编辑:万一,上面的图像被打破,在这里:http://imageshack.us/photo/my-images/835/circleonly.jpg/
首先,这可能听起来很微不足道,但是目前我正在创建一个函数getQuadrant(degree),用于从给定角度返回一个象限.
例如,如果degree> = 0且<90,则返回1.如果degree> = 90且<180,则返回2.依此类推.这非常简单.但是,为了能够处理0-360以外的度数,我首先简单地将这些数字归一化为0-360度范围,如下所示:
while (angle > 360)
angle = angle - 360;
end
while (angle < 0)
angle = angle + 360;
end
Run Code Online (Sandbox Code Playgroud)
在那之后,我计算.但坦率地说,我讨厌使用像这样的while语句.还有其他数学方法可以一次指出角度的象限吗?
编辑:我看到有很多好的答案.请允许我补充一下" 哪种算法最快? "
我正在实现一个远程应用程序.服务器将实时处理和呈现数据作为动画.(准确地说是一系列图像)每次渲染图像时,它都会通过UDP传输到接收iPhone客户端.
我研究了一些UDP,我知道以下内容:
UDP的最大大小约为65k.
但是,似乎iPhone只能接收41k UDP数据包.iPhone似乎无法接收比这更大的数据包.
发送多个数据包时,会丢弃许多数据包.这是由于UDP处理过大.
减小数据包大小会增加未丢弃的数据包数量,但这意味着需要发送更多数据包.
我之前从未编写过真正的实用UDP应用程序,所以我需要一些有效的UDP通信指导.在这种情况下,我们正在讨论从服务器实时传输渲染图像以在iPhone上显示.
压缩数据似乎是强制性的,但在这个问题中,我想关注UDP部分.通常,当我们实现UDP应用程序时,如果我们需要实时不间断地发送大量数据,我们可以在高效UDP编程的最佳实践方面做些什么呢?
目前,我在Snow Leopard的XCode 3.2.2上尝试OpenMP:
#include <omp.h>
#include <iostream>
#include <stdio.h>
int main (int argc, char * const argv[]) {
#pragma omp parallel
printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我还没有包含任何链接库,所以链接器抱怨:
"_omp_get_thread_num",引自:main.o
"_omp_get_num_threads"中的_main,引用自:main.o中的_main
好的,没问题,我看看现有的框架,寻找关键字,如openmp或omp ......这里出现问题,链接库在哪里?或者我应该说,openMP的链接库的名称是什么?它是dylib,框架还是什么?或者我是否需要先从某个地方获取它?
是否可以查看当前正在加载到图形卡的RAM中的纹理?例如,如果您打开2-3个高强度3D游戏,是否可以在显卡的RAM中查看这些游戏的纹理?
有时,普通的计算机键盘只能同时接受用户输入到某个键.我有一个罗技键盘,可以同时接受最多3-4次按键.如果您按下此键盘的4个以上键,计算机将不再接受任何输入.它还取决于键盘的某些区域.某些位置允许按下更多键(如箭头键),而某些位置允许您仅按1-2键.这也是键盘与键盘的不同之处.一些较旧的键盘只接受1-2个键.
对于通常的办公室工作来说这不是问题,但是涉及到游戏.例如,想象一下平台游戏,你必须同时跳跃,攻击和控制方向.这意味着几次按键,一些键盘不能接受这种同时输入.但是,我已经在几款游戏中尝试了这一点,并且可能的键盘输入数量似乎也不同.因此,我们有两个问题:
起初,我认为这只是硬件问题,但为什么有些程序表现不同?为什么某些程序可以接受比其他程序更多的键盘输入?那么我们如何编写程序来接受更多的键盘输入呢?
algorithm ×2
3d ×1
boost ×1
boost-mpi ×1
build ×1
cocoa ×1
comparison ×1
configure ×1
graphics ×1
iphone ×1
k-means ×1
keyboard ×1
macos ×1
networking ×1
objective-c ×1
openmp ×1
performance ×1
real-time ×1
simultaneous ×1
stack-trace ×1
textures ×1
trigonometry ×1
udp ×1
user-input ×1
xcode ×1