threejs 绘制球体_threejs地球仪制作
思路就是创建一个球体,并且找一张地球展开图,贴在球体上
网上找了一张地球展开图
引入必要的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地球仪制作相关推荐
- threejs 绘制球体_ThreeJs 绘制点、线、面
所有的三位物体都是由点构成,两点构成线,三点构成面,ThreeJs又如何绘制出点.线.面呢 ? 在ThreeJs中: 模型由几何体和材质构成 模型以何种形式(点.线.面)展示取决于渲染方式 1. 几何 ...
- threejs 绘制球体_实战:用 threejs 创建一个地球
原标题:实战:用 threejs 创建一个地球 提示: 讲座 前端大型免费公开课讲座 教程 从零基础学前端教程,都在这~ 上个月底,在朋友圈看到一个号称"这可能是地球上最美的h5" ...
- threeJS绘制球体
使用three.js绘制球体 实现思路: 1. 生成三大组件:场景.相机.渲染器: 2. 场景添加光源: 3. 场景添加球体,并为球体添加纹理贴图: 4. 循环渲染. 首先,初始化变量,包括用到的渲染 ...
- threejs 绘制球体_3D可视化库-Threejs调研及简单示例
0 背景 WebGL是一种3D绘图协议,其允许JavaScript和OpenGL ES2.0结合在一起,为H5 Canvas提供硬件3D加速渲染,可以借助系统显卡在浏览器里更流畅地显示3D场景和模型. ...
- threejs 绘制球体_Three.js 第一篇:绘制一个静态的3D球体
第一篇就画一个球体吧 首先我们知道Three.js其实是一个3D的JS引擎,其中的强大之处就在于这个JS框架并不是依托于JQUERY来写的.那么,我们在写这一篇绘制3D球体的文章的时候,应该注意哪些地 ...
- threejs 绘制球体_【webGl】threejs实现一个简单的动画-弹跳的小球
在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...
- threejs 绘制球体_web前端入门到实战:threejs 绘制地球、飞机、轨迹
首先我们来看下要实现的效果 这个缩小后的图片,下面我们来看下近距离的动态效果.. 效果比较简陋,需要后期再处理... 下面进入主题,代码篇.. HTML部分: 全球航班 html{overflow: ...
- threejs 绘制球体_Three.js基础探寻四——立方体、平面与球体
前面简单介绍了 1.立方体 虽然这一形状的名字叫立方体(CubeGeometry),但它其实是长方体,也就是长宽高可以设置为不同的值.其构造函数是: THREE.CubeGeometry(width, ...
- threejs 绘制球体_javascript – 使用ThreeJS获取球体纹理上的点击位置
目前:我有一个球体,其上有一个围绕y轴旋转的纹理.我也有在3D空间中点击的位置,以及球体上的旋转位置(我认为). 目标:获取纹理上的位置,例如:我想获得我点击的图像的正方形. (参见下面的示例球体和图 ...
- threejs绘制风羽
threejs绘制风羽 1. 引言 2. 什么是风羽 3. threejs绘制 3.1 threejs渲染流程概述 3.2 构建矩形 3.3 绘制风羽 3.3.1 实现思路 3.3.2 实现效果 3. ...
最新文章
- Mysql列类型-数值型
- STL学习笔记(一)
- fastdfs 测试客户端_Nginx+FastDFS+MacOS图片服务器的搭建
- linux下使用gdb调试崩溃和死锁实例
- KVM(Keyboard、Video、Mouse)
- JavaScript图片库
- winform通过ListView绑定数据库数据源
- Effective_STL 学习笔记(十七) 使用 “交换技巧” 来修整过剩的容量
- 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...
- 多家公司布局大数据基金 策略模型待检验
- asp.net门诊收费管理系统
- python计算器_python_计算器
- 好用用的linux 监控命令
- linux下录制视频流,Ubuntu Linux 下的PSP视频输出以及录制
- 六 详细讲解主进程和渲染进程
- Craps 赌博游戏
- cookie httponly ajax,为什么jquery的.ajax()方法没有发送我的会话cookie?
- 一句话告诉您什么是运维?以及如何运维才能事半功倍?
- 循序渐进学Java day1
- Typora怎么插入图片链接,并设置图片居中
热门文章
- 【毕业论文】分享当年使用过的一些好用网站,包括论文去重,翻译,作图神器,免费文献查找 | 第 1 期
- HTML网页设计制作大作业 - 绿色环境保护HTML5网站模板(4个页面)
- 正交实验法,软件测试用例的特性,编写方法,软件缺陷的基础知识
- Android MTK Metadata Configuration
- 2022DIY电脑配置入门篇(包含各cpu显卡天梯图对比)
- linux命令mvn,Linux下使用mvn命令(maven)
- mscomm32.ocx 注册 和 web 调用案例
- Thermal_Config_Tool_exe_v1使用
- js 判断数组的4种方法
- ⼤数据可视化技术:可视化技术概述与Echarts⼊⻔