网页 - 三维地震可视化 - Silverlight?

时间:2012-03-16 09:40:31

标签: c# silverlight 3d camera

我从未编写任何Silverlight应用程序,但我希望编写一个用于地震的3D查看器,并将其从我的网站运行。

我想创建一个简单的查看器,以便用户可以更改“相机”,即他们的视角。视图最多可包含3d空间中的10,000个对象。

我希望能够快速查看此内容 - 我在Power Basic应用程序中看到了这一点,并希望在Web上执行此操作。

我目前在http://canterburyquakelive.co.nz有一个关于Canterbury New Zeaalnd地震的网站,我想学习基础知识,以便更具互动性。

我想举例说(开始)将2个物体放在我可以定义的“空间”中并实时移动相机。

系统最终必须支持10,000个对象。

每个对象可以是一个简单的圆圈 - 不需要特殊的像素着色器

我不确定系统目前的确切功能,所以如果我能找到一个教程,允许我将某个人(一个圆圈)放入一个3d世界(空间)并改变相机会很好。< / p>

任何想法都赞赏 - 似乎有很多关于3d和silverlight的东西,我可能会迷失在新功能的“光泽”中,我需要一些基础知识,我可以随着时间的推移学习和适应。

**添加评论+图片** 基本上我在等待使用Silverlight创建一个看起来像这样的页面。但我对任何技术持开放态度。

This is what I want to create

2 个答案:

答案 0 :(得分:1)

我从来没有在银光中做过3D,所以我无法按照要求完全回答你的问题,但一般来说,在“真正的”3D地形中显示地理标记是非常复杂的。至少你可能会看到:

  • 获取二进制高度数据文件(我上次查看,NASA将其删除)
  • 阅读并解释所述文件以获取“位图”高度数据
  • 选择和处理预测(例如UTM)
  • 决定如何细分位图高度数据

如果你想要它的纹理,你还需要获取它的卫星数据,再次转换或处理它来计算投影。

您可以忽略地形高度,但这可能无法简化事情,具体取决于您的地形“凹凸不平”。

对于预定义的足够小的区域,您可以在某个3D包中预先创建地形的三维模型,但显示您的标记仍然需要从长/拉到您的3D空间的投影,并且您将仍然需要知道地形高度(除非你与静态模型进行网格碰撞)。

相比之下,渲染标记非常简单,请选择:

  • 使用3D模型,例如“针头”(简单但不总是可见)
  • 使用“面向观众”多边形渲染常规n-gon(分辨率独立但可能难看)
  • 渲染一个带有圆形纹理的四边形(低多边形,但选择什么尺寸的纹理?)

有些图书馆可以为你做部分或全部,所以如果你自己开始滚动,那么我提到的一些事情可能构成你搜索的基础。

但是,考虑到您对您的网站和情况的描述,我怀疑您最好通过使用预先存在的解决方案来避免所有这些工作。例如。 Google Earth API

答案 1 :(得分:0)

您可以考虑使用-Garted的3D网络插件,让您远离Silverlight,但这可能会加快您的开发过程。我特别想到的是Blender 3D网页插件。我可以理解编写自己的查看器的必要性,但在重新发明轮子之前要三思而后行。祝你好运!