思路就是创建一个球体,并且找一张地球展开图,贴在球体上

网上找了一张地球展开图

引入必要的js//引入threejs

//这个工具js是运行你控制场景旋转缩放的

核心代码

//动画帧函数

window.requestAnimFrame = (function(){

return window.requestAnimationFrame ||

window.webkitRequestAnimationFrame ||

window.mozRequestAnimationFrame ||

function( callback ){

window.setTimeout(callback, 1000 / 60);

};

})();

//初始化

function init() {

// 创建场景

var scene = new THREE.Scene();

// 创建一个透视相机

var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);

// 创建一个webGL的渲染器

var webGLRenderer = new THREE.WebGLRenderer();

webGLRenderer.setClearColor(new THREE.Color(0xEEEEEE, 1.0));

webGLRenderer.setSize(window.innerWidth, window.innerHeight);

webGLRenderer.shadowMapEnabled = true;

// 创建球体的函数

createMesh(new THREE.SphereGeometry(40, 100, 100));

//设置相机位置

camera.position.x = 120;

camera.position.y = 0;

camera.position.z = 0;

//camera.lookAt(new THREE.Vector3(10, 0, 0));

//添加到dom中

document.getElementById("WebGL-output").appendChild(webGLRenderer.domElement);

// call the render function

var step = 0;

var mesh = {} ;

function createMesh(geom) {

var loader = new THREE.TextureLoader();

var material = new THREE.MeshBasicMaterial();

// 加载资源

loader.load(

//贴图地址

'http://www.myjscode.com/images/earth1.jpg',

//图片下载完成的回调

function ( texture ) {

//设置材质的纹理

material.map = texture ;

mesh = new THREE.Mesh( geom, material );

mesh.position.set(0,0,0);

scene.add(mesh);

render();

},

// 图片现在过程中

function ( xhr ) {

// console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );

},

//图片下载失败

function ( xhr ) {

//console.log( 'An error happened' );

}

);

}

//渲染函数

function render() {

//mesh.rotation.y = step += 0.004;

requestAnimFrame(render);//必须启动帧动画,否则无法实现鼠标和手型控制

webGLRenderer.render(scene, camera);

}

//控制场景的辅助对象

var orbit = new THREE.OrbitControls( camera, webGLRenderer.domElement );

orbit.minDistance = 50;

orbit.maxDistance = 1000;

}

window.onload = init;

demo

threejs 绘制球体_threejs地球仪制作相关推荐

  1. threejs 绘制球体_ThreeJs 绘制点、线、面

    所有的三位物体都是由点构成,两点构成线,三点构成面,ThreeJs又如何绘制出点.线.面呢 ? 在ThreeJs中: 模型由几何体和材质构成 模型以何种形式(点.线.面)展示取决于渲染方式 1. 几何 ...

  2. threejs 绘制球体_实战:用 threejs 创建一个地球

    原标题:实战:用 threejs 创建一个地球 提示: 讲座 前端大型免费公开课讲座 教程 从零基础学前端教程,都在这~ 上个月底,在朋友圈看到一个号称"这可能是地球上最美的h5" ...

  3. threeJS绘制球体

    使用three.js绘制球体 实现思路: 1. 生成三大组件:场景.相机.渲染器: 2. 场景添加光源: 3. 场景添加球体,并为球体添加纹理贴图: 4. 循环渲染. 首先,初始化变量,包括用到的渲染 ...

  4. threejs 绘制球体_3D可视化库-Threejs调研及简单示例

    0 背景 WebGL是一种3D绘图协议,其允许JavaScript和OpenGL ES2.0结合在一起,为H5 Canvas提供硬件3D加速渲染,可以借助系统显卡在浏览器里更流畅地显示3D场景和模型. ...

  5. threejs 绘制球体_Three.js 第一篇:绘制一个静态的3D球体

    第一篇就画一个球体吧 首先我们知道Three.js其实是一个3D的JS引擎,其中的强大之处就在于这个JS框架并不是依托于JQUERY来写的.那么,我们在写这一篇绘制3D球体的文章的时候,应该注意哪些地 ...

  6. threejs 绘制球体_【webGl】threejs实现一个简单的动画-弹跳的小球

    在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...

  7. threejs 绘制球体_web前端入门到实战:threejs 绘制地球、飞机、轨迹

    首先我们来看下要实现的效果 这个缩小后的图片,下面我们来看下近距离的动态效果.. 效果比较简陋,需要后期再处理... 下面进入主题,代码篇.. HTML部分: 全球航班 html{overflow: ...

  8. threejs 绘制球体_Three.js基础探寻四——立方体、平面与球体

    前面简单介绍了 1.立方体 虽然这一形状的名字叫立方体(CubeGeometry),但它其实是长方体,也就是长宽高可以设置为不同的值.其构造函数是: THREE.CubeGeometry(width, ...

  9. threejs 绘制球体_javascript – 使用ThreeJS获取球体纹理上的点击位置

    目前:我有一个球体,其上有一个围绕y轴旋转的纹理.我也有在3D空间中点击的位置,以及球体上的旋转位置(我认为). 目标:获取纹理上的位置,例如:我想获得我点击的图像的正方形. (参见下面的示例球体和图 ...

  10. threejs绘制风羽

    threejs绘制风羽 1. 引言 2. 什么是风羽 3. threejs绘制 3.1 threejs渲染流程概述 3.2 构建矩形 3.3 绘制风羽 3.3.1 实现思路 3.3.2 实现效果 3. ...

最新文章

  1. Mysql列类型-数值型
  2. STL学习笔记(一)
  3. fastdfs 测试客户端_Nginx+FastDFS+MacOS图片服务器的搭建
  4. linux下使用gdb调试崩溃和死锁实例
  5. KVM(Keyboard、Video、Mouse)
  6. JavaScript图片库
  7. winform通过ListView绑定数据库数据源
  8. Effective_STL 学习笔记(十七) 使用 “交换技巧” 来修整过剩的容量
  9. 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...
  10. 多家公司布局大数据基金 策略模型待检验
  11. asp.net门诊收费管理系统
  12. python计算器_python_计算器
  13. 好用用的linux 监控命令
  14. linux下录制视频流,Ubuntu Linux 下的PSP视频输出以及录制
  15. 六 详细讲解主进程和渲染进程
  16. Craps 赌博游戏
  17. cookie httponly ajax,为什么jquery的.ajax()方法没有发送我的会话cookie?
  18. 一句话告诉您什么是运维?以及如何运维才能事半功倍?
  19. 循序渐进学Java day1
  20. Typora怎么插入图片链接,并设置图片居中

热门文章

  1. 【毕业论文】分享当年使用过的一些好用网站,包括论文去重,翻译,作图神器,免费文献查找 | 第 1 期
  2. HTML网页设计制作大作业 - 绿色环境保护HTML5网站模板(4个页面)
  3. 正交实验法,软件测试用例的特性,编写方法,软件缺陷的基础知识
  4. Android MTK Metadata Configuration
  5. 2022DIY电脑配置入门篇(包含各cpu显卡天梯图对比)
  6. linux命令mvn,Linux下使用mvn命令(maven)
  7. mscomm32.ocx 注册 和 web 调用案例
  8. Thermal_Config_Tool_exe_v1使用
  9. js 判断数组的4种方法
  10. ⼤数据可视化技术:可视化技术概述与Echarts⼊⻔