个人项目介绍3:火车站篇

 个人项目介绍:

地图铁路线路篇

地球卫星篇

火车站篇

三维园区篇


项目需求:

一比一精确显示火车站主建筑和站台模型。实时响应车辆信息(上水,吸污,换乘)并同步显示,实时响应车辆进出站信息,并以动画形式模拟。实时响应报警信息,并能在三位中显示,可拉进处理。显示监控设备内容。

要求:快速迭代,一周内可完成一个火车站的全部功能开发和部署。数据实时显示。保证监控基本无延时。

最终实现:实现平台可配置,可动态调整,数据动态适配。完成公共模型可服用,实现建模,数据对接,视频对接3天完成。基于webrtc实现监控视频基本无延时。

成就:新闻联播有几秒的显示

列车宣传视频有一闪而过的画面

个人网站demo显示效果如下:

个人网站如下:

http://47.96.130.245:8080/train/index.html

 商务合作:

技术实现介绍:

1.获取div

design = document.getElementById('design');

2.初始化 design,renderer,scene,camera,control,gridHelper

//renderer		        	
		renderer = new THREE.WebGLRenderer({ antialias: true });
		renderer.setPixelRatio( window.devicePixelRatio );
		renderer.setSize( design.clientWidth, design.clientHeight );
		renderer.shadowMap.type=THREE.PCFSoftShadowMap;
        renderer.gammaInput = true;
        renderer.gammaOutput = true;
        renderer.shadowMap.enabled = true;
		design.appendChild( renderer.domElement );
        //renderer
        
		//scene
        scene = new THREE.Scene();           
        //scene
        
        //camera
		camera = new THREE.PerspectiveCamera( 70,design.clientWidth / design.clientHeight, 1, 10000 );
		camera.position.set( 0, 100, 100);
		camera.lookAt( new THREE.Vector3( 0, 0 ,0) );
		scene.add(camera);
		//camera	
		
        //gridHelper
        gridHelper = new THREE.GridHelper( 100, 10);
        scene.add( gridHelper );
        //gridHelper
        
        // add hemi lights
        var hemiLight = new THREE.HemisphereLight( 0xffffff, 0xffffff, 0.05 );
        hemiLight.color.setHSL( 0.6, 1, 0.6 );
        hemiLight.groundColor.setHSL( 0.095, 1, 0.75 );
        hemiLight.position.set( 10000, 10000, 10000 );
        scene.add( hemiLight );    
        
		//controls
		controls = new THREE.TrackballControls( camera,design );
		controls.rotateSpeed = 2.0;
		controls.zoomSpeed = 1.2;
		controls.panSpeed = 0.8;
		controls.noZoom = false;
		controls.noPan = false;
		controls.staticMoving = true;
		controls.dynamicDampingFactor = 0.3;
        //controls      

3.导入模型

 var stlmaterial = new THREE.MeshLambertMaterial( { color: 0x012028 ,transparent: true,opacity: 0.5 } );
	    var stlmaterialgl = new THREE.MeshLambertMaterial( { color: 0xff0000  } );
	    var tmparray=new Array(
			"../models/1C.stl",
			"../models/2C.stl",
			"../models/dimian.stl",
			"../models/ding.stl",
            "../models/shoupiaoting.stl",
            "../models/weiqiang.stl",
            "../models/zhantaiguidao.stl",
		);
		var i = 0;
		for(i=0;i<tmparray.length;i++){
			var loader = new THREE.STLLoader();
			(function(datatmp,tmpi){
				loader.load( datatmp, function ( geometry ) {		
                    var mesh = new THREE.Mesh( geometry, stlmaterial );
					mesh.rotation.x = -Math.PI/2;					
					scene.add( mesh );				
				} );
			})(tmparray[i],i);       
		}

4.显示效果

以上效果源码:

https://download.csdn.net/download/zzjzmdx/88908813

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值