我试图在画布上绘制,并在firebase中存储绘制数据,以便实时显示绘制



是否有办法将图纸存储在firebase作为矢量函数,以使用更少的数据?

换句话说,我不想存储每个点,但我想存储一个更新函数。这里是一个演示,我正在使用的帮助。http://blog.cryptoguru.com/2014/11/frp-using-rxjs-and-firebase.html

不确定您是否可以从这里实现:Firebase不打算提供任何计算功能,因此必须在应用程序级别完成。然而,它将存储关于向量的组成部分的数据,甚至是函数的文本表示。

这也取决于你是想要实时反馈还是只是存储/检索现有的向量集。

举个简单的例子,假设我们想画一个原点在圆心的圆,用向量函数r(t) = (cos t, sin t)表示。我们有一个画布,我们把鼠标移到1,1点,然后把鼠标移到2,2,然后是3,3。

数据结构可以是这样的

object_0
    function: r(t) = (cos t, sin t)
    mousedown:
       pointX: 1
       pointY: 1
    mouseup:
       pointX: 3
       pointY: 3          
有了这些数据,我们就知道object_0的设计;圆的起始位置和它的大小(显然半径也可以存储,而不是实际的鼠标起升点)

如上所述,firebase不会进行任何计算,但是您可以读入函数并根据mousedown和mouseup中的数据对其进行操作。

如果你想对中间点进行操作,比如当鼠标被拖动时,你也可以将这些点存储在节点中,观察它,这样当鼠标被移动时,客户端也会看到它实时移动。

如果您不想存储点(起始点可能是必需的?)。然后可以存储每个点上向量的字符串表示形式(cos t, sin t)。

作为旁注,根据作用域的不同,离散点实际上可能占用更少的空间。

最新更新