news 2026/4/16 7:46:57

AlphaFrequency 字体的展示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AlphaFrequency 字体的展示

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①字体展示


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from collections import Counter import re from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, \ vtkRenderer from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkRenderingFreeType import vtkVectorText from vtkmodules.vtkFiltersModeling import vtkLinearExtrusionFilter def main(): colors = vtkNamedColors() fileName = "Data/Gettysburg.txt" with open(fileName) as f: freq = Counter() for x in f: remove_digits = re.sub('[\d_]', '', x.strip().lower()) freq += Counter(re.findall('\w', remove_digits, re.UNICODE)) maxFreq = max(list(freq.values())) kes = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.lower()) ren = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(ren) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) letters = list() extrude = list() mappers = list() actors = list() for i, k in enumerate(kes): letters.append(vtkVectorText()) letters[i].SetText(k.upper()) extrude.append(vtkLinearExtrusionFilter()) extrude[i].SetInputConnection(letters[i].GetOutputPort()) extrude[i].SetExtrusionTypeToVectorExtrusion() extrude[i].SetVector(0, 0, 1) extrude[i].SetScaleFactor(float(freq[k]) / maxFreq * 2.50) mappers.append(vtkPolyDataMapper()) mappers[i].SetInputConnection(extrude[i].GetOutputPort()) mappers[i].ScalarVisibilityOff() actors.append(vtkActor()) actors[i].SetMapper(mappers[i]) actors[i].GetProperty().SetColor(colors.GetColor3d('Peacock')) if freq[k] <= 0: actors[i].VisibilityOff() ren.AddActor(actors[i]) y = 0.0 for j in range(0, 2): x = 0.0 for i in range(0, 13): actors[j * 13 + i].SetPosition(x, y, 0.0) x += 1.5 y += -3.0 ren.ResetCamera() ren.SetBackground(colors.GetColor3d('Silver')) ren.GetActiveCamera().Elevation(30.0) ren.GetActiveCamera().Azimuth(-30.0) ren.GetActiveCamera().Dolly(1.25) ren.ResetCameraClippingRange() renWin.SetSize(640, 480) renWin.SetWindowName('AlphaFrequency') # Interact with the data. iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 7:53:57

如何用AI自动生成Postman测试脚本?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个能够自动生成Postman测试脚本的AI工具。用户只需输入API文档或URL&#xff0c;AI自动解析并生成完整的Postman测试集合&#xff0c;包括请求、断言和变量设置。支持RESTfu…

作者头像 李华
网站建设 2026/4/12 8:00:02

Hunyuan-MT-7B与跨境电商独立站SEO多语言优化联动

Hunyuan-MT-7B与跨境电商独立站SEO多语言优化联动 在跨境电商竞争日益激烈的今天&#xff0c;品牌出海不再只是“把商品挂上网”那么简单。真正的挑战在于——如何让不同语言、不同文化背景的用户&#xff0c;都能流畅地理解你的产品价值&#xff0c;并愿意为之买单。而这一切&…

作者头像 李华
网站建设 2026/4/2 2:13:28

用Let‘s Encrypt快速构建HTTPS测试环境

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速创建HTTPS测试环境的工具&#xff0c;功能&#xff1a;1. 输入测试域名自动申请Lets Encrypt证书&#xff1b;2. 自动配置本地测试环境(支持Docker)&#xff1b;3. 生…

作者头像 李华
网站建设 2026/4/4 6:57:56

电商后台实战:MongoDB Compass在订单管理系统中的应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个电商订单管理系统的MongoDB数据演示项目&#xff0c;包含&#xff1a;1. 订单、用户、商品等集合的示例数据&#xff1b;2. 常用查询场景的Compass操作指南&#xff08;如…

作者头像 李华
网站建设 2026/4/9 5:01:34

Hunyuan-MT-7B能否识别作者写作风格并在翻译中保留

Hunyuan-MT-7B能否识别作者写作风格并在翻译中保留&#xff1f; 在内容全球化日益深入的今天&#xff0c;机器翻译早已不再是简单的“词对词”转换。人们不再满足于“翻得出来”&#xff0c;更希望译文能“传神达意”——尤其是当原文充满文学性、情感张力或独特语体风格时&…

作者头像 李华
网站建设 2026/4/14 2:15:55

快速验证PCB设计:嘉立创阻抗工具的即时反馈优势

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速原型验证工具&#xff0c;允许用户输入初步的PCB设计参数(如目标阻抗值、板厚等)&#xff0c;实时生成可行的设计方案建议。工具应提供多种可选方案&#xff0c;每种方…

作者头像 李华