NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 30693|回复: 19
打印 上一主题 下一主题

[工作记录] P5画圈圈

[复制链接]
跳转到指定楼层
1m
发表于 2011-7-4 13:53:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我画的

P_2_2_5_01.pde

3.85 KB, 下载次数: 22, 下载积分: 照度 -1 lux

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
 楼主| 发表于 2011-7-4 13:55:30 | 只看该作者
其实我是根据gh代码改的 ArrayList L=new ArrayList (); //PeasyCam cam; int total=400; float x[]=new float[total]; OnCircle c1; OnCircle c2; PFont font; public void setup() { // // cam = new PeasyCam(this, 200); // cam.setMinimumDistance(50); //cam.setMaximumDistance(5000); size(600,400); noLoop(); ellipseMode(CENTER); background(255); font= createFont("FFScala", 10); textFont(font); for(int i=0;i3){x[i]= random(15,30);} else {x[i]= random(8,14);} } c1=new OnCircle(new On3dPoint(width/2,height/2,0), x[0]); c2=new OnCircle(new On3dPoint(x[1]+width/2 + x[0],height/2,0), x[1]); L.add(c1);L.add(c2); line(c1.Center.x,c1.Center.y,c2.Center.x,c2.Center.y); ///* for(int i=2;i=0;j-=1){ if (L.get(j).Center.DistanceTo(c3.Center)*1.02 < (L.get(j).radius + c3.radius)){ c1 =(OnCircle)L.get(j); sign = false; break; } } count += 1; } while(count<20 && sign == false); if (sign){ L.add(c3); line(c3.Center.x,c3.Center.y,c2.Center.x,c2.Center.y); c2 = c3 ; line(c1.Center.x,c1.Center.y,c2.Center.x,c2.Center.y); } } //*/ } public OnCircle circle(OnCircle c1, OnCircle c2, float r ) { float l1 = c1.Center.DistanceTo(c2.Center); float l2 = c1.radius + r; float l3 = c2.radius + r; float n = (float) Math.acos((l1 *l1 + l2 *l2 - l3 *l3) / (2 * l1 * l2)); On3dVector v =new On3dVector(c2.Center.x - c1.Center.x, c2.Center.y - c1.Center.y, c2.Center.z - c1.Center.z); v.Rotate(n, new On3dVector(0, 0, 1)); v.Unitize(); v .mul(l2); On3dPoint p =new On3dPoint(c1.Center.x + v.x, c1.Center.y + v.y, c1.Center.z + v.z); return new OnCircle(p, r); } public void draw(){ for(int i=0;i
3m
 楼主| 发表于 2011-7-4 13:56:49 | 只看该作者
要问我为啥能用On3dPoint和On3dVector类 哎呀 那是因为我用java重写了opennurbs的部分类嘛
4m
发表于 2011-7-4 14:36:42 | 只看该作者
再次看到PANHAO大的东西 虽然看不懂 沙发我占啦
5m
发表于 2011-7-4 14:43:06 | 只看该作者
此贴不错,学习了1
6m
发表于 2011-7-4 14:51:38 | 只看该作者
你用java重写了opennurbs啊!如此贡献, 严重申请潘大哥按grasshopper方程格式写好整套openNurb译成binary DLL让大家下载享用!!!!
7m
发表于 2011-7-4 16:56:37 | 只看该作者
不知道其中深意
8m
 楼主| 发表于 2011-7-4 17:23:38 | 只看该作者
6# holonking 还是师傅您识货 我只是重写了一部分 主要是按方案需要多少就重写多少 慢慢加上去的 OpenNurbs的C++代码网上是可以下载的 可以通过两种方式重写 第一是源代码的翻写 这也是我做的 第二种是写出Java接口,再通过JavaNative替换Cpp文件的函数,网上有。net的例子,可以参考
9m
发表于 2011-7-4 17:30:41 | 只看该作者
quite good!
10m
发表于 2011-7-4 20:52:43 | 只看该作者
重写opennurbs?! 大牛啊,敬仰中。。。。
11m
 楼主| 发表于 2011-7-4 23:03:31 | 只看该作者
10# darklight 只是一小部分啊 不要曲解啊~~~
12m
发表于 2011-7-5 07:56:49 | 只看该作者
嗯,不错,值得深入~
13m
发表于 2011-7-5 14:12:49 | 只看该作者
只能感叹……{:3_55:}
14m
发表于 2011-7-6 09:39:41 | 只看该作者
楼主太牛了,敬仰中。。
15m
发表于 2011-7-7 19:12:32 | 只看该作者
楼主很厉害~学习借鉴一下~
16m
发表于 2011-7-8 11:31:52 | 只看该作者
这是processing吗
17m
发表于 2011-7-8 19:48:31 | 只看该作者
16# guodeqiang 是啊,如假包换,怎么现在还会有这问题?
18m
发表于 2011-7-11 23:26:46 | 只看该作者
不错 。。。。
19m
发表于 2011-7-12 09:40:33 | 只看该作者
看不懂 {:3_62:}
20m
发表于 2017-7-27 08:41:07 | 只看该作者
这圈圈有点头晕

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-23 17:33 , Processed in 0.076357 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表