2018新年的期许

昨天是1.7(谐音一起),是一个挺重要的日子。我和洋洋在2017年1月7日约定作为纪念日。可是作为第二个纪念日,一周年纪念显得有点尴尬。

17年春天开始,我持续出现偏头痛。自己去医院查了没有啥毛病,也就没有在意。前两天我们两个去按摩,跟按摩师傅聊起来,说我长期坐着颈椎脊椎和腰椎都不太好,说起偏头痛,师傅说很有可能是这个引起的。16年10月份开始,我几乎每天坐上最少10个小时,不想一年多就出了毛病。珍惜自己的身体啊,身体健康了才可以争取其他的。昨天洋洋我俩又关于我的体重问题产生了一点不愉快。最近一年多我自己确实也体会到了,自己的体重没有控制好,工作以后感觉会更不好控制。一直拿着没时间当借口,自己也是太懒惰了。18年希望自己身体可以更健康一点。第一次去按摩,真的出来感觉挨了一顿揍,还是打了全身的那种。

前一阵元伟哥一直在问我啥时候可以过去,我因为学校论文的事情一直没有过去,心里一直有歉意。当初整个系统改架构的时候,说好的我是和他一起参与,最后也没有参与进去。希望年后可以尽快加入。自己也希望自己可以尽快的成长。赚钱是首要的,人有价值才更重要。希望可以和洋洋一步一步的走下来。

年前还有一个月,大论文够呛,自己只能尽量写一些。还有一件重要的事情就是考驾照。目前我是通过了科目一,科目二刚开始练习,接下来过了交通委的会议,我就抓紧学习驾照,争取年前拿到驾驶本。

最近在看的书《windows核心编程》《深入理解计算机系统》《程序员的自我修养-链接、装载与库》《编码-隐匿在计算机软硬件背后的语言》,可以发现这些书都是偏底层一些。其实这些内容在大的框架上在本科都有接触学习过。但是在本科没有好好学习,现在再看《编译原理》《汇编语言》《计算机组成原理》《嵌入式开发》等等,浪费了多么好的时光。当初课上不好好学,现在要挤时间学习这些。最近洋洋我们没有啥想看的电影,那么我就看书她就看一会手机。昨天我看技术书,她看着文学书(暂且把孟非的自传看作文学类的),然后我们讨论文革,讨论重庆,讨论孟非这个人。那种感觉很好,可是我知道我不能说,因为她昨天很失望。我也很抱歉。希望以后我们可以很自然的在一起看着书。

前一阵我还看了《Redis实战》《循序渐进学Docker》《深度学习-21天实战Caffe》这些书都是更高一层的,比高级语言还有高级一层(软件的管理与开发)。上面提到的《编码》那本书对我的感触很大,从莫尔斯编码->布莱叶盲文->二进制编码,给了编码的一种发展历程;从手电筒->电路通信->继电器->逻辑开关与门->布尔代数在电路中的应用;电路的加减法实现->触发器->十六进制存储,进一步的描述了存储的发展,计算的发展:算盘->芯片,以及操作系统的发展。这本书从宏观的历史潮流讲述了计算机的产生历程以及内部组成原理。我开始对底层着迷,甚至是电路和芯片的组成。想象这这几个寄存器和电路的组装,就能实现好多人脑完不成的,而机器只是机械的完成你给它的任务而已。我觉得世界是奇妙的,说明我的知识是匮乏的。

希望自己新的一年,可以真的做到知识上的充裕,进而带来精神和财富上的满足。

书封面
《编码》

生活在继续。从18年6月份开始,我的生活将会改变为自力更生。读了二十多年的学,时间过的好快。开始自己组建家庭,参加工作,承担起家庭的担子。我和洋洋很多次讨论过以后的日子怎么过。如果是在其他的城市估计还会好一些,可是这是在北京,是一个淘金地,也是竞争最激烈的城市。房价真的是太高了。洋洋说愿意为之一起奋斗,我心里是感激的。我对于感情不奢求太多,两个人好好的就好。等我工作了,我会先把双方父母的医疗保险买了,毕竟年龄大了,身体越来越差。然后就攒钱买房。说到攒钱,在中国如果一辈子勤勤恳恳的工作,估计两辈子才够买房的。理财很重要,就像今年火爆的比特币以及其他的山寨币!18年总的来说是很值得期待的一年。希望我们两个可以走下去!也希望我们的家庭和睦,亲人身体健康!

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

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

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

最近,忙项目。两个项目有点压得自己喘不过气来。毕设也没有一点进展。压力大归压力大。还是得看书刷题,找工作。我可是要养我家洋洋啊。不说了看书了,比如《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