前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【1024程序员节】为什么有些程序员下班比你早?

【1024程序员节】为什么有些程序员下班比你早?

原创
作者头像
thingjs
修改2021-11-04 18:07:25
9720
修改2021-11-04 18:07:25
举报
文章被收录于专栏:数字孪生可视化

1024是什么?

游戏?2的十次方?某论坛节日?

10月24日,其实是程序猿翻身做主,拒绝加班的日子——程序员节(又称码农节)。

所以,请关爱身边的濒危物种程序猿吧!

为什么是10月24日?因为1024是2的十次方,二进制计数的基本计量单位,是程序员最熟悉的数字,就像医生的刀、画家的笔。

江湖上流传着这样一首诗:

床前明月光,我会写代码;千山鸟飞绝,我会写代码;

松下问童子,我会写代码;春眠不觉晓,我会写代码;

白日依山尽,我会写代码;红豆生南国,我会写代码;

锄禾日当午,我会写代码;欲穷千里目,我会写代码!

但理想丰满现实却很骨感,“加班多秃的快”已经成了程序员的御用段子。

俗话说:“工欲善其事必先利其器”,工具用得好,效率必然高。拿3D可视化应用开发来说,3D可视化应用开发对每个企业来说都是大工程,需要投入大量的人力物力财力才能做好这项工程,但其实可以化繁为简,不需要大费周章,具体来说,ThingJS 3D可视化开发平台,基于webgl3D绘制标准,使用最热门的Javascript语言,封装threejs库,前端工程师可实现在线开发,可视化场景通过拖拽和简单写一些代码,对接数据源,项目部署之后就可以运行在服务器了~真是简单好用,工具用的好,下班走得早!

ThingJS 3D框架简化了开发工作,面向对象和模块化的特点使得网页代码更加易于管理和维护,并且提供几百个个官方示例,直接获取API能力,不需要基于3D概念进行开发,适合3D商业项目快速生成!距离业务仅一层之隔,是非开发者也容易理解的一种应用方法。采用原生JavaScript的开发语言,配合简捷易用的3D搭建工具,让前端程序员和实施人员都可以立即上手。

仅需几行代码实现第一人称行走

这种3D场景中的第一人称行走仅需几十行代码就能轻松实现,代码如下:

代码语言:javascript
复制
var app = new THING.App({
 url: 'https://www.thingjs.com/static/models/factory',
 skyBox: 'Night',
 env: 'Seaside',
});
 
// 加载场景后执行
app.on('load', function () 
 // 创建按钮
 new THING.widget.Button('添加控件', add_control);
 new THING.widget.Button('重置', remove_control);
});
 
/**
 * 添加控件
 */
var ctrl = null;
var gui = null;
 
function add_control() {
 if (ctrl) {
 return;
 }
 // 摄像机飞行到某位置
 app.camera.flyTo({
 'position': [2.8321649862532032, 1.800003570690751, 19.142406079541555],
 'target': [8.238903690935196, 1.4337976272817292, 14.458302731727938],
 'time': 1000,
 'complete': function () {
 ctrl = app.addControl(
 new THING.WalkControl({
 // 参数可以动态修改
 walkSpeed: 0.02, // 行走速度
 turnSpeed: 0.25, // 右键旋转速度
 gravity: 29.8, // 物体重量
 eyeHeight: 1.8, // 人高度
 jumpSpeed: 10, // 按空格键 跳跃的速度
 enableKeyRotate: false, // 默认不开启键盘控制旋转
 useCollision: false, // 默认不开启碰撞检测
 useGravity: true // 默认开启重力
 })
 );
 // GUI
 gui = new THING.widget.Panel({ 'titleText': '第一人称行走', 'hasTitle': true });
 
 gui.position = [10, 200];
 
 gui.addBoolean(ctrl, 'enableKeyRotate').caption('键盘控制旋转');
 gui.addBoolean(ctrl, 'useCollision').caption('碰撞检测');
 gui.addBoolean(ctrl, 'useGravity').caption('重力检测');
 
 gui.addNumberSlider(ctrl, 'gravity').caption('重力').step(1).min(0).max(50).isChangeValue(true);
 gui.addNumberSlider(ctrl, 'jumpSpeed').caption('跳起速度').step(1).min(0).max(30).isChangeValue(true);
 }
 });
}
 
/**
 * 删除控件
 */
function remove_control() {
 if (ctrl) {
 // 摄像机飞行到某位置
 app.camera.flyTo({
 'position': [36.013, 42.67799999999998, 61.72399999999999],
 'target': [1.646, 7.891, 4.445],
 'time': 1000,
 'complete': function () {
 app.removeControl(ctrl);
 ctrl = null;
 gui.destroy();
 }
 });
 }
}

看下效果:

ThingJS提供的可视化能力可以让物联网应用场景更易于被理解和掌控,大幅提升客户满意度和解决方案竞争力。简单好用3D可视化平台ThingJS,前端工程师会js就可以的,试一下你就知道如何做啦~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 仅需几行代码实现第一人称行走
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档