基于THREE JS的 JSON 模型格式 理解

THREE.js 是一个开源的基于WebGL的渲染引擎,提供了很多方便有用的类与方法,为我们使用WebGL提供了大大的便利,简化了我们的学习成本,让你只要专注于项目本身,而不会花太多时间留在WebGL的技术实现细节。当你在处理3D网络应用或项目时,你就会遇到一个问题,选择一个适合的模型格式就会摆在你的案头。obj, 3ds, dae还是其他什么呢?对于那些以二进制进行数据保存的格式而已,网络加载是一个问题,js处理二进制也是一个问题, 所以,如果有一个可以完美支持JS特性的格式,那真是令人高兴的事情,JSON Model Format 就是这样一种模式格式。

JSON Model Format 的基本格式如下:

{
	"metadata": { "formatVersion" : 3 },	

	"materials": [ {
		"DbgColor" : 15658734, // => 0xeeeeee
		"DbgIndex" : 0,
		"DbgName" : "dummy",
		"colorDiffuse" : [ 1, 0, 0 ],
	} ],

	"vertices": [ 0,0,0, 0,0,1, 1,0,1, 1,0,0, ... ],
	"normals":  [ 0,1,0, ... ],
	"colors":   [ 1,0,0, 0,1,0, 0,0,1, 1,1,0, ... ],
	"uvs":      [ [ 0,0, 0,1, 1,0, 1,1 ], ... ],

	"faces": 	[43, 0, 4, 5, 1, 0, 0, 1, 2, 3, 0, 1, 2, 3]
}

其中Metadata 中包含formatVersion 用于指示当前文件所用的格式版本号,这将决定于解析器如何解析下面的文件内容。

接下来另一个重要的域是Materials, 指定该模型所用到的素材,一个模型可能用到多个素材,所以,Materials是一个数组,每一项都是material对象。每个Material对象都包括DbgIndex 指示该Material的索引,DbgName显示Matrial的名字。

接下来的一个域是vertices, 也就是顶点了,顶点以三个数为一组,每三个数组成一个顶点坐标,x, y, z. Normals用于保存法线坐标,跟顶点一样,每三个数组成一个法线向量。 Colors是顶点颜色, THREE.js 允许给每个顶点指定颜色。 uvs是贴图坐标,faces是模型的面了,我们都知道模型是由三角面、四角面或多边形面组成的, faces就是用来保存这个面的信息。

一个面可以包括多个信息,比如说,他是三角面还是四边形面或是其他?每个顶点是不是有颜色?是不是只有一个面法线还是有面顶点法线?要区分并保存这些信息,faces是如何做的吗?其他他的格式是这样的,基本上可以看做是流式。以一个标志为开头,后面跟一系列的数据说明。例如:

[ 43, 0, 4, 5, 1, 0, 0, 1, 2, 3, 0, 1, 2, 3 ]

第一个数, 43 就是这个标志. 把这个标志表示成二进制,它的每个二进制位都代表着不同的意思。43 表示成二进制如下:

00 10 10 11

43 表示成一个字节,8个二进制位,每个位都有特定含意,如果这个位为1(置位),表示这个位在后续的数据流中有表示,如果为0,则说明后续的数据流中没有该位所代表的特定含意的数据表示。那么这8个位都表示什么意思呢?

二进制位

含意

0

面的类型。如果为0,表示三角面,为1表示四边形面

1

指示该面是否有素材,0表示没有,1表示有

2

指示该面是否有贴图坐标,0表示没有,1表示有

3

指示该面是否有顶点贴图坐标,0表示没有,1表示有

4

指示该面是否有面法线,0表示没有,1表示有

5

指示该面是否有顶点法线,0表示没有,1表示有

6

指示是否为面指定了颜色,0表示没有,1表示有

7

指示是否有顶点颜色,0表示没有,1表示有

 

后面的数据是按照从小大到的顺序排列的。 例如如果标志为43的话,表示 四边形面,有素材,有顶点贴图坐标,有顶点法线。所以,43后面跟着的四位数:0, 4, 5, 1 就是对应顶点的索引。 那么接下来的 0 就表示当前面的素材索引为 0, 然后接下来的 0, 1, 2, 3, 表示顶点贴图坐标的索引,最后的0, 1, 2, 3 则是顶点法线的索引。.

以上说的是大部分模型都会有的数据。有些特殊的模型还会有别的域,比如说

 "morphTargets" : [{ "name": "animation_000000", "vertices": [ ... ] }, ... { "name": "animation_000000", "vertices": [ ... ]}],
 "bones" : [],
 "skinIndices" : [],
 "skinWeights" : [],
 "animation" : {}

morphTargets存在表示模型存在变形动画,后面跟着的都是每帧的顶点数据。 bones用于保存骨骼信息,animation用于保存动画信息。

以上是基本的对JSON Model Format 的说明与解析,希望能对你有所帮助。

本文为原创,如果你想转载,请注明“梦溪笔记”出品!

3D-Book

汇率和利率的关系

汇率和利率应该大致上服从“利率平价”规则。利率平价的意思是说,你的1块钱人民币存一年获得的收益,应该和这1块钱人民币兑换成美元、在美国存一年、再换回人民币以后获得的收益一样多。

 

如果可以自由兑换,并不需要通过物价。
现有有两个国家货币是A和B,0年汇率1A可兑换2B,记作1A=2B,A所在国利率若为5%,B所在国利率若为10%,并作如下假设:
a.存贷利率相等且不变
b.货币可完全自由兑换
c.利率为无风险利率,且不受任何其他因素影响
则可通过下述步骤套利:
1、借入A,假设1000单位A
2、兑换为B,得到2000B
3、B存入1年得到2200B
4、兑换为A,得到1100A
5、归还1050A,净得50A。
由上可以看到,如果利率和汇率不变,则存在无风险套利手法。而根据“免费午餐不存在”这一基本法则,可以看到两者间如果存在利差,则A需求较B为少,则会从实际中促进A、B两者1年后汇率发生改变,如果市场是完全高效的,则到到期日,A、B的汇率变为1050A=2200B,即刚好无风险套利所得为0。此处假设利率已经锁定,在实际中,活期利率和汇率会同时受到影响而改变,最后趋向于一个平衡状态。凡是处于不平衡状态的利率/汇率都在理论上存在套利机会,但并非无风险,因为假设c实际上不成立。
天朝的情况需要通过物价,因为假设b不成立,此种情况下无法通过利差来平衡物价,需要引入购买力的概念。“购买力平价比”代表的是这两种货币潜在的汇率预期。我们假设市场上仅有一种商品C且两者都能生产,汇率依然是1A=2B不变,并作如下假设:
d.假设商品可以自由流通
e.两地以当地货币计价的商品C价格相等,为1A或1B,且两者消耗的资源也相等。
f.两者都可以生产超过两者总需求之和的C,且C的标价不变
g.货币总量不变
则我们发现在A所在国,产品C的价格是1A,若出口到B所在国标价是2B,但当地生产只需要1B,因此根据替代原理,A生产的C销量是0,而反向从B所在国进口C,标价仅需0.5A。此时相当于B在补贴A,A所在国的消费者获得了更好的价格,而B的资源被相对低估了。从而在原理上,两者的资源应当是同等价值的。那么A所在国将必须大量用A兑换B来购买C,使得A相对B贬值,最后两者趋向于相等。
而目前,为了获得资金,我朝即B,将上述的修正机制短路,通过不断购买A货币债券将A返回到A所在国,并在固定汇率下发行B使A可以兑换B购买商品C,其结果就是B获得了大量A债券资产和B现金,A获得了商品C,但大量负债。

汇率

中国危机:你知道房价继续上涨的后果吗?

中国房地产市场已经成为一个巨大的“庞式骗局”。当前许多地方的房价已经完全脱离其真实价值,而是完全靠升值预期来支撑。     在中国长期实行低利率的政策的作用下,中国房地产市场经历了30多年牛市的奇迹。到如今,市场中已经存在许多“根深蒂固”的信念:一。中国经济依然会保持高速增长。二。人民币还会继续升值。三。中国的土地价格只涨不跌。四,中国ZF决不会让市场“跳水”等等。

 

正是这些信念不断驱动资金流入这个房地产市场。于是价格被进一步哄抬。从而进一步验证这些“根深蒂固”的信念。如今,中国的老百姓却加入这场狂欢。现在是我们冷静下来,研究一下这个泡沫的时候了。评估房价,最重要的方法就是衡量一下价格收入比和租金收益。现在新建房价格和家庭收入之比的平均值在很多城市已经达到15。这一水平在当今世界都是“名列前茅”的。在意味着房价每提高10%,就相当于1。5倍的家庭收入。至于平均租金收益,每个租房的人都可以算算。如果现在投资房产,按出租收入,房东要多少年才能回收当前房价成本。你算出来的是:几十年甚至上百年。

房价能否继续冲高,取决于ZF的政策。不过,中国ZF已经很清楚房价继续上涨所引发的严重后果。
首先,看通货膨胀。如果对通货膨胀有所研究的话。你就会明白:近期,ZF采取上调存款准备金等一系列紧缩性政策来控制通胀,效果却甚微。因为它治标不治本。通货膨胀通常起始于成本的推动。现在这轮通货膨胀很复杂。所以,不扯远了。就单谈房地产价格对通货膨胀的传导机制。  房价是引发通胀预期并导致通胀的重要原因。何出此言。我们来分析一下。在现代经济中,土地是劳动力之后的第二大生产投入。高房(土地)是导致通货膨胀的主要渠道之一。这在于银行的抵押贷款政策。如果房价(地价)被标高100%,相应的贷款就随之增加100%。这样,银行中的许多钱流入房地产市场。由于ZF对土地的垄断以及进入房地产投机性和盈利性,房价的上涨传导给劳动者和生产者。
     

现在,不管是蓝领,还是白领工作者都无法承受目前的高房价。他们必须要求提高工资来购买住房。这样生产者面临劳动成本的提高。另外,高房价导致租金水平。劳动力成本,租金成本的提高使得商品的生产成本提高。企业只好把这转移到消费者身上。表现出来的是:消费品价格上涨。 所以,中国必须通过阻止并扭转房价上升来控制通胀及预期。
     

再看房地产泡沫所带来人口的变化。现在年轻人开始拥有不生育或低生育的观念。这并不是中国实行计划生育政策的结果,而是高房价和高生活成本使人民不得不养成这一观念。所以说:如果房地产泡沫继续的话,这会导致未来20年的人口灾变。虽然,最初,出生率下降是有益的,这意味着只需要更少的资源就可以养活这些年轻人,这就是所谓的“人口红利”。然而,未来20年,中国将面临人口老龄化以及人口总数下降的局面。
     

老龄化会对资产价格带来灾难性后果。以楼市为例,必将变成长期的熊市。人口减少意味着对楼市需求的减少。由于房产是一项长期持久的资产,因此可能出现长期的供应过剩。从而对楼价产生不断向下的压力。
     

如果中国ZF不在中国经济正处于平稳增长阶段控制房价上涨的话,那么,用不了十年,那时,再来补救,恐怕已经来不及了。一旦房地产市场的拐点出现,房地产泡沫的破灭将给中国经济带来沉重的打击。因为,在大势发生逆转时,ZF并没有能力去扭转市场趋势。日本的经验已经证明了这一点。
     

现在日本正饱受人口老龄化和人口红利逆转之苦。近20年来,日本的房地产价格以年均7%的速度下降。尽管现在中国人对房产如此热衷。但是,一旦老龄化来袭,中国楼市将迎来一轮可怕的熊市,这一切很可能用不了15年就会成为现实。
     

至于高房价引发的社会分配不公以及社会矛盾,这正在威胁中国社会的不稳定。这不必多说,中国ZF早就意识到这一点。
     

房地产已成为中国经济发展的一个潜在危机

团队容易失败的10大特征

特征一:团队成员不经常开会或者只是假装开会。

你和其他团队成员经常在一起开会吗?而且,是真正一起开会,还是假装一起开会?真正一起开会,形式并不重要,而是真正有信息的分享和脑力的激荡,真正在讨论问题和解决问题。假装在一起开会,就是走个开会的过场而已。我想我们都开过这样的会议。

特征二:团队成员不了解彼此的目标、压力和需要的帮助。

你了解其他团队成员的目标、压力和需要的帮助吗?如果团队成员不在一起开会,或者只是表面上在一起假装开会,那么就必然不会了解其他团队成员的目标、压力和需要的帮助。

特征三:团队成员之间没有明确的责、权、利的划分。

你和其他团队成员之间有明确的责、权、利的划分吗?团队成员必须要有明确的责任、权力和利益的分配,这是建设团队的第一步。为什么三个和尚没水吃?因为他们之间没有明确的分工。一件事情,如果变成人人有责,最后往往是谁都不负责。

特征四:团队成员之间缺乏互补的能力。

其他团队成员能够给你提供实际帮助吗?团队成员之间应该要能够互相帮助,就像是足球队中,前锋需要人传球,守门员需要后卫帮助防守。这样的帮助,以胜任力为前提。如果某NBA球队选我去跟姚明配合,那么这个球队必输无疑。

特征五:没有明确的团队合作的流程。

关于你和团队成员之间怎样配合,有明确的工作流程吗?如果不能彼此配合,优秀的球员在一起也要输球,这就是某届奥运会上,有NBA最优秀的球员的美国梦之队只获得铜牌的原因。而要彼此配合,应该有明确的(不一定是书面的)工作流程。

特征六:团队成员不认同团队流程和制度。

你认同团队的流程和制度吗?实际上,许多团队有流程,但是这些流程和其他制度一样,往往只是写在纸上,或者只是停留在团队领导者的嘴上,或者是由公司强迫执行,不被团队成员认同。

特征七:团队成员不能参与团队的重大决策。

团队的重大决策会征求你的意见吗?团队流程和制度不被团队成员接受的一个重要原因,就是在制定的时候没有考虑团队成员的意见。并不是说重大决策需要团队成员投票通过,但是征求意见是必须的。

特征八:团队合作得不到奖励,团队不合作也得不到处罚。

如果你帮助其他团队成员,你会得到什么好处吗?团队精神是培养而不是命令出来的,而培养的一个重要手段就是薪酬和奖励制度。如果不考核团队合作,不奖励团队合作,在绝大多数情况下就不会有团队合作。所以,足球队除了奖励射门得分的球员,还会奖励助攻的那个球员。

特征九:团队成员不能分享团队成果。

你会因为团队取得重大成果得到好处吗,即使你没有做出直接贡献?如果销售翻了三番,却只有销售人员得到奖励,那么就很可能出现物流部说无法及时送货、财务部说无法及时开票的情况。所以,获得奖牌的足球队,每个人都会上台领奖,包括从未上场的替补队员。

特征十:团队成员不信任团队领导者。

你信任你们的团队领导者吗?如果团队领导者不能以身作则,不能言行一致,将得不到信任。同时,团队成员信任能够带领团队取得成功的领导者。如果一个团队呈现出上面九个特征,很大程度的原因是在于团队领导者的糟糕领导,团队将取得失败,团队领导者也无法获得信任。

 

2531170_142921650000_2

想做高帅富,先练就好姿势!

小时候,妈妈和老师经常喊“坐直了!”,但站如松坐如钟常常变成了耳边风。无论你信不信,我们的父母和老师直觉地相信良好的姿势对孩子的生理和心理都有利,他们只是想让这个深深地印在我们的脑袋里。然而,我们总是让爸爸妈妈失望,继续弯腰驼背我行我素。

为什么要保持良好的姿势?

良好的姿势对我们的身心有多方面的促进作用。下面我们将列举其中的几点:

改善器官功能

当我们向前弯腰驼背的时候,我们的胸廓实际上是在向下压着我们的内脏器官,这种挤压会导致我们出现消化方面的问题。良好的姿势可以使我们保持肠道顺畅,从而促进消化。

减轻疼痛

如果你长期遭受上半身的疼痛,有可能是你的不良姿势造成的。在最初改成正姿势的时候,你可能会觉得过去弯腰驼背的时候似乎更舒服一些。但是请坚持——你是在重塑你的身体,使它恢复最初的姿势。经过一个星期的肌肉强化,即使你没做什么治疗,你的慢性疼痛也会开始减少。

使成绩更优秀

一项由科罗拉多学院(Colorado College)进行的实验表明,那些坐姿最好的男同学的成绩明显高于那些弯腰驼背的。该报告的第一作者罗伯特博士说道:“挺拔的姿势会让人感到更有优势和更有成就感,这反过来能够让他们更懂得放松、工作更专心。”有趣的是,研究表明,更好的体态在学习上的促进作用只体现在男生身上,而对女生没什么影响。(那么女生的什么会影响成绩呢?)

预防驼背

说起驼背,我们常常想到的是上了年纪的妇女,还有雨果笔下的卡西莫多(钟楼怪人)。骨质疏松多发于年长女性,但随着年龄的增加,男性也可能会有严重的骨质流失。所以,注意保持良好的姿势,有助于延迟驼背的发生(此外,额外补充钙的摄取也有所帮助)。

一秒钟增高

研究表明,与那些相对不高的男性相比,更高的男性会赚更多的钱、吸引更多的女性。当然,不是说如果不高就不能赚大钱、不受女性欢迎(看看阿汤哥吧,你懂的)。但是这些研究也暗示了一个事实,那就是当我们打量别人的时候,我们会重点考虑身高因素。不过,在你跑去买内增高鞋垫之前,必须告诉你:其实,很多男性因为姿势不良,看上去比实际身高矮了1英寸(约2.54厘米)。虽然坐直了不会立刻把你变成詹姆士邦德,但它至少会让你达到身高的最大值。而且,在你年轻的时候保持良好的姿势,有助于减少年老时的身高缩水,还能使你在上了年纪之后依然能轻松地弯腰检查你家汽车的轮胎。

预防啤酒肚

想必你曾见过那些四肢非常瘦削但却有个大肚腩的各种蜀黍。在这里,有两个因素在起着作用。第一,随着年纪增长,新陈代谢会减慢,对于男性而言,这意味着他们会在腹部储存更多的脂肪。通过合理饮食和体育锻炼,这些能够得到缓解。另一个因素则是体态姿势。如上文所提到的,不良的姿势会使你的胸廓向下压迫你的内脏器官,它们又会向外突出,压向腹壁——那些有着大肚腩的佛像就是一个很好的例证。良好的姿势有助于我们减去腰上的几寸赘肉。(当啤酒肚大到一定程度时,躺着真的也能中枪哦。)

增加自信

还记得上文提到的科罗拉多州学院的实验吗?实验还指出改善了的姿势会让男性更自信。因此,下次当你准备去面试或者跟MM第一次搭讪的时候,记得要站得更直一些哦。

怎样才算好姿势?

脊柱的3个生理弯曲,分别是颈曲(位于颈部底部即从寰椎至隆椎的脊柱前突)、胸曲(位于背部中间即从第1胸椎至第12胸椎的脊柱后突)和腰曲(位于腰部底下即从第1腰椎至第5腰椎的脊柱前突)。

脊柱的3个生理弯曲,分别是颈曲(位于颈部底部即从寰椎至隆椎的脊柱前突)、胸曲(位于背部中间即从第1胸椎至第12胸椎的脊柱后突)和腰曲(位于腰部底下即从第1腰椎至第5腰椎的脊柱前突)。

良好的姿势并不是要求你僵直的像块板,而是放松的体态和“自然的脊椎”。其中,“自然的脊椎”保留了三个脊柱生理性弯曲。许多人在纠正姿势时会矫枉过正——站得太直了,以至于把天然弯曲也给扳直了。(原来,有时候,弯才是真的直……)

当我们处于正确的姿势时,我们的耳朵、肩膀、臀部、膝盖以及脚踝都应该位于一条直线上。良好的站姿应该是这样的:在脑海里想象从耳垂上垂下一根铅垂线,如果你的姿势是正确的,那么铅垂线就会正好穿过踝骨。

如果你不是一个想象力特别丰富的人,试试“墙壁测试”吧。站立时头、肩、背靠在墙壁上,脚后跟向前5-6英寸(12.7厘米-15.24厘米);收腹,下背部不要向前拱;然后离开墙壁,试着保持这个姿势(假设墙一直在那里)。

站如松

挺拔的站姿可以使人看起来高一点。

挺拔的站姿可以使人看起来高一点。

1.双脚与肩同宽,大腿肌肉拉直但双膝不要向后用力。将自身的重量放在前脚掌而非脚后跟上。可以让某人轻轻地推你的胸骨一把——如果你很容易就失去平衡,那就说明你的重心不对。

2.保持腰曲的弧度,避免过度挺向前或突向后,在长时间的站立期间要尤其注意。骶骨要微微下沉。

3.挺胸。肩胛骨应该要向下后伸展,这也可以使髋骨和胸廓拉开恰当的距离。

4.下巴平放。放松颌骨和颈部的肌肉,身体的最高点应该是后脑勺的顶点。

5.必要时用“墙壁测试”检查自己的姿势是否正确。

坐如钟

良好的坐姿可以减少肌肉疲劳。

良好的坐姿可以减少肌肉疲劳。

1.双脚平放在地板上,膝关节和髋关节各弯曲90度。虽然翘着脚坐看上去更舒服些,但实际上这个姿势扭曲了你的躯体,还给关节和肌肉增加了不必要的压力。

2.保持腰曲的弧度。如果你不清楚多少弧度才算好的话,可以试着慢慢向后伸展至笔直的极限,然后再稍稍收回来10%-15%,这个弧度就刚刚好。

3.挺胸。想象一根绳子的一端绑在你衬衫上的第二或者第三个纽扣上,把你“吊”在天花板上。

4.下巴要平放。可以想象顶一本书在头上。

5.避免弯腰驼背或者前倾的姿势,长时间坐在办公室而感到疲累的时候,要特别提醒自己注意。

6.多小憩。一开始,端正的坐姿可能会使人感到很累,可以慢慢来。比如保持端正坐姿20分钟后,站起来小憩一下。在周围走走,伸展四肢后再坐回去工作。

常常检查自身姿势

诚然,保持良好的姿势不是一件易事。我们可能早上还坐得笔直笔直的,用不了多久就又弯腰伏案,迷失在工作中了。在这里,给大家介绍一个小方法,提醒自己注意自己的姿势:

准备一根绳子,把绳子的一端系在衬衫上的第一颗纽扣上,另一端系在你的皮带扣上,使你坐正的时候,绳子是拉紧的;而没有坐直的时候,绳子便会松弛下来,这时候就该赶紧坐好,重新调整你的姿势了。

 

高富帅

 

PS: 从现在起,让我们做一个高富帅吧!从坐姿开始!