Web applications 用于基于Web的应用程序的三维图形

Web applications 用于基于Web的应用程序的三维图形,web-applications,3d,kinematics,Web Applications,3d,Kinematics,我必须创建一个基于Web的应用程序,其中包括以下任务 从数据库加载三维模型 显示三维模型 执行反向运动学计算以生成模型从初始位置移动到最终位置的一系列步骤 实时显示动画 该应用程序最初打算是基于Qt/OpenGL的PC应用程序,但我们正在调查将其实现为基于Web的应用程序是否可行 我对基于Web的开发的知识仍然有限 为了提出解决方案,建议采用什么方法/技术 谢谢 更新:首选独立于平台的解决方案。该应用程序需要在Mac和Windows机器上运行。如果它是一个Web应用程序,你应该研究Paper

我必须创建一个基于Web的应用程序,其中包括以下任务

  • 从数据库加载三维模型
  • 显示三维模型
  • 执行反向运动学计算以生成模型从初始位置移动到最终位置的一系列步骤
  • 实时显示动画
该应用程序最初打算是基于Qt/OpenGL的PC应用程序,但我们正在调查将其实现为基于Web的应用程序是否可行

我对基于Web的开发的知识仍然有限

为了提出解决方案,建议采用什么方法/技术

谢谢


更新:首选独立于平台的解决方案。该应用程序需要在Mac和Windows机器上运行。

如果它是一个Web应用程序,你应该研究Papervision3D()以获得一种基于Flash的方法(如果你希望它相对独立于平台的话,这就是方法)。

当然,你不能在HTML中完成所有这些,所以选择插件技术是一个问题

在我看来,你最好的选择是Flash,因为这是一个成熟的平台,有很多第三方扩展(如)可供你进行3D建模

另一种选择是Silverlight,它将为您提供.NET/C#的功能(而不是脚本)


两者都是跨平台和跨浏览器的。

一个Java小程序可能也会做你想做的事情


请看一看

有许多方法可以实现这一点。我想到了一些:

  • 考虑将其作为ActiveX组件交付(最快,但仅限于Win32)
  • 考虑使用.NET(Silverlight)(通过Moonlight可以预见未来的Win32、OSX、*nix;仅限DirectX/Direct3D)
  • 考虑使用Java,它也可以访问OpenGL
  • 考虑在你遇到的任何地方使用任何中间包。。应该有几十个
一个问题可能是可移植性。这里有两个警告:您的代码需要到处运行,并且需要3D加速。这是一个问题,因为您无法确定它是否具有3D(当然,您可以查询您的上下文)


<>你可能也想考虑在CPU上进行光栅化和渲染(即使用MESA3D)。如果您不需要允许自由形式变换,并且希望设置动画(例如,30帧),并且使用Mesa,您可以在典型硬件上的典型模型上渲染5fps,则需要6秒来计算整个场景。那就足够了。

画布和JavaScript可能能够渲染它,这取决于3D模型的复杂性。看到这个了吗


使用它编写3D应用程序还有和。

还有谷歌优秀但全新的O3D:

另一个Java选项,与JVM集成较少,但基于OpenGl- (我最喜欢的) 及


查看Jake2 webstart:

Adobe Shockwave具有强大的3d建模功能。不幸的是,目前它还不受支持,但Flash没有3d功能(papervision3d项目试图纠正这一点,YMMV)。

webgl也是一个有趣的替代方案。没有插件,只有浏览器中的opengl(包括着色器)。

我同意其他人的看法,Flash可能是你最好的选择。如果有人担心将来在苹果的移动设备上运行,而成本不是问题,那么可以考虑使用Unity开发一些东西。它是一个插件(像Flash),但它没有引起史蒂夫·乔布斯的愤怒


ActiveX不仅限于Win32,而且仅限于IE。