`
schi
  • 浏览: 205296 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

那条线代表什么

阅读更多


好几个月前我问了前同事一个问题:那条线代表什么?
同事在玩houdini
我:那条线代表什么?
他:嗯?
我:从那个节点到这个节点的那条线
他:...,不知道
我:maya里可以是int,float,double之类的
他:(好像明白我的意思了)...,代表数据流
下面的场景我已经不记得了。

后来没过多久我就需要去研究houdini了,一开始是一个星期,后来(因为没事干)又加了一个星期。
之后过了一段时间我想起了上面的问题,并对那一个星期的研究进行归纳,我得出了对houdini的运作方式。

在一个星期里我做的事情:
  1. 搜索我们可能感兴趣的资料(其实当时的我一点都不感兴趣)
  2. 使用节点来创建sierpinski triangle,2D和3D的版本
  3. 使用python来编写一个节点来创建sierpinski triangle 2D
  4. 剩下的两天,没什么所获

回到我们的话题:那条线代表什么?
同事的回答是正确的,不管是maya还是houdini那条线可以代表数据从一个节点流向另一个节点,但是“数据流”是一段数据的总称,我希望能知道都是些什么数据。
在maya中不同的属性连接会得到不同颜色的线,其实就是不同的数据类型,而且它们不叫数据流,而是数据块。API里的MDataBlock就是了,当一个节点把它的数据传递给另一个节点的时候数据就保存在MDataBlock的实例中,而节点就会从这个实例中获取对应的数据。

houdini是很隐蔽的,你根本不知道是些什么数据,对于不同类型的节点也会不同,这里我以SOP为例,SOP是只对模型操作的节点,它们的工作方式大概是这样的。
1. 复制模型数据:如果这个有输入节点,就是有一个节点的输出连接到了这个节点的输入,houdini会自动帮你复制上面节点的模型数据;
新的模型:如果没有输入节点,houdini会自动给你创建一个空白的模型数据。
所以不管是有输入节点,还是没有,你要获取节点里的模型都是通过这个函数
geo = hou.pwd().geometry()

2. 运行你的代码
3. 不知道又做了什么事情,我猜测缓存是其中的一件事(不然你中键节点的时候就不会出现一些相关的信息了)
这也是houdini自定义节点的结构:
1. houdini生产的代码(二进制)
2. 你的代码
3. houdini生产的代码(二进制)

我刚看了下HDK(c++)的范例,它的做法就多样了,可以跟上面都一样,也可以像maya一样的写法。
分享到:
评论

相关推荐

    计算二条平行线距离

    如果两条线的斜率相同(或者非常接近,考虑到计算误差),那么它们很可能是平行的。可以设定一个阈值来判断两条线是否平行。 4. **计算距离**: - **法线向量**:对于每一条线,可以计算其法线向量,这与线的方向...

    multiple_lines_大气科学_xy轴多线条_lines_ncl_NCL颜色_

    "进一步解释了我们要实现的功能:不仅要在一张图上绘制多条线,还要确保每条线都有清晰的颜色标识,并通过图例来说明各自代表的含义。 接下来,我们分析标签: 1. **大气科学** - 这是我们研究的领域,涉及到气象学...

    高德地图画线,单条多条带方向示例

    对于多条线的绘制,可以创建多个`AMap.Polyline`对象,每个对象对应一条线。如果线之间有顺序关系,可以通过调整标记的方向来展示方向性。例如,如果你有一组路线数据,可以遍历这些数据并依次创建线条。 在提供的...

    Teechart绘图应用实例(随机线条、动态画线、画圆)

    在许多场景下,圆形图表可以用于表示比例、周期或者完整度。Teechart支持圆形和弧形的绘制,可以设置半径、角度范围以及填充样式。此外,结合动态画线功能,还可以实现动态旋转的效果,如进度条或者仪表盘,这在可视...

    C# WinForm控件TextBox扩展显示为一条线

    在C# WinForm开发中,有时我们可能需要创建具有特殊视觉效果的控件,比如将一个TextBox控件显示为仅有一条线的简洁样式。这样的设计可以使得界面更加清爽,减少不必要的视觉干扰。标题“C# WinForm控件TextBox扩展...

    通达信指标公式源码 [RSI微分]加上80和20条线。分别代表顶部和底部.doc

    在常规设置下,RSI值在70以上代表超买,30以下代表超卖,而80和20这两条线则为用户自定义的超买和超卖界限,用于更精细化的市场判断。 文档中提供的源码首先定义了四个变量VAR1至VAR8,分别对应开盘、收盘、最高和...

    MAPINFO线形编辑器做好的几条线

    标题中的“MAPINFO线形编辑器做好的几条线”指的是使用MAPINFO软件中的LINEEDIT工具创建和编辑的地理信息图形。MAPINFO是一款强大的桌面地理信息系统(GIS),它允许用户处理地图数据,进行空间分析,并可视化地理...

    plot的两个曲线比较差值.m

    两条离散曲线求差,采用拟合的方式得到两条曲线的差值。程序中画了离散程度不同的曲线求差;两条离散曲线求差,采用拟合的方式得到两条曲线的差值。程序中画了离散程度不同的曲线求差

    高德地图画线,单条多条带方向示例亲测有效,自己也在使用换成你的key就可以

    在“高德地图画线”的场景中,"单条线"是指在地图上绘制一条从一个点到另一个点的路径,而"多条线"则是指同时绘制多条路径,这通常用于展示复杂的路线网络,比如多段导航路线或者公交线路。"带方向示例"则意味着在...

    processing线状图(四条曲线共同显示)

    每条线代表一个独立的数据集,而这些数据集可能来自CSV、JSON或其他数据格式的文件。 为了加载和解析数据,Processing提供了`PApplet.loadTable()`方法,它可以读取表格数据,然后通过`table.getRowCount()`和`...

    一条横向的时间线

    标题"一条横向的时间线"和描述"一条横向的时间线"均指向了这种常见的数据表示形式。 时间线的基本构成包括时间轴、标记和事件。在横向时间线中,时间轴通常从左到右展开,代表时间的流逝,可以是年份、月份、日期...

    jiankaixian--B-yangtiao_B样条_渐开线_B样条曲线拟合_

    在实际工程中,利用B样条曲线对渐开线进行拟合,可以更精确地表示和控制齿轮的几何特性,同时也能方便地进行优化和修改。 B样条曲线拟合的过程通常包括以下几个步骤: 1. 数据准备:收集或生成渐开线的离散数据点。...

    简简单单两条线源码通达信指标公式源码.doc

    【标题】:“简简单单两条线源码通达信指标公式源码.doc”是指一个用于通达信(TongDaXin,一种流行的股票分析软件)的自定义技术指标公式。这个公式通过两条移动平均线(MA120和MA250)以及一些附加的图形元素(如...

    Line Renderer) 组件绘制直线,曲线,圆弧

    这条线始终是连续的;如果需要绘制两条或更多完全独立的线,则应使用多个游戏对象,每个游戏对象都要有自己的线渲染器 (Line Renderer)。 线渲染器 (Line Renderer) 不渲染宽度以像素为单位的线。它会渲染宽度以...

    av线是什么线 av线颜色对应【介绍】.docx

    AV线通常包括三条线:一条红色线代表右声道音频,一条白色线代表左声道音频,一条黄色线则传输复合视频信号。这些线缆的设计目的是减少外部电磁干扰,确保信号能够清晰无损地传输。 在购买AV线时,应注意以下几点以...

    基于多尺度分析的截面线特征点自动提取及B样条曲线拟合

    这些特征点是曲线拟合的关键,因为它们能够代表截面线的基本形状和特征。 实验结果表明,通过上述方法构造出的B样条曲线能够有效地剔除噪声,并且更好地保留了原截面线的特征。这说明所提出的方法不仅能够对截面线...

    QT倒车线实现(利用QPainter绘制)

    这两条线应根据车辆的宽度和高度动态调整,以反映实际的倒车视野。通常,线的位置可以通过计算窗口的中心点和线的长度来确定。 4. **虚线效果**:为了创建虚线效果,可以使用QPen的`setDashPattern()`函数设置线条...

    支持画多条线openflashchart

    1. **创建数据对象**:在使用OpenFlashChart绘制多条线时,首先需要创建多个数据对象,每个对象代表一条线的数据点。这些数据点可以是简单的数组,也可以是包含颜色、标签等信息的对象。 2. **设置线样式**:每条线...

    android 生成折线图(四条线)

    本示例“android 生成折线图(四条线)”就是利用`AChartEngine`来实现的,它可以展示四条不同颜色的折线,每条线代表一个独立的数据系列,且每个系列都有其专属的Y轴,使得数据对比更加清晰。 首先,我们需要理解`...

    通达信指标——短线王(主图).doc

    这条线的颜色是黄色,表示该线是获利线。该线的计算公式是基于指数移动平均线(EMA)的三重计算,高价(HIGH)为基础,先计算五期的指数移动平均线,然后计算五期的指数移动平均线,最后计算四期的指数移动平均线,...

Global site tag (gtag.js) - Google Analytics