【grasshopper】【犀流堂】【算法】Anemone雨水径流模拟-笔记

文章目录

  • Anemone雨水路径模拟
    • available options可用选项
    • grasshopper面切线几何原理
  • 案例1:surface地形
    • 1. 拾取地形曲面surface
    • 2. 曲面上根据divide surface划分点points
    • 3.将曲面上的划分点用surface closest point投影到曲面上
    • 4.align plane旋转平面x轴与世界Z夹角最小
      • 将本地的视频上传到阿里云
    • 5.沿着面的向下negative方向移动点
      • case:有些点会移出到曲面之外
      • 通用方法:surface closes point所有点拉回到曲面
    • 6.接入数据循环
      • 默认不record记录数据历史
      • record记录数据历史
    • 7.数据结构处理——生成径流线
      • 原来数据结构——每步一组
      • flip matrix翻转矩阵——每条径流一组
  • 案例2:mesh地形
    • 1. 拾取地形网格mesh
    • 2. 网格上几何填充populate geometry 随机布置点
    • 3.生成地形等距断面线
    • 4.mesh closest points 点在网格上投影 | mesh eval网格计算得到网格质心和法向量
    • 6.用mesh eval得到的质心点+法线,使用Plane normal构造工作平面
    • 7. 工作平面x-axis转到与z轴夹角最小,negative 反向
    • 8.移动点并投影到mesh上(mesh closest point同时可以防止移出)
    • 9.Record,Flap Matrix,Poly line连线
    • 10.地形着色
      • bounding box获得地形的三维范围
      • Mesh spray 1:沿`两个`点之间的mesh,指定`颜色`渐变
      • Mesh spray 2:沿`多个`点之间的mesh,指定`色彩渐变器`渐变
    • 11.拆解网格——更通用的方法
  • 图纸绘制插件human
  • 循环程序插件 Anemone
    • extended. fitness landscape 景观舒适度——地形着色工具
  • 几个电池原理查看工具
    • 官网教程grasshopper primer
    • Grasshopper 中文版运算器详解2022(中英文对照)
  • 同类大佬作品

Anemone雨水路径模拟

image-20230716090832552

image-20230716092956754

本文是一篇学习笔记,课程来自于【【犀流堂】100GH运算器详解】及知乎大佬的文章,原文如下。

Anemone雨水路径模拟https://www.rhinostudio.cn/course/1529/task/2795/show

Y原创 | 利用循环电池Anemone模拟雨水流向https://mp.weixin.qq.com/s/Q3-9D8N9wbfmfiZ3F-RmYg

第169期-Anemone循环学习笔记①https://mp.weixin.qq.com/s/7F4vHeHi8bs4NUjNbhFvoA

available options可用选项

  • 粒子模拟
  • 3dmax物理模型
  • grasshopper面切线

grasshopper面切线几何原理

image-20230716093452780

循环,让每一个点``每次在他当前的位置都去找一下他像该向哪个方向流

然后将这个点投影到原来曲面上

2023-07-16_14-35-07

案例1:surface地形

1. 拾取地形曲面surface

2. 曲面上根据divide surface划分点points

image-20230716105352137

3.将曲面上的划分点用surface closest point投影到曲面上

image-20230716105446076

曲面进行投影投影之后呢会得到每一个点在曲面上的uv坐标,也就是曲面的二维坐标系

image-20230716105557886

frame:点在曲面上的切面

frame:点在曲面上的切面

切面,我们已经得到了,但是呢现在每一个切面,它的方向都是曲面的uv方向。

image-20230716110106797

4.align plane旋转平面x轴与世界Z夹角最小

image-20230716114341036


image-20230716122729645

指定法向,旋转平面的X轴,与指定方向夹角最小

将本地的视频上传到阿里云

  • https://oss.console.aliyun.com/bucket
  • picgo u “C:\Users\myearning\AppData\Roaming\Typora\typora-user-images\image-20230501212248235.png”

这个命令是用 PicGo 上传一个名为 image-20230501212248235.png 的图片。该图片位于您的 Typora 编辑器的用户图片文件夹中。

根据命令的格式,picgo 是 PicGo 的命令行工具,uupload 的缩写,用于上传文件。而 "C:\\Users\\myearning\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230501212248235.png" 则是您要上传的图片的本地路径。

当您在命令行中执行这个命令时,PicGo 将会读取该文件,然后将其上传到您预设的图片上传器中,例如阿里云 OSS、七牛云等。

5.沿着面的向下negative方向移动点

  • 对工作平面解析并旋转x轴为沿平面,与-z最小
  • 移动上一步的点

image-20230716123807052

case:有些点会移出到曲面之外

image-20230716125031789

通用方法:surface closes point所有点拉回到曲面

6.接入数据循环

image-20230716125927064

image-20230716130059701

指定15次循环

默认不record记录数据历史

2023-07-16_13-04-31

record记录数据历史

image-20230716130530794

2023-07-16_13-06-37

7.数据结构处理——生成径流线

原来数据结构——每步一组

image-20230716130852174

  • 15次循环,分了15个组
  • 每组里是每次位移之后,在平面上的点

image-20230716131536891

flip matrix翻转矩阵——每条径流一组

image-20230716144409596

案例2:mesh地形

surface 和 mesh 是rhino中完全独立的几何模式

1. 拾取地形网格mesh

image-20230716145330852

2. 网格上几何填充populate geometry 随机布置点

image-20230716145552356

image-20230716145740016

3.生成地形等距断面线

4.mesh closest points 点在网格上投影 | mesh eval网格计算得到网格质心和法向量

image-20230716174014263

image-20230716175445470

Mesh Closest Point

IMAGE

This component will calculate the position on a mesh that is closest to a given point. This component outputs three pieces of data: the coordinates of the calculated point on the mesh, the index of the face which contains that point, and the mesh parameter. This parameter is extremely useful in conjunction with the Mesh Eval component discussed below.

这个组件将计算网格上最接近给定点的位置。该组件输出三部分数据:计算点在网格上的坐标,包含该点的面索引和网格参数。该参数在与下面讨论的Mesh Eval组件结合使用时非常有用。

IMAGE

  1. Given a point in space, We want to find the closet point on the mesh

  2. The face that contains the closest point is identified

  3. The parameters of the closest point on the face are calculated

  4. 给定空间中的一个点,我们想要找到网格上的最近点

  5. 包含最近点的mesh面被识别

  6. 计算出曲面上最近点的参数

For those users interested in a little more detail about how a mesh is parameterized, we can take a closer look at how a mesh parameter is structured. You can see this structure by attaching a panel to the parameter output of a Mesh Closest Point component. The mesh parameter has the form: N[A,B,C,D]. The first number, N, is the index of the face which contains the calculated point.

对于那些对网格参数化细节感兴趣的用户,我们可以仔细看看网格参数是如何结构的。你可以通过将面板附加到Mesh nearest Point组件的参数输出来看到这个结构。网格参数形式为:N[A,B,C,D]。第一个数字N是包含计算点的面的索引

The following four numbers define the barycentric coordinates of the point within that face. The coordinates of the referenced point can be found by multiplying each vertex of the face by these numbers in order and then add the results together. (Of course, this is already done for us, and is given in the Point output). Also note that barycentric coordinates are only unique for triangular faces, meaning that on a quad face the same point could have multiple different parameterizations. Grasshopper avoids this problem by internally triangulating a quad face when calculating a parameter, the result of which is that of the four numbers in a mesh parameter, at least one of them will always be zero.

下面四个数字定义了该面内点的“质心”的坐标。参考点的坐标可以通过将面部的每个顶点按顺序乘以这些数字来找到,然后将结果相加。(当然,这已经为我们完成了,并且在Point输出中给出了)。还要注意,质心坐标仅对三角形面是唯一的,这意味着在四边形面上相同的点可以有多个不同的参数化。Grasshopper通过在计算参数时对一个四边形进行内部三角化来避免这个问题,其结果是网格参数中的四个数字,其中至少有一个总是零

IMAGE

Barycentric Coordinates

Mesh Eval

IMAGE

The Mesh Eval component uses a mesh parameter as an input and returns the referenced point, as well as the normal and color at that point. The color and normal are calculated as interpolations of the vertex colors and vertex normals, using the same barycentric coordinates as the mesh parameter.

Mesh Eval组件使用网格参数作为输入,并返回参考点,以及该点的法线和颜色。颜色和法线作为顶点颜色和顶点法线的插值计算,使用与网格参数相同的质心坐标。

6.用mesh eval得到的质心点+法线,使用Plane normal构造工作平面

image-20230716183041711

  • 工作平面与网格相切

7. 工作平面x-axis转到与z轴夹角最小,negative 反向

image-20230716185513649

8.移动点并投影到mesh上(mesh closest point同时可以防止移出)

9.Record,Flap Matrix,Poly line连线

image-20230716190146796

2023-07-16_19-03-39

10.地形着色

bounding box获得地形的三维范围

image-20230716201235688

image-20230716191054134

Mesh spray 1:沿两个点之间的mesh,指定颜色渐变

image-20230716202410374

image-20230716203427634

Mesh spray 2:沿多个点之间的mesh,指定色彩渐变器渐变

image-20230716202909812

Gradient色彩渐变

image-20230716203727698

Gradient案例1——根据长度

image-20230716203915758

Gradient案例2——根据面积

image-20230716204108400

Gradient案例3

image-20230716204954225

11.拆解网格——更通用的方法

以上的沿bounding box的edge,因高度较小,着色均不明显。

image-20230716211132532

image-20230716211301824

image-20230716211429475

图纸绘制插件human

【food4Rhino】https://www.food4rhino.com/en/app/human

从Rhino+Grasshopper显示模式说起——如何用Rhino绘制各式图纸(三)Grasshopper 显示相关电池与插件

https://zhuanlan.zhihu.com/p/503702789

循环程序插件 Anemone

在GH中,原生电池是不支持任何形式的循环的:

【food4Rhino】https://www.food4rhino.com/en/app/anemone

代替Hoopsnake的新循环器----Anemone!! 发布于 2014-3-19 36 点赞 334 评论 114415 浏览https://www.xuexiniu.com/thread-65174-1-1.html

林师兄的汉化-海葵(Anemone)04
更新时间 : 2017-07-10 程序/插件下载https://www.xuexiniu.com/thread-130981-1-1.html

image-20230716111726372

extended. fitness landscape 景观舒适度——地形着色工具

image-20230716205659483

image-20230716205838291

几个电池原理查看工具

官网教程grasshopper primer

image-20230716152022171

http://grasshopperprimer.com/en/1-foundations/1-6/1_What%20is%20a%20Mesh.html

https://github.com/modelab/grasshopper-primer/tree/master/en

  • 其中github可获得markdown格式原文档

Grasshopper 中文版运算器详解2022(中英文对照)

image-20230716174219343

https://www.bilibili.com/video/BV1rZ4y1U76A/?spm_id_from=333.337.search-card.all.click&vd_source=03f46161f85a0a5c828c31ed7544a9e7

同类大佬作品

Y原创 | 利用循环电池Anemone模拟雨水流向

原创 Y [Y的学习笔记](javascript:void(0)😉 2021-07-15 20:30

img

img

img

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26308.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCPM和CPM有什么区别?

CPM和OCPM这两种收费模式的对比 Cpm:表示千次展示费用,是数据指标,也是一种出价方式。代表展现一千次的消费,也就是你展现1000次要给媒体多少钱 例如某企业广告曝光量是50万,总广告价格为10000元,那么千人…

mongodb练习---增删改查

环境: 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若干数据 文档格式如下 {name:zhang,age;10,sex:m,hobby:[a,b,c]} hobby: draw sing dance basketball football pingpong compu…

计算机网络-应用层

目录 一、应用层概述 二、客户-服务器方式(C/S方式)和对等方式(P2P方式) (一)客户/服务器 (Client/Server,C/S) 方式 (二)对等(Peer-to-Peer,P2P) 方式 (三)总结 三、动态主机…

云原生TDengine-v3.0部署手册

云原生TDengine-v3.0部署手册 一、管理namespace1.1 创建namespace1.2 namespaces列表 二、配置3份yaml文件2.1 tdengine3-storage-class.yaml2.2 taosd-service.yaml2.3 taosd-tdengine.yaml 三、服务部署3.1 部署StorageClass3.2 部署Service3.3 部署StatefulSet3.4 查看启动…

记一次JVM调优过程

文档修订记录 版本 日期 撰写人 审核人 批准人 变更摘要 & 修订位置 JVM相关理论 JVM内存 可分配内存: JVM可以调度使用的总的内存数,这个数量受操作系统进程寻址范围、系统虚…

dede去掉列表推荐文档的粗体字效果的修改方法

这样看起来多么的不美观了&#xff0c;现在我们本帖教程就是去掉列表这个粗体字效果。 DedeCMSv5.6具体操纵方法如下&#xff1a; 找到 /include/arc.listview.class.php 打开找到743 - 746 行下列代码&#xff1a; if(ereg(c,$row[flag])) {$row[title] "<b>"…

用Maven的exec插件执行Java程序

Maven的exec插件介绍 利用maven的exec插件可以执行系统和Java程序。 官网资源 exec插件官网&#xff1a;https://www.mojohaus.org/exec-maven-plugin/java-mojo.html Goals exec:exec表示在一个单独的进程内执行系统和Java程序。 exec:java表示在当前的Java虚拟机内执行J…

CVE-2023-1454注入分析复现

简介 JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具&#xff0c;它可以通过一键生成前后端代码&#xff0c;无需写任何代码&#xff0c;让开发者更多关注业务逻辑。 影响版本 Jeecg-Boot<3.5.1 环境搭建 idea 后端源码&#xff1a; https://git…

使用Mybatis-plus-join做多表查询

使用Mybatis-plus-join做多表查询 我们做多表查询都是要自己写sql的&#xff0c;还是比较麻烦的&#xff0c;下面介绍一种不用自己写sql的方式来完成多表查询。 这个第三方工具是一个大佬封装的一个jar包&#xff0c;即mybatis-plus-join架包&#xff0c;这个架包可以支持MyB…

AWS MSK集群认证和加密传输的属性与配置

通常&#xff0c;身份认证和加密传输是两项不相关的安全配置&#xff0c;在Kafka/MSK上&#xff0c;身份认证和加密传输是有一些耦合关系的&#xff0c;重点是&#xff1a;对于MSK来说&#xff0c;当启用IAM, SASL/SCRAM以及TLS三种认证方式时&#xff0c;TLS加密传输是必须的&…

深入分析Spring的IoC容器:从底层源码探索

前言&#xff1a; 博主在最近的几次面试中&#xff0c;大中小厂都问到了Spring的ioc容器相关问题&#xff0c;这块知识确实是面试中的重点内容&#xff0c;因此结合所看的书籍&#xff0c;在这篇文章中总结下。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读&#xff0…

软件工程——第12章面向对象实现知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1. 面向对象语言技术的特点&#xff1f; 2.选择面向对象程序设计语言时主要应该考虑哪些因素&#xff1f; 3.面向对象设计结果只能用面向对象语言实…