`
wjlgryx
  • 浏览: 310860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

o3d 轨迹球贴码

 
阅读更多

使用轨迹球ARCBALL,你可以使用鼠标拖拉旋转物体!应用简单方便。

var g_root=pack.createobject('Transform');//场景的根

var g_dragging=false;

第一步:创建轨迹球对象,并初始化两个4X4矩阵

var g_aball = o3djs.arcball.create(g_client.width, g_client.height);

var g_lastRot = g_math.matrix4.identity();
var g_thisRot = g_math.matrix4.identity();

第二步:注册三个鼠标事件

o3djs.event.addEventListener(g_o3dElement, 'mousedown', startDragging);
o3djs.event.addEventListener(g_o3dElement, 'mousemove', drag);
o3djs.event.addEventListener(g_o3dElement, 'mouseup', stopDragging);

第三步:操作函数

function startDragging(e) {
g_lastRot = g_thisRot;

g_aball.click([e.x, e.y]);

g_dragging = true;
}

function drag(e) {
if (g_dragging) {
    var rotationQuat = g_aball.drag([e.x, e.y]);
    var rot_mat = g_quaternions.quaternionToRotation(rotationQuat);
    g_thisRot = g_math.matrix4.mul(g_lastRot, rot_mat);

    var m = g_root.localMatrix;
    g_math.matrix4.setUpper3x3(m, g_thisRot);
    g_root.localMatrix = m;//设置根的本地矩阵为m矩阵
}
}

function stopDragging(e) {
g_dragging = false;
}

 

分享到:
评论

相关推荐

    O3D 物体 编辑器

    在3D图形编程领域,O3D是一种开源的JavaScript库,它允许开发者在Web浏览器中创建和展示复杂的3D场景。"O3D 物体编辑器"是基于O3D库开发的一个工具,用于帮助用户在网页环境中设计、编辑和操作3D物体。这个编辑器...

    O3D学习笔记[一]素材准备*.3ds转成*.o3dtgz

    在本篇O3D学习笔记中,我们将探讨如何将3DS格式的三维模型转换为O3DTGZ格式,这是O3D系统所使用的专有格式。3DS是一种广泛使用的三维建模软件3ds Max导出的文件格式,而O3DTGZ是O3D(Open 3D Engine)框架下的压缩...

    google o3d例子3

    o3d是Google开发的基于web的3d编程API,因文件太大分三次上传

    google o3d 编程例子1

    google开发的web3d编程APT o3d.提供的各种3d效果例子,因文件太大,分三个包传上

    O3D 实例 研究中

    **O3D 实例研究详解** O3D 是一个开源的 JavaScript 库,它允许开发者在 Web 浏览器中创建高性能的三维图形应用。这个实例可能是为了展示 O3D 的基本用法和功能,帮助用户快速入门。下面我们将深入探讨 O3D 的核心...

    谷歌O3D的javascript源码

    谷歌O3D是一种由Google开发的JavaScript库,用于在Web浏览器中实现高性能的3D图形渲染。这个技术主要目标是让网页开发者能够轻松地在不借助插件的情况下创建丰富的、交互式的3D内容。O3D的核心是基于OpenGL的硬件...

    O3D文档说明(主要关键字的说明及翻译)

    在O3D文档中,我们关注的是3D图形渲染的关键概念和术语,这些内容对于理解O3D框架的架构和工作原理至关重要。以下是对这些关键术语的详细解释: 1. **Draw Context 绘制上下文**:绘制上下文是3D渲染的核心组件,它...

    o3d lib1 graph javascript ajax

    o3d lib1 graph javascript ajax

    3D-o3d.zip

    在3D-o3d.zip这个压缩包中,我们看到的是Objective-3D视频游戏引擎的相关资料,这是一个专门用于3D游戏开发的工具。 Objective-3D游戏引擎,以其强大的功能和灵活性,为开发者提供了构建逼真3D游戏环境的可能性。它...

    o3d goolge javascript

    o3d goolge javascript texture graph

    google o3d 编程例子2

    o3d是Google开发的基于web的3d编程API,因文件太大分三次上传

    野村综研O3W架构资料(内部)

    ### 野村综研O3W架构资料:深入解析与技术要点 #### 一、背景与挑战 在1980年代至1990年代初,日本许多企业开始进行核心业务系统的信息化改造,主要采用大型机为核心的专用系统。当时的终端设备主要是哑终端,仅能...

    CaO-Al2O3和CaO-SiO2-Al2O3渣系中组元活度的计算 (2013年)

    根据分子和离子共存理论,建立了CaO-Al2O3 和CaO-SiO2-Al2O3 渣系的活度计算模型,并利用模型对渣中各组元的活度进行了计算,分析了 w (CaO )对渣中组元活度的影响.结果表明,在 CaO-Al2O3 渣系中,当w(CaO)小于45%时,...

    o3dv_0.8.3.zip

    "o3dv_0.8.3.zip" 是一个压缩包文件,包含了 Online3DViewer 的 0.8.3 版本。Online3DViewer 是一个基于 Web 的三维模型查看器,它允许用户在浏览器中查看和交互三维模型,无需安装任何额外的软件。这个工具主要利用...

    XPS Study on Al2O3- and AlPO4-Coated LiCoO2

    A low binding energy component in the Al 2p core peak spectra was observed and attributed to the formation of a LiAlxCo1−xO2 solid solution interphase for both Al2O3- and AlPO4-coated LiCoO2. The ...

    稀土氧化物掺杂SrO-CaO-Al2O3-SiO2-B2O3系统封接玻璃的研究

    稀土氧化物掺杂SrO-CaO-Al2O3-SiO2-B2O3系统封接玻璃的研究,沈阳,李橙,本论文通过淬火的工艺制备了分别掺杂稀土氧化物CeO2和Pr2O3的SrO-CaO-Al2O3-SiO2-B2O3系统封接玻璃。通过差热分析确定两组玻璃的特征温度,...

    o3d-webgl-pool:来自废弃 o3d 引擎开发者的 3D 台球游戏演示

    【标题】"o3d-webgl-pool" 是一个基于废弃的 o3d 引擎开发者构建的3D台球游戏演示项目。这个项目利用了WebGL技术来呈现逼真的3D图形,让玩家能够在浏览器中体验台球游戏的乐趣。 【JavaScript】作为主要的编程语言...

Global site tag (gtag.js) - Google Analytics