NCF参数化建筑论坛

标题: workshop的成果(适用于膜结构) [打印本页]

作者: aufalpen    时间: 2010-12-22 07:56
标题: workshop的成果(适用于膜结构)
[attach]13358[/attach] 一门seminar的workshop,一共三天,从零基础开始,一直到图片上这个程度。所以你可以想像,进度是很快的。幸亏有点rs基础,好歹跟下来。这是workshop上我一步步照老师屏幕上抄下来的,老师演示很快,能抄下来实在是不容易。可惜因为精力有限,这门课没有继续跟下去,processing我也只经历了三天,算是入门级别。 这绝对是难得的高级范例,你若能研究明白也算是一定程度上的高手了。若有什么问题,我也很难解答,但愿这里有高手相助。 一切免费下载。目的是希望你们积极下载研究,提高国内processing水平(在建筑学方面的应用)。如果你们能在这里积极探讨、相互传授经验更好了,望不要吝啬你这方面的知识。 [attach]13359[/attach]
作者: 小新同学    时间: 2010-12-22 13:11
下来看看学习下吧
作者: weiwei    时间: 2010-12-22 14:09
過陣子我也會練習一下PR,有機會研究依下spring system 感覺最近很熱門
作者: angel_19870311    时间: 2010-12-22 15:30
很好,谢谢谢谢
作者: 天明2009    时间: 2010-12-22 16:51
啥意思啊啊???
作者: eggplant8008    时间: 2010-12-22 17:38
膜结构............. 快过时的东西了 发展中国家大多选择30年使用期的便宜货,不否认它在某种程度上革新了建筑表皮,蛋,弊远远大于利! 在霸占轻巧大跨度工期短的同时它大大的消耗了资源
作者: WENDYJOLIE    时间: 2010-12-22 18:16
很不错 谢谢分享
作者: kebu    时间: 2010-12-23 00:59
刷2照度看看吧
作者: 没碗    时间: 2010-12-23 02:16
弄这东西一定要知道原理么? 直接用相应软件出数据深入是否可以?
作者: claudemit    时间: 2010-12-23 05:36
感谢分享,先学习下看看
作者: angelliu321    时间: 2010-12-23 10:13
顶LZ的精神!!!!!!!!!!!!
作者: 麓山小农    时间: 2010-12-23 14:37
感觉时间精力都太有限了……恨不得一天有48个小时 楼主加油
作者: inoor    时间: 2010-12-23 15:22
感謝分享,好好學習
作者: musofan    时间: 2010-12-23 15:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: panhao1    时间: 2010-12-23 16:27
simon G 的东西确实比较好用 源码倒是有,不过没什么reference,用起来还是不方便啊
作者: aufalpen    时间: 2010-12-23 17:32
本帖最后由 aufalpen 于 2010-12-24 03:17 编辑
弄这东西一定要知道原理么? 直接用相应软件出数据深入是否可以? 没碗 发表于 2010-12-23 02:16
啊?这个seminar是研究surface或mesh的,同学自己从中选一个。这个pr的workshop是辅助这个seminar开的。我当初也想拿这程序直接用,但发现我们做实际的模型要复杂多,所以程序还需要拓展才行。只知其然不知其所以然是很痛苦的,局限性很大。写程序跟做数学题似的,要花很长时间。所有的编程我都是零基础开始,精力实在有限,最后决定这学期放弃pr。但我觉得这个程序研究明白了,那pr的水平肯定会提高一大截。最好是某位高手整明白了,写个教程给大家。
作者: aufalpen    时间: 2010-12-23 17:38
simon G 的东西确实比较好用 源码倒是有,不过没什么reference,用起来还是不方便啊 panhao1 发表于 2010-12-23 16:27
simon G是什么...
作者: TG123    时间: 2010-12-24 13:25
Java就是比vb有用,学校安排的课真是无脑啊。
作者: huoge003    时间: 2010-12-24 21:15
随时答复是东方
作者: WENDYJOLIE    时间: 2010-12-24 22:12
感谢分享 资源很好
作者: kevinlee    时间: 2010-12-25 22:18
谢谢楼主积极分享~
作者: Cosmic.Nova    时间: 2011-1-1 10:32
谢谢楼主分享,顶起好东西!
作者: mhx1005    时间: 2011-1-2 15:55
貌似见到同学了,等站内短信!
作者: jcyh289    时间: 2011-1-3 15:06
processing怎么能和建筑设计联系在一起啊,最近在写ESSAY,Is there a way to create a softer,more human interface to building through computer.OR In what ways script can be used to improve the design process~~希望能得到LZ的帮助啊,痛哭流涕不胜感激
作者: whaat    时间: 2011-1-4 12:37
1# aufalpen 很希望能多接触这方面的东西。
作者: whaat    时间: 2011-1-8 15:00
1# aufalpen 下载学习~
作者: 黑色病毒    时间: 2011-1-11 10:39
感谢分享~!
作者: wshopro    时间: 2011-1-12 21:28
看到同学了,注册个号来支持下。 seminar后来我们分小组设计,没有征求过其他小组成员的意见,不好把目前的成果发上来。下面是小组讨论前我的初稿,刚接触processing,不成熟,权当抛砖引玉。(说明:部分代码源于老师 Mr. Ahlquist 给的文件,特别是Tab "cylinder" 里的内容;基本结构参考workshop里的文件,就是楼主上传的那个。) 附件是截图和文件。[attach]14140[/attach][attach]14141[/attach] 我把代码也复制一份在下面,方便大家查阅。 首先需要两个library:particles 和 peasycam, 下载后直接拖到processing安装地址的libraries文件夹里。 第一页代码: import peasy.test.*; import peasy.org.apache.commons.math.*; import peasy.*; import peasy.org.apache.commons.math.geometry.*; import simong.*; import simong.particles.*; PeasyCam cam; ParticleSystem ps; cylinderStructure cy; void setup(){ size(921,691,P3D); smooth(); cam = new PeasyCam(this, 0, 0, 0, 1000); ps= new ParticleSystem(this); ps.drawForces=true; ps.setGravity(0,0,-0.1); ps.defaultMass=0.01; ps.defaultSpringDamping=0.01; ps.defaultSpringRestLength=0.3; strokeWeight(1); stroke(0,150); cy = new cylinderStructure(); } void draw(){ background(255); ps.draw(); cy.update(); } 新建一个Tab(文件里名为cylinderStructure): class cylinderStructure{ cylinder[] cyds; cylinderStructure(){ cyds = new cylinder [8]; cyds[0] = new cylinder(ps, 24, 24, -300, -300, 0); cyds[1] = new cylinder(ps, 24, 24, 0, -300, 0); cyds[2] = new cylinder(ps, 24, 24, 300, -300, 0); cyds[3] = new cylinder(ps, 24, 24, 300, 0, 0); cyds[4] = new cylinder(ps, 24, 24, 300, 300, 0); cyds[5] = new cylinder(ps, 24, 24, 0, 300, 0); cyds[6] = new cylinder(ps, 24, 24, -300, 300, 0); cyds[7] = new cylinder(ps, 24, 24, -300, 0, 0); } void update(){ for (int i=0;i<24; i++) { for (int j=0;j<24;j++) { for (int m = 0; m <8; m+=2) { cyds[m].pArr[j].unfix(); if (i==0){ if (j==3)cyds[m].pArr[j].fix(); if (j==9) cyds[m].pArr[j].fix(); if (j==15) cyds[m].pArr[j].fix(); if (j==21) cyds[m].pArr[j].fix(); } else if (i==23){ if (j==3) cyds[m].pArr[j].fix(); if (j==9) cyds[m].pArr[j].fix(); if (j==15) cyds[m].pArr[j].fix(); if (j==21) cyds[m].pArr[j].fix(); } } } } for (int i=0;i<24; i++) { for (int j=0;j<24;j++) { for (int n = 1; n <8; n+=2) { cyds[n].pArr[j].unfix(); if (i==0){ if (j==3)cyds[n].pArr[j].fix(); if (j==9) cyds[n].pArr[j].fix(); if (j==15) cyds[n].pArr[j].fix(); if (j==21) cyds[n].pArr[j].fix(); } else if (i==23){ if (j==3) cyds[n].pArr[j].fix(); if (j==9) cyds[n].pArr[j].fix(); if (j==15) cyds[n].pArr[j].fix(); if (j==21) cyds[n].pArr[j].fix(); } } } } } } 新建一tab(文件里名为cylinder): class cylinder{ ParticleSystem ps; Particle [][] pArr; Spring [] sArr; int rCt; int cCt; float aInc; float radius=200.0; float step = 15.0; float xpos, ypos, zpos; public cylinder(ParticleSystem defPS, int definedrCt, int definedcCt, float x, float y, float z ){ this.ps = defPS; this.rCt = definedrCt; this.cCt = definedcCt; this.xpos = x; this.ypos = y; this.zpos = z; this.createMeshPoints(); this.createMeshEdges(); } void createMeshPoints(){ pArr = new Particle[rCt][cCt]; aInc=360/cCt; for (int i=0;i[j]=new Particle(ps,sin(aRad)*radius+xpos,cos(aRad)*radius+ypos,i*step+zpos); pArr[j].visible=false; if (i==0 || i==rCt-1) { pArr[j].fix(); pArr[j].visible=true; } } } } void createMeshEdges(){ sArr = new Spring[10000]; int k=0; for (int i=0;i[j],pArr[i+1][j]); k++; if (j[j],pArr[j+1]); k++; if (i==rCt-2) { sArr[k]=new Spring(pArr[i+1][j],pArr[i+1][j+1]); k++; } } else { sArr[k]=new Spring(pArr[j],pArr[0]); k++; if (i==rCt-2) { sArr[k]=new Spring(pArr[i+1][j],pArr[i+1][0]); k++; } } } } } } OK,到此为止。
作者: wshopro    时间: 2011-1-12 21:41
不知道为什么,上面复制的代码有错误 许多应该是[i][j]的地方只显示[j] 大家看附件吧
作者: aufalpen    时间: 2011-1-13 03:36
30# wshopro 你重新发个帖,以免别人错过这么好的资源。
作者: wshopro    时间: 2011-1-14 06:36
31# aufalpen 刚注册,不知道怎么发帖,显示"对不起,本版块只有特定用户组可以发新话题,请返回。"或者你把那文件再发个帖也行。
作者: wshopro    时间: 2011-2-9 22:10
再一个初稿 tab roof import peasy.org.apache.commons.math.*; import peasy.*; import peasy.org.apache.commons.math.geometry.*; import processing.opengl.*; import processing.dxf.*; import simong.particles.*; //define the SystemParamater PeasyCam cam; ParticleSystem ps; membranen m1; void setup() { //define the SystemParamater size(921,691,P3D); //define the CameraParamater cam = new PeasyCam(this, 0,0,0,1000); //define the ParticleSystem ps= new ParticleSystem(this); ps.drawForces=true; ps.setGravity(0,0,0); ps.defaultMass=0.01; ps.defaultSpringDamping=0.1; ps.defaultSpringRestLength=5; strokeWeight(1); stroke(0,150); m1 = new membranen(); } void draw() { background(255); ps.draw(); }
作者: wshopro    时间: 2011-2-9 22:11
Tab Membranen class membranen{ int n, N; int r, R; int h, H; int c, C; int d, D; float L1, L2; float[][] xpos ; float[][] ypos ; float[][] zpos ; float[] z0; float[] zn ; Particle[][] Points; Spring[][] meshEdges_1; Spring[][] meshEdges_2; membranen(){ createPoints(); createMesh(); } void createPoints(){ n = 10; N = 180; r = 100; R = 500; h = 50; H = 240; d = 25; D = 60; //c = d*h/r; C = D*H/R; L1 = (PI * 2 * r) / N; L2 = (PI * 2 * R) / N; xpos = new float [N][(n+1)]; ypos = new float [N][(n+1)]; zpos = new float [N][(n+1)]; z0 = new float [N]; zn = new float [N]; Points = new Particle[N][(n+1)]; for(int i = 0; i 作者: wshopro    时间: 2011-2-9 22:16
无法上传附件 文件分两个Tab,可以将两页代码拷贝到processing运行
作者: wshopro    时间: 2011-2-9 22:16
Tab Membranen class membranen{ int n, N; int r, R; int h, H; int c, C; int d, D; float L1, L2; float[][] xpos ; float[][] ypos ; float[][] zpos ; float[] z0; float[] zn ; Particle[][] Points; Spring[][] meshEdges_1; Spring[][] meshEdges_2; membranen(){ createPoints(); createMesh(); } void createPoints(){ n = 10; N = 180; r = 100; R = 500; h = 50; H = 240; d = 25; D = 60; //c = d*h/r; C = D*H/R; L1 = (PI * 2 * r) / N; L2 = (PI * 2 * R) / N; xpos = new float [N][(n+1)]; ypos = new float [N][(n+1)]; zpos = new float [N][(n+1)]; z0 = new float [N]; zn = new float [N]; Points = new Particle[N][(n+1)]; for(int i = 0; i 作者: darklight    时间: 2011-2-28 23:44
先学习学习,提高一下processing。。。。
作者: r1987114    时间: 2011-3-12 01:19
感谢分享 资源很好
作者: molo616    时间: 2011-3-19 20:12
学习中 谢谢分享作品!!!!
作者: nibizhang    时间: 2011-8-16 19:56
这玩意pr里面的example就有啊
作者: caojian    时间: 2011-9-7 13:10
感谢分享 资源很好
作者: 黑色病毒    时间: 2011-9-11 22:46
感谢分享 资源很好
作者: nibizhang    时间: 2011-9-13 23:10
这玩意library的example有啊····完全不用下
作者: 时间敲冰    时间: 2011-9-17 22:25
LZ,非常支持你这样的开源精神,现在我也在学processing,本人建筑研究生,但是processing如何应用到建筑上也产生了疑惑,毕竟这个想在空间建模上超过建模软件是不太可能的,但是数据可视化和互动的研究应该大有发展
作者: yao124    时间: 2011-9-23 23:25
下来看看学习下吧
作者: 木叶苍蓝猛兽    时间: 2011-12-21 02:37
下下来看看 楼主抄的辛苦了
作者: xuzhiqiu2002    时间: 2011-12-21 03:00
非常感谢!正是需要的时候!
作者: 黑色病毒    时间: 2011-12-21 09:12
很不错 谢谢分享
作者: FRICKKJ2426469    时间: 2012-3-22 03:27
谢谢分享!
作者: rickydbq    时间: 2012-3-31 18:42
看看,谢谢楼主的分享~~~
作者: jason    时间: 2012-3-31 21:46
还是直接上kangaroo了。。processing不会啊。。
作者: duanqiaozai    时间: 2012-4-5 17:31
感谢楼主分享
作者: septemarch    时间: 2012-4-6 21:50
这什么意思啊???
作者: yinny    时间: 2012-5-3 15:39
meshgrid,GH 老师用KANGAROO也做过。
作者: 土豆的生活    时间: 2012-5-3 19:38
学习下。。。。。。。。。
作者: lorenzo13    时间: 2012-5-4 22:20
先来看看学习下吧
作者: hustjgwjy    时间: 2014-5-20 12:37
精典帖子!!!
作者: skylinensx    时间: 2014-8-12 22:10
楼主真的是很不容易啊
作者: 熊宝宝    时间: 2014-9-17 11:11
好东西, 但是不会用




欢迎光临 NCF参数化建筑论坛 (http://www.ncf-china.com/) Powered by Discuz! X3.2