news 2026/6/9 21:30:46

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/9 15:08:17

Linly-Talker语音语调可控:支持愤怒、温柔等语气调节

Linly-Talker:让数字人“有情绪”地说话 在直播间里,虚拟主播声情并茂地讲解产品,语气时而激昂、时而温柔;在心理陪伴应用中,AI角色用低缓柔和的声音安慰用户;在在线课堂上,数字教师以鼓励的语调…

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

Linly-Talker支持模型灰度发布,逐步上线新功能

Linly-Talker支持模型灰度发布,逐步上线新功能 在虚拟主播、智能客服和数字员工逐渐成为企业标配的今天,如何让AI数字人既“聪明”又“稳定”,成了技术落地的关键挑战。一个看似完美的新功能——比如更自然的语音合成或更生动的表情驱动——一…

作者头像 李华
网站建设 2026/6/9 5:35:53

海南自由贸易港全岛封关首日,西门子能源在海南启动建设燃机总装基地及服务中心 | 美通社头条

、美通社消息:在海南自由贸易港全岛封关正式启动之际,西门子能源12月18日在海南省儋州市举行燃机总装基地及服务中心开工仪式,并同步成立西门子能源(海南)有限公司。西门子能源扎根洋浦三十年,在全岛封关首日,燃机总装…

作者头像 李华
网站建设 2026/6/8 17:40:33

人生的机会,从来不在计划之中?(说说我在百度的故事...)

建了一个新号:1. 讲人生目标,个人品牌与第二曲线;2. 聊自己的故事,内心的感悟。谢谢大家,听我的故事。希望对大伙也有帮助。最近做了一个新产品:70天,每天30分钟,短视频行动营&#…

作者头像 李华
网站建设 2026/6/9 19:06:16

AI教师上岗记:Linly-Talker在K12教育中的实际效果测评

AI教师上岗记:Linly-Talker在K12教育中的实际效果测评从一张照片到一节完整课程:AI教师如何诞生? 想象一下,一位乡村初中的物理老师只需上传一张标准照、录制三分钟语音,系统就能“克隆”出一个音容笑貌俱全的数字分身…

作者头像 李华