最近的计划(持续更新)

现在是2017年11月9日,还有两天就是双11,贫穷限制了我的欲望,啥也不买了。主要说一说最近的打算吧。

自从8月份开始找工作,一直到10月1号JD给了确切的消息,自己的重心从找工作转到了写论文毕业的事情上。论文的事情自己一直很苦恼。从国庆假期回来,自己整理了一下毕业相关的计划,最后的学校时光了。

  • 基本毕业条件:
  1. 软著(已经申请,按照学校惯例,应该是达到了毕业条件)2017.10.20
  2. 专利(还没有计划)
  3. 小论文(已经写完了,在倪萍基础上改成英文,还未投递)2017.11.14
  4. 大论文(基本的思路参考lin的文章来,但是宏观模型部分卡住了
  • 有关工作和编程:
  1. 编程:C++语法以及编程时间联系加强,近期读完Effective相关的三本书,做好读书笔记;接着研究sumo的代码(*),以及部分的caffe代码;后期有时间还有Nginx
  2. 工作:买了好多书,主要是分布式和算法相关的;
  3. 实践:每日最少一道算法题(剑指offer    or   代码指南    or    编程之美)

万事皆有因。要相信一万小时定律!

更新于2017.11.09 14:30

更新于2017.11.14 19:58

大论文宏观部分通过分析数据和matlab代码,已经部分解决。

更新于2017.11.28 17:21

中期答辩结束,一切还算顺利!

更新于2017.12.08 14:27

关下灯吧!
我睡了。。。。

负能量:选择比努力更重要

现在越来越觉得,选择比努力更重要了。哎,奋斗固然重要,但是也要考虑历史进程啊。一味的奋斗不知道取舍选择,就像一个无头苍蝇。

我前一阵一直想让洋洋坚持老本行,觉得她读了四年大学三年研究生,不该放弃这个专业技能。我一直跟她说,你就算是熏陶这七年,也会熏出来一点技术素养了。可是最近这几天我反思这样的想法,是不是这样做太固执了,太传统了。就像她听到师兄说到,我可没听说过交通硕士去卖保险的。我在想当时你是胆怯的,你需要的是我的鼓励支持,没想到我也没有站在你那边。我觉得我没有做对这件事情。心里五味杂陈就不说了。都说男怕入错行女怕嫁错郎。希望你选对了。

最近,忙项目。两个项目有点压得自己喘不过气来。毕设也没有一点进展。压力大归压力大。还是得看书刷题,找工作。我可是要养我家洋洋啊。不说了看书了,比如《C++ primer》、《深度探索C++对象模型》、《STL源码剖析》、《Effective C++》、《剑指Offer》、《数据结构》,当然还有牛客网和Leetcode刷题。道路太漫长,只能一步一步来。

今天没有图,我得写个二叉树了。

+++++++++++++++++++++++++++

2017.4.14更新:洋洋户口到手,虽说以后会很劳累,但是心里更踏实了。

Three.js之让三维模型动起来

前言

在图灵社区:Three.js入门指南中  介绍了Three.js的基础知识,完全可以入门。学习后完全能够明白Three.js的工作原理和用法。这里对于基础的知识就不做详细讲解,在前面入门指南的基础下,我们来看一下怎么让三维模型动起来!

1、选取演示范例

我们可以从官网给的详细例子和源代码入手,我们这里选取的例子为:loader_3mf  ,具体代码分析:源码   选取的为倒入外部文件,可以实现鼠标的操作,正好符合我们的要求。然后就可以对示例进行代码分析。

2、代码分析及修改

首先导入文件部分:

这里除了我们熟悉的three.js外加了其他几个文件。首先3MFLoader.js很明显对应的为加载3mf格式的,然后是Detector.js,然并软我也不知道干嘛的。。。。先不管它,下一个OrbitControls.js,看名字就知道是针对轨迹控制的,最终要实现轨迹移动肯定就是它了。重点研究它。最后一个jszip.min.js,看名字压缩用的,不管他。总结来说,就是重点研究OrbitControls.js文件。

先不管头文件,接着都代码,发现还有一部分是你不熟悉的,在入门指南里面没有的。代码如下:

宝宝惊呆了,这不就是刚才打算重点研究的OrbitControls.js文件嘛,controls啊!!啥也不说了,就是干!

3、通读库源文件代码

既然OrbitControls.js用于控制的,就要明白内部有什么函数和变量,如何实现鼠标控制的。虽说Three.js官方文档写的比较烂(非常烂),但是源文件注释还是很给力的。比如:

你看,一上来就告诉你要干嘛的了!(中文翻译比较烂,领悟精神)代码实现了三种控制:

你看还告诉你怎么用的(说实话,代码读到一半我才反应过来是鼠标两个键盘和滑轮实现的,囧)。剩下的就是你要都代码了。没关系,才1000行而已(故作镇定)。通读下来,你就会对鼠标控制有了很详细的了解。这两详细讲解一下target这个属性,通过这个属性设置一个方向向量,可以实现物体围绕这个矢量旋转。

你自己都吧,完整的注释代码翻译在这里,四级水平不保证正确,错了也不要打我。

4、修改代码进行适应你的文件

你可能说,直接改一下导入格式文件不就行了吗?too young too simple!完全行不通啊。。。。。。你会发现,完全不是你要的效果啊!!这里说一下具体修改的几个地方:

调节照相机的far:near的比例。其次,千万要注释掉camera.up.set( 0, 0, 1 );否则你的三维模型看起来傻呆呆的转,完全不按套路转啊!!!然后就是调整下照相机位置。

其他内容对比源文件就能明白,这里不说了。注释代码在这里

5、总结

对于Three.js的学习,最好的办法就是跟着示例学习,读源代码,当然也有比较坑的时候,比如:

遇到一种实现效果,去读官网的代码实现,通读用到的JS库文件!!!

最后的展示效果:点击进入 (打开速度感人

Three.js无法显示三维外部文件问题解决方案

1、最初分析:

黑色背景

在运行three.js示例文件过程中,我下载后的模型总是不能导入成功。确认可以在官网页面完美显示并且自己代码无误后,锁定目标:浏览器设置。

2、查看问题:

首先,F12查看控制台信息。

报错信息

发现确实是因为谷歌浏览器设置问题。错误信息:

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

3、解决方案:

首先右键桌面的谷歌浏览器图标,选“属性

然后选“快捷方式”-“目标”,在末尾添加命令:

–disable-web-security –allow-file-access-from-files(需注意与前面路径加空格)

点击“应用”-“确定”,大功告成,重新从桌面启动浏览器,就可以成功导入外部文件了。

立体演示


4、结尾:

这些操作均是在桌面快捷方式下完成,从“开始”启动浏览器设置无效,原因不明(表示这个问题纠结了好久才发现)。

对于这种不能访问外部文件的设置,谷歌浏览器也是处于数据安全的考虑,设想如果网页可以直接获取你的本地文件,那么你的数据可能在你访问任何一个网页的时候就被上传备份了,这是可怕的!因此对于这种设置修改命令,我建议仅当调试程序时开启,当不调试程序时不要打开这个命令。

参考来源:http://stackoverflow.com/a/23758738

了解相关命令:http://stackoverflow.com/questions/18586921/how-to-launch-html-using-chrome-at-allow-file-access-from-files-mode