用了一周的时间研究WebGL相关技术,发现该技术竟然已经发展到如此地步,足以应用于企业开发领域。因此我使用Blender建模,基于ThreeJS实现了一个能够在浏览器上运行的矿井结构的三维效果展示。
浏览器兼容
Chrome和Firefox的较新版本均可流畅运行, IE8需要借助ChromeFrame插件
平台兼容
基于浏览器的应用,完美跨平台。 经测试在手机Android2.3的Firefox中也可以显示。
主要功能
- 鼠标对模型的自由旋转、缩放、平移
- 巷道文字显示
- 人员移动轨迹回放,在模型中显示
- 传感器在巷道模型上定点显示
- 点击传感器,显示从后台服务器中取得的环境参数
- 轮询方式从后台取得报警信息,在界面上展示。
- 使用DAT.GUI实现模型参数的实时显示和动态更改。
感想
发展眼光很重要。新技术浪潮的到来往往会伴随行业洗牌,传统巨头会在一系列历史遗留问题中纠缠不清,无法很好的转移航向来适应未来的发展。新入行者恰恰可以利用后发优势,凭借新技术的潮头,爆发似的抢占市场。新技术不可怕,可怕的是技术上畏首畏尾,不敢突破的心态。跟在别人屁股后面永远只能吃那个。勇于打破既有规则,实现对既有规则的颠覆,建立自己的游戏规则,自己带着别人在圈子里玩,这才是我们应该做的事情。
跨平台很重要,未来不再是windows的天下,随着智能手机和平板电脑的日益普及和流行,Linux系愈发强势。微软早就不是以前的巨无霸,谷歌苹果已经成为新生代的巨头。.net系的技术经常随市场一变再变,千万不要妄想抱住某厂商的大粗腿,民主化的开源社区才是王道(当然没有各大厂商的财力支持也是白搭)。
基于浏览器的应用开发很重要,基于云端的浏览器应用是业界趋势。虽然基于系统原生的程序性能更强,用户体验更好,但是多平台开发需要多语言的移植,对于小公司来说从无论从人力物力还是发维护成本都是不可能的。而且根据摩尔定律,硬件性能越来越强,价格越来越便宜,我们要做的只是等待,而且不会等待太久。
人很重要。好的程序员的工作效率会是垃圾程序员的数十倍,但是工资往往不需要这么多,他们更希望的是得到认可、得到尊重。好的程序员是自我管理的,他们无聊的时候也在学习,因为这是一种乐趣,他们工作效率极高,但从不加班。他们厌恶浪费生命的会议,厌恶一切不必要的手续和流程,厌恶一切没理由的说教和唠叨,推崇使用最简单最有效的方法来解决最复杂的问题。天外飞仙,一剑封喉。