cesium编程入门(七)3D Tiles,模型旋转

上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转,

参考《WebGl编程指南》的第四章

假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下:

由此思路就出来了:

  1. 根据要旋转的角度,构建一个三阶旋转矩阵

  2. 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算,

  3. 最后将计算结果再赋值给modelMatrix,完成。

参考代码:

var m = tileset.modelMatrix;
//RotateX为旋转角度,转为弧度再参与运算
var m1 = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(RotateX)); //矩阵计算
Cesium.Matrix4.multiplyByMatrix3(m,m1,m); //赋值
tileset.modelMatrix = m;

lesson03源码参考

cesium编程入门(七)3D Tiles,模型旋转的更多相关文章

  1. cesium编程入门(七)3D Tiles,模型旋转

    cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和 ...

  2. Cesium入门10 - 3D Tiles

    Cesium入门10 - 3D Tiles Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 我们团队有时把Ces ...

  3. cesium编程入门(一)cesium简介

    cesium编程入门 cesium是什么 Cesium 是一个跨平台.跨浏览器的展示三维地球和地图的 javascript 库. Cesium 使用WebGL 来进行硬件加速图形,使用时不需要任何插件 ...

  4. cesium编程入门(九)实体 Entity

    cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置, ...

  5. Cesium原理篇:3D Tiles(1)渲染调度

    Cesium在2016年3月份左右推出3D Tiles数据规范,在glTF基础上提供了LOD能力,定位就是Web环境下海量三维模型数据.虽然目前3D Tiles还是Beta阶段,有不少硬伤,但3D T ...

  6. Cesium原理篇:3D Tiles(1)渲染调度【转】

    Cesium在2016年3月份左右推出3D Tiles数据规范,在glTF基础上提供了LOD能力,定位就是Web环境下海量三维模型数据.虽然目前3D Tiles还是Beta阶段,有不少硬伤,但3D T ...

  7. cesium编程入门(八)设置材质

    cesium编程入门(八)设置材质 Cesium中为几何形状设置材质有多种方法 第一种方法 Material 直接构建Cesium.Material对象,通过设置Material的属性来进行控制,官方 ...

  8. 将Cesium ion上的3D Tiles和Bing imagery应用到osgEarth

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Pelican Mapping 激动的宣布支持加载Cesium ...

  9. cesium编程入门(六)添加 3D Tiles,并调整位置,贴地

    添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级 ...

随机推荐

  1. Redis实战——phpredis扩展安装

    准备安装软件(download) 1> [redis]       http://redis.googlecode.com/files/redis-2.4.3.tar.gz 2> [php ...

  2. Shiro学习之路 -- 架构及其组件

    出自:跟我学shiro 简介 Apache Shiro 是 Java 的一个安全框架.目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 ...

  3. arcserver 跨域问题

    http://resources.arcgis.com/en/help/rest/apiref/config.html#jcrossOriginAccesshttp://enable-cors.org ...

  4. Ubuntu更新命令 <转>

    apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...

  5. 在EXCEL中使用SQL语句查询

    SQL语句在数据库使用中十分重要. 在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快. 对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典). 对数据库 ...

  6. i++的原子性问题

    一.什么是原子性 简单的可以理解为:操作是不可再分割的,比如: int i=0; 但是i++的操作是可以再分的,比如: i++ //分解后 i=i+i 上面的代码在多线程环境下取值是有问题的,比如: ...

  7. mybatis mysql 批量insert 返回主键

    Mybatis在插入单条数据的时候有两种方式返回自增主键:    mybatis3.3.1支持批量插入后返回主键ID, 首先对于支持自增主键的数据库:useGenerateKeys和keyProper ...

  8. linux下使用gtest框架进行c/c++单元测试

    linux下使用gtest框架进行c/c++单元测试 前言 关于此次开发工具的选择,因为我最近尝试在linux下使用vim进行c/c++编程,且之前已经对vim进行了相关的配置,所以这里应作业要求直接 ...

  9. Miller-Rabin算法

    Miller-Rabin算法用于检测一个数n是否是素数.其时间复杂度上界为O(klog2(n)),其中k为检测的轮数.增大k可以提高Miller-Rabin算法的准确度. 要检测一个数是否为素数,简单 ...

  10. Vue+WebPack游戏设计:自动背景贴图和游戏主循环的实现