NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 36804|回复: 32
打印 上一主题 下一主题

[心得体会] 关于grasshopper精度问题

  [复制链接]
跳转到指定楼层
m
发表于 2013-8-13 15:56:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享分享
32m
 楼主| 发表于 2014-4-10 15:02:47 | 只看该作者

计算机算浮点数实际都是不准的,这个误差看你的设定,gh默认精度是6位,当然可以再调高一点,为什么建模要把世界坐标放到项目附近不能太远,如果你做了大体量的项目就会知道了,如果离得非常远,比如可能出现的情况,明明四点共面但就是显示不共面,明明很简单的曲线偏移就是偏移不了,明明物体相交了但是就是剪切不了。在revit里有两个坐标原点,其实就是这个道理,一个是勘测原点,一个是项目原点。
31m
发表于 2014-4-8 11:10:07 | 只看该作者
再补充一下,我是外行,有个问题,计算机算得那么精确,实际制造工艺的精度能不能达到呢?
30m
发表于 2014-4-8 11:08:03 | 只看该作者
你说的这个问题这么屌,Gh编程的人知道吗?
29m
发表于 2014-3-17 00:37:20 | 只看该作者
谢谢楼主 学习了
28m
发表于 2014-3-3 14:37:58 | 只看该作者
真相帝的身份配上迈克尔杰克逊的头像,超级高大上的感觉。。。不食人间烟火~~~
27m
发表于 2014-2-28 12:27:55 | 只看该作者
zhiaixu2010 发表于 2013-8-15 15:56
真相帝来也......
————————————————————————————————————————— ...

从专业的角度解释,明白了,谢谢
26m
发表于 2014-1-17 16:22:07 | 只看该作者
学习了学习了,以前发现了这个问题,但是不知道为什么。看了这个帖子明白了,多谢多谢~~~~~
25m
发表于 2014-1-15 16:14:09 | 只看该作者
感謝分享,學習了
24m
发表于 2013-8-21 11:02:43 | 只看该作者
学习了。这个还是挺有讲究的。
23m
 楼主| 发表于 2013-8-20 01:13:32 | 只看该作者
zhiaixu2010 发表于 2013-8-15 15:56
真相帝来也......
————————————————————————————————————————— ...

的确,根本原理是这样子的,但是这种减少误差的方式是不能用在建模上的,你不能在一次次操作模型的同时去处理模型的每个坐标而减少误差。实际上一般工程尤其是直面的,建筑师在设计的时候模型定位中心离原点都不会太远。但是大面积的异性建筑就不一样了,比如几个大圆弧构成的轮廓,通常半径会在10^8~10^11mm之间,也就是说模型尺寸的数量级或许不是非常大,但是模型距原点的位置却非常远,那么每块面每条线每个点的坐标值也会非常大。虽然说其实10^11mm这样的数量级可能影响的只是小数点后3位,但是在复杂的运算器运算过程中不可避免的让这种误差成倍增长,也或许最终下来误差并没有想象中那么大,但是我不知道什么时候它会出现,比如两条该相交的线不相交了,该共面的不共面了。也不是因为业主要求非常高的精度,人的要求是很低的,然而软件的要求却是很高的,所以为了不必要的麻烦,我养成了这种习惯,稍微大点的模型我都会先移动定位点再建模。
22m
发表于 2013-8-19 16:46:11 | 只看该作者
zhiaixu2010 发表于 2013-8-15 15:56
真相帝来也......
————————————————————————————————————————— ...

长姿势啊!
21m
发表于 2013-8-19 10:27:38 | 只看该作者
学习了,涨姿势了~
20m
发表于 2013-8-19 02:53:22 | 只看该作者
学到东东了!谢谢楼主
19m
发表于 2013-8-17 19:38:00 | 只看该作者
zhiaixu2010 发表于 2013-8-15 15:56
真相帝来也......
————————————————————————————————————————— ...

碉堡,来看看,直接用 mm单位就能减少误差了吧
18m
发表于 2013-8-16 20:17:53 | 只看该作者
zhiaixu2010 发表于 2013-8-15 15:56
真相帝来也......
————————————————————————————————————————— ...

真相帝,学习了。等以后用得到在看这个根本原因吧,现在看了一堆头大。我觉得@zyfeiniao 的方法更好吧。就是到了实际工程进行测量,在测量后的数据上进行设计————不过要是异形的估计设计师就不干了。哎,这问题得大家共同努力才能解决啊
17m
发表于 2013-8-16 20:14:05 | 只看该作者
musikerz 发表于 2013-8-14 16:48
转换单位的话,计算误差更大,别忘了人是十进制动物,而电脑是二进制机器。

哦,哦,是这样说。我只知道设置里面有容差的选项,只要在你选择范围内他就可以运算,超出了那个数据就挑选不出来,这样就可以控制了吧
16m
发表于 2013-8-16 08:41:36 | 只看该作者
在精度要求不要高的情况下,比如曲面衔接差个3、5毫米,犀牛建模可以说忽略不计,我的模型量量差了这一点,放过就放过,当作没发生就好了。。。

但是,当模型数据要转入到力学分析时,所有要计算的组成部分必须丝毫不差,所以很多力学模型,只有选择在原有框线基础上重画,失之毫厘,差之千里。。。
15m
发表于 2013-8-15 15:59:43 | 只看该作者
楼上真相帝!学习了
14m
发表于 2013-8-15 15:56:45 | 只看该作者
本帖最后由 zhiaixu2010 于 2013-8-15 16:02 编辑

真相帝来也......
——————————————————————————————————————————————————————
其实所谓的离原点越近越精确只是一种感性的说法,当你的数据位数超过16位,那么告诉你,这个数从16位以后绝对是不精确的,而且即便位数没有超过16位,对于小数点过多或者某些特殊的小数在小数点6位以后都是不精确的......WHY?
——————————————————————————————————————————————————————
让我们首先温习一下计算机对于实型数据的储存方式:
计算机储存数据的最小单位是bit(位),一字节(byte)=8bit,对于实型数据,分为float(单精度浮点)和double(双精度浮点)(C中还有long double),float在内存中占用的大小为4字节(32位),double占用8字节(64位)。在此我们只关注double类型,因为float的存储量比较小。double类型的64个内存位置能储存64个二进制数(63+1个符号位),所能表示的十进制数为15~16位,也就是说对于超过16位的十进制数,编译系统只会对其前15~16个有效位数进行计算,
如同楼主的第一张图
13m
发表于 2013-8-14 22:01:49 | 只看该作者
zyfeiniao 发表于 2013-8-14 21:07
在现有的施工技术条件下,虽然参数化无限接近最精准的定位数值,但实际工程中多次累加各种误差后,定位基本 ...

言之有理,所以需要  物联网。

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

GMT+8, 2024-11-26 05:19 , Processed in 0.151044 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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