小编Gar*_*ees的帖子

'添加'两个角度

好吧,所以我有两个角度.一个是操纵杆的角度,另一个是相机与玩家的角度.相机的角度.现在我想要它,所以当我按下操纵杆时,它会让玩家远离相机.我该怎么做?在Java或Ardor3d中有一种简单的方法吗?

编辑:这是我如何得到我的角度的代码.

float camDegree = (float) Math.toDegrees(Math.atan2(
                     _canvas.getCanvasRenderer().getCamera().getLocation().getXf() - colladaNode.getTranslation().getXf(),
                     _canvas.getCanvasRenderer().getCamera().getLocation().getYf()) - colladaNode.getTranslation().getYf());

            player.angle = (float) Math.toDegrees(Math.atan2(padX, padY));
            Quaternion camQ = new Quaternion().fromAngleAxis(camDegree, Vector3.UNIT_Y);
Run Code Online (Sandbox Code Playgroud)

java geometry ardor3d

3
推荐指数
1
解决办法
698
查看次数

创建OpenLayer圈时出现问题

如何在openlayer地图中画圆圈?我尝试过差异方式,但它不起作用..请帮我代码.我使用了以下代码..但它创建了多边形

var p1 = new OpenLayers.Geometry.Point(439000, 114000);
var p2 = new OpenLayers.Geometry.Point(440000, 115000);
var p3 = new OpenLayers.Geometry.Point(437000, 116000);
var p4 = new OpenLayers.Geometry.Point(436000, 115000);
var p5 = new OpenLayers.Geometry.Point(436500, 113000);
var points = [];
points.push(p1);
points.push(p2);
points.push(p3);
points.push(p4);
points.push(p5);

var linearRing = new OpenLayers.Geometry.LinearRing(points);
var polygonFeature = new OpenLayers.Feature.Vector(linearRing, null, style_green);
vectorLayer.addFeatures([polygonFeature])
Run Code Online (Sandbox Code Playgroud)

javascript geometry openlayers

3
推荐指数
1
解决办法
5452
查看次数

"Sling Blade Runner":找到重叠电影片串的高效算法?

这个问题来自ITA软件归档谜题,因为谜题已经退役,我想可以讨论.

你可以找到一连串重叠的电影片,比如"活着让死亡诗人社会的另一天死去"吗?

我想知道解决这种难题的最佳方法/算法是什么.

puzzle algorithm

3
推荐指数
1
解决办法
566
查看次数

找到最接近3点的算法,当三角测量覆盖另一点时

想象一下画布上有一堆随机散布的画布.现在选择其中一个点.你如何找到距离它最近的3个点,这样如果你绘制一个连接这些点的三角形,它将覆盖所选择的点?

澄清: "最接近",我指的是距离点的最小距离.


这主要是出于好奇.我认为如果它是未知的,那么估计一个点的"值"将是一个好方法,但周围的点是已知的.有3个周围的点你可以推断出这个值.我之前没有听说过像这样的问题,看起来并不是很微不足道,所以我认为这可能是一个有趣的练习,即使它不是估算某些东西的最好方法.

algorithm geometry

2
推荐指数
1
解决办法
2023
查看次数

比较字符串与 Python 中的浮点数

我在 python shell 中试过这个

>>> a='apple'
>>> b=11.1
>>> a>b
True
>>> a
'apple'
>>> b>a
False
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下a>bTrue 是怎样的吗?Whena是一个字符串并且b是浮点数。

string floating-point python-2.x

2
推荐指数
1
解决办法
5588
查看次数

用户注册和通过电子邮件地址而不是用户名进行身份验证

我不想编写自定义身份验证后端,我认为这样的常见任务必须已经由一些第三方应用程序解决.

我做了一些谷歌搜索和略读,但发现只有https://bitbucket.org/hakanw/django-email-usernames/wiki/Home这是相当老(2008年).还有其他替代品吗?

authentication django

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

C++ Win32 GetDC以及何时发布DC

在我的程序(游戏)中,我进行了GetDC()调用并将DC保存为全局.我想在程序结束时我只能发布ReleaseDC().

目前我遇到麻烦,因为有些事情没有正确.我使用具有各种功能的DC和计时器.

这可能导致这个问题吗?

(程序的大小太大,无法改变一切,看它是否会帮助......)

编辑:我唯一一个全球保存(并在窗口创建后设置)是

HDC hDC = GetDC(hWnd)
Run Code Online (Sandbox Code Playgroud)

然后,每当我需要做某事时:

HDC hdcMem = CreateCompatibleDC(hDC);
// everything
DeleteDC(hdcMem)
Run Code Online (Sandbox Code Playgroud)

然后在程序结束时:

ReleaseDC(hWnd, hDC);
Run Code Online (Sandbox Code Playgroud)

是否有可能在代码的各个地方进行所有绘图和对象选择导致这些"半罕见"问题?

另外,忘记注意,任何地方都没有GDI泄漏.

c++ winapi

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

有没有更好的方法来编写这个功能?

我有以下Common Lisp函数:

(defun get-positions (marker)
  (let ((result nil))
    (dotimes (i (length board))
      (if (eq (nth i board) marker)
          (push i result)))
    (nreverse result)))
Run Code Online (Sandbox Code Playgroud)

这是什么board,这是函数的输出:

CL-USER> board
(X X O NIL NIL NIL NIL NIL NIL)
CL-USER> (get-positions 'x)
(0 1)
Run Code Online (Sandbox Code Playgroud)

似乎我写的函数可能有点冗长.是否有更简洁的方式来编写它?

list common-lisp

0
推荐指数
1
解决办法
91
查看次数

Eratosthenes的筛子 - X和N之间的Primes

我在Stack Overflow上找到了针对Python的Eratosthenes Sieve的这种高度优化的实现.我对它正在做什么有一个粗略的想法,但我必须承认它的工作细节没有我.

我仍然希望将它用于一个小项目(我知道有些库可以做到这一点,但我想使用这个函数).

这是原始的:

'''
    Sieve of Eratosthenes 
    Implementation by Robert William Hanks      
    https://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n/3035188
'''

def sieve(n):
    """Return an array of the primes below n."""
    prime = numpy.ones(n//3 + (n%6==2), dtype=numpy.bool)
    for i in range(3, int(n**.5) + 1, 3):
        if prime[i // 3]:
            p = (i + 1) | 1
            prime[       p*p//3     ::2*p] = False
            prime[p*(p-2*(i&1)+4)//3::2*p] = False
    result = (3 * prime.nonzero()[0] + 1) | 1
    result[0] = 3
    return numpy.r_[2,result]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是修改它以返回下面的所有素数n , x以便:

primes = …
Run Code Online (Sandbox Code Playgroud)

python algorithm primes numpy

0
推荐指数
1
解决办法
1036
查看次数