掌握编程过程中遇到的思路方面和技术方面的问题. 内容包括以下几个方面:
反向逻辑思维能力的培养;
建立清晰的编程逻辑思维能力;
GH 的程序设计理念;
并行数据结构深入理解和控制.
Grasshopper course of McNeel Asia focus on the cultivation of students flexible use of programming techniques, the ability to solve practical problems. Our course deep into the whole process of programming, from programming thinking model, the components principle to usage details do detailed explanation, help students complete mastery programming encountered in the process of thinking and technical aspects, include the following content:
Ability of reverse logical thinking;
Establishment of clear programming logical thinking ability;
The program design concept of Grasshopper;
Understanding parallel data tree structure and how to control it.
更多详细内容... More details…
授课讲师 Instructor 课程由Grasshopper原厂McNeel公司在中国地区的两位 Rhino 原厂技术推广工程师 – Dixon、Jessesn联合授课。课程结束后对达到授课预定目标的学员颁发唯一由Grasshopper原厂认证的结业证书.
Dixon & Jessesn, McNeel Asia Support engineer, by the end of course student who achieve the intended target will get the authentication certificate from McNeel Asia.
课程报名 Register this course 课程即日开始报名, 开课一周前停止报名, 名额满提前报名结束. This course begin to sign up, stop sign up a week ago, with the quota ahead over.
在线报名参加课程...
Sign up to this course…
课程日期 Schedule 7/15-7/20 Beijing 北京 7/26-7/31 Shanghai 上海 7/07-7/12 Shenzhen 深圳
课程范例演示 Samples of Grasshopper course demo
Note: pls follow below comments by Jessesn to see the samples…
1
condition: largest number<max length
then the packing would look something like this:
1 |4 |5 |7 |2
9 |6 |5 |3 |2
|5
|1
sums|10|10|10|10|10 => 100% efficiency
And the algorithm is:
1.Place first number(x=1)
2.Calculate the rest(R) in this row(10-1=9)
3.Search for closest x <= than R
3.1 If x=R -> place that number -> end of cycle
3.2 If x<=R -> place that number -> return to 2.
3.3 If x=null -> end of cycle
Something like this.
Can this be classified as brute force?
…
Added by Artyom Maxim at 11:08am on March 19, 2013
the catenary shape
6) Get the mid point of all the heaxgons
7) Create surfaces to get the average normal of each hexagons
8) Project the hexagon on the normal plane
9) Move the plane using the normals
10) create mesh faces between first and second hexagons
11) create mesh faces to close the planar hexagon
12) Orient all the mesh faces on a flat grid to laser cut them
13) Join and weld the mesh
14) Thicken the mesh using Weaverbird to get a shell
I hope this helps. It is all one mesh at the end made of quads on the side and triangles on the top (yes 6 of them).
All the best,
Arthur
…
fault materials...6 RAD materials are loaded1. 2. Downloading OpenStudioMasterTemplate.idf to c:\ladybug\3. Loading EP construction library4. 206 material found in c:\ladybug\OpenStudioMasterTemplate.idf5. 30 windowmaterial found in c:\ladybug\OpenStudioMasterTemplate.idf6. 284 construction found in c:\ladybug\OpenStudioMasterTemplate.idf7. Loading EP schedules...8. The ScheduleTypeLimits: Fraction is already existed in the libaray.You need to rename this ScheduleTypeLimits.9. The ScheduleTypeLimits: Temperature 7 is already existed in the libaray.You need to rename this ScheduleTypeLimits.10. 21 scheduletypelimits found in c:\ladybug\OpenStudioMasterTemplate.idf11. 1370 schedule found in c:\ladybug\OpenStudioMasterTemplate.idf12. 13. 14. Hooohooho...Flying!!Vviiiiiiizzz...…
{0;1;0}N=6
{0;1;1}N=6
{0;1;2}N=5
{0;2;0}N=7
{0;2;1}N=8
{0;2;2}N=9
Can you shift and wrap any of the paths A B or C?
Say if I wanted to shift and wrap B by 1 to get the following...
{0;0;0}N=7
{0;0;1}N=8
{0;0;2}N=9
{0;1;0}N=3
{0;1;1}N=2
{0;1;2}N=5
{0;2;0}N=6
{0;2;1}N=6
{0;2;2}N=5…
pe and its surface.
However, I don't have that much knowledge about both grasshopper and Mathematica.. I mean I can only make assumptions and think about relations of certain functions but that's all.
If you can help me on this, I would appreciate it so much.
You can see a screenshot of the code and model of the demonstration from mathematica in attachment.
And here is the mathematica code;
Manipulate[ Module[{\[CurlyEpsilon] = 10^-6, c1 = Tan[a1], c2 = Tan[a2], c3 = Tan[a3], c4 = Tan[a4], c5 = Tan[a5], c6 = Tan[a6]}, ContourPlot3D[ Evaluate[ c6 Sin[3 x] Sin[2 y] Sin[z] + c4 Sin[2 x] Sin[3 y] Sin[z] + c5 Sin[3 x] Sin[y] Sin[2 z] + c2 Sin[x] Sin[3 y] Sin[2 z] + c3 Sin[2 x] Sin[y] Sin[3 z] + c1 Sin[x] Sin[2 y] Sin[3 z] == 0], {x, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {y, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {z, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, Mesh -> False, ImageSize -> {400, 400}, Boxed -> False, Axes -> False, NormalsFunction -> "Average", PlotPoints -> ControlActive[10, 30], PerformanceGoal -> "Speed"]], {{a1, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(1\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a2, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(2\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a3, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(3\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a4, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(4\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a5, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(5\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a6, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(6\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, AutorunSequencing -> {1, 3, 5}, ControlPlacement -> Left]…
number of divisions on that curve as in the defintion (i.e. by 4). The offset in the def is slightly different and should cull two or three more curves as in the lists that show my aim below.
Basically I want to look into each branch of the groups of points from each closed curve . Marking in a list whether it contains a one or a zero (0= outside 1 = coincidents).
{0;0}0. 21. 22. 23. 2 {0;1} 0. 01. 22. 03. 2 {0;2}0. 01. 02. 03. 0 {0;3}0. 21. 22. 23. 2 {0;4}0. 21. 22. 23. 2 {0;5}0. 21. 22. 23. 2 {0;6}0. 01. 22. 23. 1 {0;7}0. 21. 22. 03. 0 {0;8}0. 21. 22. 23. 2 {0;9}0. 21. 22. 23. 2 {0;10}0. 21. 22. 23. 2 {0;11}0. 21. 22. 23. 2 {0;12}0. 21. 22. 23. 2 {0;13}0. 01. 22. 23. 0 {0;14}0. 21. 22. 23. 2
I want to create a list from these points. That marks each curve that pokes out, in a cull pattern as such:
20022210222202
Using a 1 where there are co-incidents in the curve points and the boundary. A 2 for true (outside points) and a 0 for containment. So I might be able to use the 1 in future developments - however if a true false list is easiest I can live with that.
So could I use F(x) function? - to look for 0 or 1's in each bunch of points and thus list as such for a cull pattern? or will Path mapper help me here? Or can I rely on simply grafting and splitting??
I am usure of the neatest solution and would love to learn. Hope you can direct me.rgrds
J.…
Hi,
I want to divide curve with distance between points so it will be like this:
1--2---3----4-----5------6-------7-----, ...
with values in range 1 to 50, must be simple but im stuck..
tnx
output will show a tree with 3 branches of 4 integers each that I can pass on to other components. What is the best way to do it?
I have tried creating a tree and using a for loop to do so, but it didn't work.
Thank you for your help.
…