标签:dna分子结构 twaver mono design 3d
生物信息资源更新越来越快,使用可视化的方法来分析DNA序列已成为生物信息学的一个研究热点,用图形表示DNA序列的方法也越来越成熟。2011年,著名杂志《Science》发表一篇引起轰动的文章:《Presenting the Human Genome:Now is 3D!》,这篇文章完全给我们描述了人类基因组测序未来的蓝图,可见3D技术在很多领域都是发展方向。
使用mono可以快速的创建DNA分子结构立体模型,效果如下:
当然简单的呈现DNA分子结构,仅仅是一部分功能,如果将mono和专业的DNA分析仪结合,不仅可以发现病症,更重要的是预测病症的发生,治病于未发,这将是人类的福音。除了研究人类基因之外,我们还可以对农作物的进行DNA3D模型化,并加以分析,对农业的发展和粮食安全方面都会有积极的意义。
使用mono创建3D模型最大的特点就是快,代码不过几十行,使用Editor更是不需要代码量。本文的效果图通过代码实现,核心代码如下:
1 |
function
createDNA(box, x, y, z, colors){ |
2 |
var
count= 20 +Math.random()* 50 ; |
3 |
var
dist= 50 ; |
4 |
var
parent=createNode(box, 10 , 0 , 0 , 0 , ‘red‘ ); |
5 |
for (var
i= 0 ;i<count;i++){ |
6 |
var
angle=Math.PI* 2 / 360 * 15 *i; |
7 |
var
radius = (i % 2 == 0 )
? 10 : 7 ; |
8 |
var
color = colors[i% 2 ] |
9 |
var
node1=createPairNode(box, dist, radius, i, angle, color); |
10 |
var
node2=createPairNode(box, dist* 0.3 ,
radius, i, angle, color); |
11 |
node1.setParent(parent); |
12 |
node2.setParent(parent); |
13 |
14 |
if (i
% 2 == 0 ){ |
15 |
var
link=createLink(box, node1, node2, dist, angle, ‘gray‘ ); |
16 |
var
node3=createPairNode(box, dist* 0.58 ,
radius* 0.4 ,
i, angle, ‘cyan‘ ); |
17 |
var
node4=createPairNode(box, dist* 0.72 ,
radius* 0.4 ,
i, angle, ‘cyan‘ ); |
18 |
link.setParent(parent); |
19 |
node3.setParent(parent); |
20 |
node4.setParent(parent); |
21 |
} |
22 |
} |
23 |
parent.setPosition(x,y,z); |
24 |
parent.setStyle( ‘m.visible‘ , false ); |
25 |
return parent; |
26 |
} |
1 |
function
createPairNode(box, size, radius, index, angle, color){ |
2 |
var
x=size*Math.sin(angle); |
3 |
var
z=size*Math.cos(angle); |
4 |
var
y=index * 10 ; |
5 |
var
node = createNode(box, radius, x, y, z, color); |
6 |
return node; |
7 |
} |
标签:dna分子结构 twaver mono design 3d
原文地址:http://blog.csdn.net/twaver/article/details/38730277