Java惯性数据库_来自ThreeJS的OrbitControl中的惯性
我使用了一种快速而肮脏的方法来编写这种效果 -
在 OrbitControls.js 中,将此函数添加到主声明中(或任何地方) -
this.inertiaFunction = function()
{
scope.rotateLeft( ( 2 * Math.PI * rotateDelta.x / PIXELS_PER_ROUND * scope.userRotateSpeed )/dividingFactor);
scope.rotateUp( ( 2 * Math.PI * rotateDelta.y / PIXELS_PER_ROUND * scope.userRotateSpeed )/dividingFactor);
dividingFactor+=0.5;
}
在 onMouseDown(event) 函数中,在第一行添加 -
dividingFactor = 1;
(这样每次点击都会重置因子)
在 onMouseUp(event) 函数中,在开头添加了这些行 -
dragging2=false;
timer = setTimeout(function(){dragging=false;}, 500);
dragging 和 dragging2 是我们在requestAnimFrame函数中使用的两个标志,用于确定鼠标是否已被抬起且500毫秒尚未通过 .
在主animate()或requestAnimationFrame()函数中添加它 -
if(dragging && !dragging2){ controls.inertiaFunction(); }
这将检查是否(鼠标已被抬起)和(500毫秒尚未通过) -
调用controls对象的inertiaFunction()(这是 THREE.OrbitControls 的一个实例)
对于用户在提升鼠标的500ms内单击的情况,我们使用 timer 对象取消setTimeOut .
在你的onMouseDown函数中,添加这个 -
if(dragging)
{
clearTimeout(timer);
}
不要忘记将 dragging , timer 和 dragging2 以及 dividingFactor 声明为全局变量 . 使用 dividingFactor 和 setTimeout() 中的500ms来改变行进距离和惯性运动的持续时间 .
Java惯性数据库_来自ThreeJS的OrbitControl中的惯性相关推荐
- java derby数据库_使用Apache Derby进行Java数据库开发,第1部分
java derby数据库 JDBC简介 以前,本系列文章通过使用ij工具连接Apache Derby数据库并与之交互来演示了许多数据库概念. 尽管当时可能还不太明显,但是您使用的Java应用程序使用 ...
- java derby数据库_使用Apache Derby进行Java数据库开发,第3部分
该"使用Apache Derby进行Java数据库开发"系列的上一篇文章向您展示了如何使用Java Statement对象在Apache Derby数据库上执行SQL SELECT ...
- java序列化深克隆_如何在内存序列化中使用Java深克隆对象
java序列化深克隆 在我以前的文章中,我解释了深度克隆和浅层克隆之间的区别 , 以及复制构造函数和防御性复制方法比默认的Java克隆如何更好. 使用复制构造函数和防御性复制方法进行的Java对象克隆 ...
- azure云数据库_在Azure Cosmos DB中使用PowerShell创建和删除数据库
azure云数据库 Our testing or development may call for dynamic creation on the database level for Azure C ...
- arcgis打开mdb数据库_操作方法:在 ArcGIS 中连接至 Microsoft Access 2007 / 2010 (ACCDB) 文件...
操作方法:在 ArcGIS 中连接至 Microsoft Access 2007 / 2010 (ACCDB) 文件 摘要 Microsoft Office 2007 引入了一种新的 Microsof ...
- java 模型 数据库_数据库表与java域模型之间的mapping和自动生成(基于mybatis)
最近有幸读到<企业架构模式>这本书,需要写作于2003年,已经是十年前,但仔细读过,有些东西现在只知道是这样用,但并不知道为什么要这样做.在看过此书之后,很多东西都能够有一条线进行贯穿,在 ...
- java 数据结构 数据库_数据库索引背后的数据结构
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法.这种数据结构,就是索引. B-Tree B-Tree是一种 ...
- java 删除数据库_【Java】执行数据库的删除操作
import java.sql.*; //执行数据库的删除操作 public class DeleteData { //定义MySQL的数据库驱动程序 public static final Stri ...
- 汽车租赁系统java基于数据库_基于数据库和JAVA的网上汽车租赁管理系统的设计(MySQL)...
基于数据库和JAVA的网上汽车租赁管理系统的设计(MySQL)(论文11000字,程序代码,MySQL数据库) 摘要:本文用JAVA编程语言为主体,用JDBC连接MySQL数据库来设计和实现这个系统. ...
- 影院售票系统java和数据库_影院售票管理系统的设计与实现(SSH,SQLServer)(含录像)...
影院售票管理系统的设计与实现(SSH,SQLServer)(含录像)(毕业论文15900字,程序代码,SQLServer数据库) 本毕业设计的内容,阐述了实现整个电影票预订系统功能的系统.从实现电影票 ...
最新文章
- qfdw.xyz sq.php,GitHub - STORMSQ/sqphp: 練習用框架,使用PHP搭建
- MVC-Razor(3)
- Eclipse引入spring约束详细教程
- 日美“利刃”联合军演
- python plt.plot bar 设置绘图尺寸大小
- C# Windows 服务
- Linux内核中的延时函数
- 《The Django Book》笔记(未完结)
- ENVI监督分类及精度评价
- shell运行python脚本报错没有包_脚本安装Discuz论坛(shell + Python 实现自动化安装)...
- android如何获取网络的状态码,Android RxJava+Retrofit网络异常、状态码统一处理
- 【我的产品观】开发wangEditor一年总结
- 全世界国家的数据库sql
- 华为4G无线路由器测试锁频软件,华为4g无线路由器 新款E5375路由器测试
- 【Linux】Linux 基础开发工具(yum、vim、gcc/g++、gdb、make/makefile、git)
- 浅谈Arrays.asList()方法
- C#网络应用编程——复习总结
- Java实现蓝桥杯调和级数
- 【物联网】物联网安全---编辑中
- 问题 D: 扑克牌排序(结构体)