news 2026/6/23 4:29:41

PerlinNoise Perlin噪声(PerlinNoise)隐式函数构建模型并渲染

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PerlinNoise Perlin噪声(PerlinNoise)隐式函数构建模型并渲染

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①柏林噪声的构建与渲染


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonDataModel import vtkPerlinNoise from vtkmodules.vtkImagingHybrid import vtkSampleFunction from vtkmodules.vtkFiltersCore import vtkContourFilter from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, \ vtkRenderer def main(): colors = vtkNamedColors() perlinNoise = vtkPerlinNoise() """ SetFrequency 设置在X,Y,Z方向上的重复频率 频率控制噪声的重复性和细节密度。 频率越高 → 噪声变化更快,细节更密集(像波纹更紧密的山脉) 率越低 → 噪声变化更缓慢,形成更大的起伏(像平缓的丘陵) """ perlinNoise.SetFrequency(2, 1.25, 1.5) """ SetPhase 设置噪声在 X、Y、Z 方向上的相位偏移 相位的作用是:制噪声图案在各个方向上的“起始点”或“偏移量” 比如:SetPhase(0, 0, 0) → 默认起点 SetPhase(π, 0, 0) → 整个噪声在 X 方向上平移半个周期 """ perlinNoise.SetPhase(0, 0, 0) # 采样 sample = vtkSampleFunction() sample.SetImplicitFunction(perlinNoise) sample.SetSampleDimensions(65, 65, 20) # 定义了体数据网格的分辨率。这里创建了一个 65×65×20 的网格,每个网格点(体素)的值就是该位置 Perlin 噪声函数的输出值 sample.ComputeNormalsOff() # 表面重建 surface = vtkContourFilter() surface.SetInputConnection(sample.GetOutputPort()) surface.SetValue(0, 0.0) mapper = vtkPolyDataMapper() mapper.SetInputConnection(surface.GetOutputPort()) mapper.ScalarVisibilityOff() actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d('SteelBlue')) renderer = vtkRenderer() renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) # Add the actors to the renderer, set the background and size renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d('SlateGray')) renderWindow.SetWindowName('PerlinNoise') renderWindow.SetSize(300, 300) renderer.ResetCamera() renderWindow.Render() interactor.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 5:26:58

Linly-Talker支持模型性能 profiling,精准定位瓶颈

Linly-Talker 支持模型性能 profiling,精准定位瓶颈 在虚拟主播、智能客服和数字员工逐渐走入大众视野的今天,用户对交互体验的要求早已不再局限于“能说话”——他们期待的是自然、实时、有情感的对话。然而,构建一个真正流畅可用的数字人系…

作者头像 李华
网站建设 2026/6/15 18:34:33

Linly-Talker如何处理中英文混读?语音识别适配策略

Linly-Talker 如何处理中英文混读?语音识别适配策略 在当今数字人系统广泛应用于虚拟主播、智能客服和企业级对话代理的背景下,用户对交互自然性的要求已经远超“能听懂”这一基础标准。真实场景中的语言表达往往是复杂且不规则的——尤其是在科技、金融…

作者头像 李华
网站建设 2026/6/23 10:30:56

LLM 的思考方式

原文:towardsdatascience.com/how-llms-think-d8754a79017d 你是否曾经想过 AI 模型是如何“思考”的?想象一下窥视机器的内心,观察齿轮的转动。这正是 Anthropic 的一项开创性论文所探讨的内容。标题为“扩展单义性:从 Claude 3 …

作者头像 李华
网站建设 2026/6/22 18:54:03

万字长文!关于AI绘图,一篇超详细的总结发布

Datawhale干货 教程作者:Mark,华南理工大学 继此前的《再也不担心论文!Nano-Banana Pro 论文绘图最全教程发布》获得 10W 阅读后,我们精心打磨了一套更系统的 AI 绘图总结。 这不是一篇快餐式的操作手册,而是一张带你…

作者头像 李华
网站建设 2026/6/13 18:16:03

数字人会议主持:Linly-Talker在远程会议中的创新应用

数字人会议主持:Linly-Talker在远程会议中的创新应用 在一场跨国企业晨会上,主持人准时出现在屏幕中央——西装笔挺、语气沉稳,逐项推进议程、回应提问、引导讨论。但仔细观察会发现,这位“主持人”从未眨过眼过度,语调…

作者头像 李华