×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

大家来思考11-Grasshopper排列组合问题

发布于 2013-9-12 0 点赞 21 评论 12762 浏览

关于高中数学排列组合问题,大家还有印象吧?
举个小例子,就是本期大家来思考系列的思考题。
第一个是:三组不同的数字,每组各取一个数字,取出的三个数字做加法,请问有多少种可能性,并计算出每组结果。
未标题-2 拷贝.jpg

第二个是:同一个点集内(10个随机点),任取三点建立三角形,请问最多有多少个三角形?并生成最终结果。
未标题-2 拷贝.jpg
最终结果
3.jpg

GH高级班学员务必参与讨论……

本帖被以下淘专辑推荐:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

hf0419001 | 资深设计师 | 发表于 2013-9-13 15:16:58
1.png
左边是组合,右边是结果(排除相同的值)

2.png
1 回复

举报

参与人数 1经验 +3 大洋 +3 收起 理由
wyx10022 + 3 + 3 很给力!

查看全部评分

乌龙 | 设计总监 | 发表于 2013-9-12 20:05:59
前排占座。。。。
0 回复

举报

kodg | 实习生 | 发表于 2013-9-12 20:16:04
第一道题是算什么有点不明白 就算出各组的结果就行了吗
0 回复

举报

wyx10022 · 发表于 2013-9-12 20:19 点评

要计算出每一种可能性,题目里可没有说一一对应哦……

wyx10022 | 网校特聘讲师 | 发表于 2013-9-12 20:19:59
kodg 发表于 2013-9-12 20:16
第一道题是算什么有点不明白 就算出各组的结果就行了吗

要计算出每一种可能性,题目里可没有说一一对应哦……
0 回复

举报

kodg · 发表于 2013-9-12 22:32 点评

恩 老师请教下可以吗 就是如何用组的数据来找到他在组里面的路径,比如我已知2要找到2在组里的排位1,[/img]

kodg | 实习生 | 发表于 2013-9-12 22:32:54
wyx10022 发表于 2013-9-12 20:19
要计算出每一种可能性,题目里可没有说一一对应哦……

恩  老师请教下可以吗 就是如何用组的数据来找到他在组里面的路径,比如我已知2要找到2在组里的排位1,[img][/img]
1.jpg
0 回复

举报

wyx10022 · 发表于 2013-9-12 22:58 点评

这个是最基本的数据筛选,属于初级内容…… 用=运算器判定

wyx10022 | 网校特聘讲师 | 发表于 2013-9-12 22:58:05
kodg 发表于 2013-9-12 22:32
恩  老师请教下可以吗 就是如何用组的数据来找到他在组里面的路径,比如我已知2要找到2在组里的排位1,[/ ...

这个是最基本的数据筛选,属于初级内容……
用=运算器判定
0 回复

举报

gerryellis | 实习生 | 发表于 2013-9-13 10:01:35
[s:160]我纯凑热闹
0 回复

举报

hf0419001 | 资深设计师 | 发表于 2013-9-13 14:03:51
本帖最后由 hf0419001 于 2013-9-13 14:22 编辑

老师,第一个是说相加完了之后有几种结果吗?
第二个要排除大小一样的三角形吗?
0 回复

举报

wyx10022 · 发表于 2013-9-13 14:44 点评

是的,也就是要列举所有的组合方式 排除重合的三角形

wyx10022 | 网校特聘讲师 | 发表于 2013-9-13 14:44:41
hf0419001 发表于 2013-9-13 14:03
老师,第一个是说相加完了之后有几种结果吗?
第二个要排除大小一样的三角形吗?
...

是的,也就是要列举所有的组合方式

排除重合的三角形
0 回复

举报

hskcool | 设计师 | 发表于 2013-9-13 22:52:20
360软件小助手截图20130913225138.jpg
0 回复

举报

参与人数 1经验 +3 收起 理由
wyx10022 + 3 很给力!

查看全部评分

zzucloud | 资深设计师 | 发表于 2013-10-23 16:36:04
11.jpg
11-2.jpg
做的时候出现个问题,就是做到后面串联折线后用袋鼠中删除相同线会多删除
问题1.jpg
如上图,合并相同线前有720条,合并后应该是120条(手动应征得出),当用
运算器却只得到36条,推测应该是运算器在进行合并时默认将折线打散了,不
知该如何解决这个问题,最后只得用手工方法进行合并……
0 回复

举报

wyx10022 · 发表于 2013-10-23 21:09 点评

即将上线的《高级课程作业》,我提示了最简方法,11月初上线,请关注

参与人数 1经验 +3 收起 理由
wyx10022 + 3 很给力!

查看全部评分

wyx10022 | 网校特聘讲师 | 发表于 2013-10-23 21:09:15
zzucloud 发表于 2013-10-23 16:36
做的时候出现个问题,就是做到后面串联折线后用袋鼠中删除相同线会多删除

如上图,合并相同线前有720条 ...

即将上线的《高级课程作业》,我提示了最简方法,11月初上线,请关注
0 回复

举报

此间的少年 | 设计师 | 发表于 2014-2-4 01:37:31
本帖最后由 此间的少年 于 2014-2-4 01:59 编辑

第一题用树形数据与线形数据相加即可。
排列组合.png
第二题依然用了vb,应该是最简便的方法,代码只用了11行,而且很简单就避免了重复。最后输出的数据是刚好120个。
QQ截图20140204013426.png

三角形.png
0 回复

举报

hf0419001 · 发表于 2014-2-5 14:04 点评

既然是个纯数学问题,也就是C(10,3),代码肯定是最优的方法。但Grasshopper其实也是一种语言,可视化的,这也是它的优势。 下面图片,算是公开了一种解法了。不过这个解法其实跟什么都没说一个样哦!

wyx10022 · 发表于 2014-2-4 20:18 点评

不错,关于是否最简的代码方法,这个需要由论坛代码高手来讨论了…… @hskcool,@hf0419001,@wp1935 @hippo100312

参与人数 1经验 +3 收起 理由
wyx10022 + 3 很给力!

查看全部评分

wyx10022 | 网校特聘讲师 | 发表于 2014-2-4 20:18:27
本帖最后由 wyx10022 于 2014-2-4 20:26 编辑
此间的少年 发表于 2014-2-4 01:37
第一题用树形数据与线形数据相加即可。

第二题依然用了vb,应该是最简便的方法,代码只用了11行,而且很简 ...

不错,关于是否最简的代码方法,这个需要由论坛研究代码的同学来讨论了……
@hskcool @hf0419001 @wp1935 @hippo100312   @asyan8848
0 回复

举报

wp1935 · 发表于 2014-2-5 12:52 点评

只有结果没有代码看不出是否有优化的空间,另外,代码的长短并不是代码优劣的评判标准,主要还是要看算法的时间复杂度O()是否更优化

wp1935 | 网校特聘讲师 | 发表于 2014-2-5 12:52:44
wyx10022 发表于 2014-2-4 20:18
不错,关于是否最简的代码方法,这个需要由论坛研究代码的同学来讨论了……
@hskcool @hf0419001 @wp1935  ...

只有结果没有代码看不出是否有优化的空间,另外,代码的长短并不是代码优劣的评判标准,主要还是要看算法的时间复杂度O()是否更优化
0 回复

举报

wyx10022 · 发表于 2014-2-5 13:16 点评

额,给王鹏老师转一下 @此间的少年

wyx10022 | 网校特聘讲师 | 发表于 2014-2-5 13:16:02
wp1935 发表于 2014-2-5 12:52
只有结果没有代码看不出是否有优化的空间,另外,代码的长短并不是代码优劣的评判标准,主要还是要看算法 ...

额,给王鹏老师转一下
@此间的少年
0 回复

举报

hf0419001 | 资深设计师 | 发表于 2014-2-5 14:04:58
此间的少年 发表于 2014-2-4 01:37
第一题用树形数据与线形数据相加即可。

第二题依然用了vb,应该是最简便的方法,代码只用了11行,而且很简 ...

既然是个纯数学问题,也就是C(10,3),代码肯定是最优的方法。但Grasshopper其实也是一种语言,可视化的,这也是它的优势。
下面图片,算是公开了一种解法了。不过这个解法其实跟什么都没说一个样哦![s:168]

1.png

2.png
0 回复

举报

hskcool · 发表于 2014-2-6 16:20 点评

最简单的方法如上图。itertools module。

wyx10022 · 发表于 2014-2-5 18:31 点评

果然跟白话一样…… combinations是python自带的函数?

wyx10022 | 网校特聘讲师 | 发表于 2014-2-5 18:31:57
hf0419001 发表于 2014-2-5 14:04
既然是个纯数学问题,也就是C(10,3),代码肯定是最优的方法。但Grasshopper其实也是一种语言,可视化的, ...

果然跟白话一样……
combinations是python自带的函数?
0 回复

举报

hf0419001 · 发表于 2014-2-5 20:09 点评

是的

hf0419001 | 资深设计师 | 发表于 2014-2-5 20:09:13
wyx10022 发表于 2014-2-5 18:31
果然跟白话一样……
combinations是python自带的函数?

是的
0 回复

举报

hskcool | 设计师 | 发表于 2014-2-6 16:20:05
hf0419001 发表于 2014-2-5 14:04
既然是个纯数学问题,也就是C(10,3),代码肯定是最优的方法。但Grasshopper其实也是一种语言,可视化的, ...

最简单的方法如上图。itertools module。
0 回复

举报

ganlinufo | 实习生 | 发表于 2015-7-21 20:33:48
grasshopper菜鸟,看到王老师帖子,自己尝试做了一下。用的是交叉运算器
I9@6M7MCN36QMS`]7XZG[W4.png
0 回复

举报

参与人数 1经验 +3 收起 理由
wyx10022 + 3 赞一个!

查看全部评分

推荐学习