我有两个点和一个时间,我如何找出向量
I have two points and a time, how do i find out the vector?
我正在使用快板来..画线。在线上的某个点上,选择一个角度,并从该点绘制一条新线,以获得原始长度的一小部分。Allegro 使用矢量系统来移动点,即我将有一个矢量 crtSpeed(0, -60),它将图像更新 Y 上 60 像素的距离。我能够通过一些基本的三角形找出线的终点。
所以基本上,我有两个点,在两点之间旅行应该需要一定的时间。我不知道如何将这些信息转化为适用的载体。举个例子,我有要点开始(400, 300) 和结束 (600, 200)。假设它有十秒钟来绘制这条线 - 如何推导出使这条线发生所需的 crtSpeed 向量?
你会得到:
- 起点和终点坐标(x 和 y,像素单位) 帧
- 速率(帧/秒单位)
- 持续时间(以秒为单位)
你想要:
- 速度矢量(像素/帧单位)
首先,您需要∆x和∆y(我用类似C的伪代码编写):
dx = end.x - start.x
dy = end.y - start.y
您希望在持续时间内覆盖此距离。 也就是说,您希望以 ∆x/持续时间像素/秒的速度移动。 但是你想要像素/帧,所以你除以帧速率(1/(帧/秒)=秒/帧,像素/秒*秒/帧=像素/帧)。
xSpeed = dx/duration/framerate
ySpeed = dy/duration/framerate
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 将树节点添加到向量向量中的 n 元树遍历的平均和最坏情况时间复杂度是多少?
- 比较向量中的元素时所花费的时间呈指数级增长
- 您可以在一段时间内迭代向量
- C++ - 精确时间的向量
- 映射向量的时间复杂性是多少
- 在 O(N) 时间内使用布尔谓词函数对向量进行排序
- 难以找到向量的最小时间值
- vector::size() 如何在常量时间内返回向量的大小
- 使用多个线程的并行向量乘法比顺序乘法需要更长的时间
- C++对向量进行时间复杂度排序
- 比较向量元件的运行时间复杂性的提高
- 在无序映射<字符串上使用 find(),向量<string>>与 C++ 中的有序映射花费相同的时间
- 向量与Deque插入时间
- 按时间对向量进行排序
- 将带有时间戳的向量整数连接为C++中的字符串
- 时间和空间复杂性在二叉树的每个级别创建元素向量(NON-BST)
- 我有两个点和一个时间,我如何找出向量
- 初始化结构向量需要大量的编译时间