小编Mar*_*tin的帖子

寻找具有最大最小重量的路径

我正在尝试找出一种算法,用于在有向图上找到路径.这不是一个传统的路径,我找不到任何像这样的东西的引用.

我想找到具有最大最小重量的路径.

即如果有两条路径的权重为10-> 1-> 10且2-> 2-> 2则第二路径被认为优于第一路径,因为最小权重(2)大于第一路径的最小权重( 1).

如果有人可以找到一种方法来做到这一点,或者只是指向一些参考资料的方向,那将是非常有用的:)

编辑::我似乎忘了提到我正试图从一个特定的顶点到另一个特定的顶点.非常重要的一点:/

EDIT2 ::如下所述,我应该强调边缘权重是非负的.

algorithm graph-theory graph directed-graph path-finding

5
推荐指数
2
解决办法
8104
查看次数

计算屏幕空间错误

我目前正在为XNA游戏开发详细等级系统,该系统细分屏幕空间误差较高的三角形,并合并屏幕空间误差较低的三角形。

世界空间误差是一种启发式算法,它估计该三角形具有的误差,因此,例如,如果在几乎平坦的表面上存在一个三角形,则它将具有非常低的屏幕空间误差,因为它与该表面非常近似,但是如果球体表面上存在三角形,则屏幕空间误差会更高,因为显然将该三角形分成更多的三角形会更好地近似于球体表面。
屏幕空间误差是对世界空间误差的略微修改,基本上已对误差进行了修改,因此,靠近摄像机且靠近视场中心的三角形具有较高的误差得分。

什么是计算屏幕空间错误的好方法?

当前解决方案:屏幕空间错误=世界空间错误/点([到所讨论三角形的矢量],[相机方向矢量])

有关屏幕空间错误的博客文章

c# language-agnostic graphics xna

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

谷歌机器人内联回复

我最近一直在研究我的第一个google wave机器人,它的作用的重要部分是将内联回复插入到一个blip中.我不能为我的生活弄清楚如何做到这一点!

API文档有一个函数InsertInlineBlip听起来很有希望,但是调用似乎没有做任何事情!

编辑::似乎这是一个已知的错误.但是,问题仍然是插入内联blip的正确方法是什么?我假设这样的事情:

inline = blip.GetDocument().InsertInlineBlip(positionInText)
inline.GetDocument().SetText("some text")
Run Code Online (Sandbox Code Playgroud)

python google-wave

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

从appengine与SVN交互

我有几个项目,能够从appengine与SVN服务器进行交互是有用的.

  • 从svn中提取特定文件(相当简单,因为有一个Web界面,我可以自动获取数据,但我如何进行身份验证)
  • 提交对svn的更改(这是非常难/重要的部分)
  • 可能运行一个SVN服务器(从一个appengine应用程序,我猜这是不可能的)

我更喜欢python解决方案,但如果必须,我可以使用java生存

python java svn google-app-engine

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

Java bithift陌生

Java有两个用于右移的位移操作符:

>> shifts right, and is dependant on the sign bit for the sign of the result

>>> shifts right and shifts a zero into leftmost bits
Run Code Online (Sandbox Code Playgroud)

http://java.sun.com/docs/books/tutorial/java/nutsandbolts/op3.html

这看起来相当简单,所以任何人都可以向我解释为什么这个代码,当bar为-128的值时,为foo产生-2的值:

byte foo = (byte)((bar & ((byte)-64)) >>> 6);
Run Code Online (Sandbox Code Playgroud)

这意味着要做一个8位字节,最左边2位的掩码,并将它们移到最右边的2位.即:

initial = 0b10000000 (-128)
-64 = 0b11000000
initial & -64 = 0b10000000
0b10000000 >>> 6 = 0b00000010
Run Code Online (Sandbox Code Playgroud)

结果实际上是-2,即

0b11111110
Run Code Online (Sandbox Code Playgroud)

IE浏览器.1s而不是零被移动到左侧位置

java debugging bit-shift

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

从内存加载图像,GDI+

这是一个快速而简单的问题:使用 C++ 中的 GDI+,我将如何从内存中的像素数据加载图像?

c++ graphics gdi+ load image

4
推荐指数
3
解决办法
9395
查看次数

好的.net4分析器

什么是.NET 4.0的优秀分析器?我愿意花一些钱,但不要太多(说高达50英镑)

我正在使用XNA为windows phone和xbox开发游戏,这意味着这些项目是商业化的.我提到它是因为我看过几个免费用于非商业用途.

Visual Studio集成的额外要点.

铌.我正在使用Visual Studio Professional 2010

profiler profiling .net-4.0

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

Haskell"源减少"

我正在修改即将到来的Haskell考试,我不理解过去论文中的一个问题.谷歌没有任何用处

fst(x, y) = x
square i = i * i
Run Code Online (Sandbox Code Playgroud)

i)源减少,使用Haskells懒惰评估,表达式:

fst(square(3+4), square 8)
Run Code Online (Sandbox Code Playgroud)

ii)使用严格的评估,源减少相同的表达式

iii)说明懒惰评估的一个优点和严格评估的一个优点

我不明白什么源减少?

evaluation haskell terminology reduction

4
推荐指数
2
解决办法
467
查看次数

这是一种危险的锁定模式吗?

我有一个用C#编写的枚举器,它看起来像这样:

try
{
    ReadWriteLock.EnterReadLock();
    yield return foo;
    yield return bar;
    yield return bash;
}
finally
{
    if (ReadWriteLock.IsReadLockHeld)
        ReadWriteLock.ExitReadLock();
}
Run Code Online (Sandbox Code Playgroud)

我相信这可能是一个危险的锁定模式,因为ReadWriteLock只有在枚举完成时才会被释放,否则锁被挂起并且永远不会释放,我是否正确?如果是这样,打击这个的最佳方法是什么?

c# locking yield-return

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

到飞机的距离

我写了一个简单的小辅助方法,用来计算从一个点到一个平面的距离.然而,它似乎正在回归荒谬的结果.因此,我创建一个平面的代码是:

Plane = new Plane(vertices.First().Position, vertices.Skip(1).First().Position, vertices.Skip(2).First().Position);
Run Code Online (Sandbox Code Playgroud)

相当简单,我希望你会同意.它使用三个点创建XNA平面结构.

现在,在此之后我立即:

foreach (var v in vertices)
{
    float d = Math.Abs(v.ComputeDistance(Plane));
    if (d > Constants.TOLERANCE)
        throw new ArgumentException("all points in a polygon must share a common plane");
}
Run Code Online (Sandbox Code Playgroud)

使用我用于构造平面的同一组顶点,我抛出了异常!在数学上这是不可能的,因为这三个点必须位于飞机上.

我的ComputeDistance方法是:

public static float ComputeDistance(this Vector3 point, Plane plane)
{
    float dot = Vector3.Dot(plane.Normal, point);
    float value = dot - plane.D;
    return value;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这是正确的.那么我可能做错了什么?或者我可能遇到XNA实施中的错误?

一些示例数据:

Points:
{X:0 Y:-0.5000001 Z:0.8660254}
{X:0.75 Y:-0.5000001 Z:-0.4330128}
{X:-0.75 Y:-0.5000001 Z:-0.4330126}

Plane created:
{Normal:{X:0 Y:0.9999999 Z:0} D:0.5} //I …
Run Code Online (Sandbox Code Playgroud)

c# math debugging xna geometry

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