相关疑难解决方法(0)

Catmull-rom曲线没有尖点,没有自交叉

我有以下代码来计算四个控制点之间的点,以生成catmull-rom曲线:

CGPoint interpolatedPosition(CGPoint p0, CGPoint p1, CGPoint p2, CGPoint p3, float t)
{
    float t3 = t * t * t;
    float t2 = t * t;

    float f1 = -0.5 * t3 + t2 - 0.5 * t;
    float f2 = 1.5 * t3 - 2.5 * t2 + 1.0;
    float f3 = -1.5 * t3 + 2.0 * t2 + 0.5 * t;
    float f4 = 0.5 * t3 - 0.5 * t2;

    float x = p0.x * …
Run Code Online (Sandbox Code Playgroud)

curve catmull-rom-curve

42
推荐指数
2
解决办法
2万
查看次数

Winsock应用中的线性航位推算

我在服务器 - 客户端Winsock游戏中理解我如何实现Dead Reckoning有点困难.

我一直在互联网上寻找一个可靠解释的解释:

  1. 当消息应该从服务器发送到客户端时

  2. 如果客户端没有收到更新消息,它应该如何操作,它是否继续使用预测位置作为当前位置来计算新的预测位置?

我使用的航位推算方法是:

path vector = oldPosition - oldestPosition
delta time = oldTime - oldestTime
delta velocity = path vector / delta time
new delta time = current time / oldest time
new prediction = oldPosition + new delta time * delta velocity
Run Code Online (Sandbox Code Playgroud)

希望这是正确的配方!:)

还应注意连接类型是UDP,并且游戏仅在服务器上播放.服务器将更新消息发送到客户端.

有人可以帮我回答我的问题吗?

谢谢

c++ networking winsock dead-reckoning

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