Mayavi:在 triangular_mesh 中插入面部颜色

2024-01-01

我已经拼凑了 以下代码使用指定的颜色绘制三角形网格 附加标量函数:

#! /usr/bin/env python
import numpy as np
from mayavi import mlab

# Create cone
n = 8
t = np.linspace(-np.pi, np.pi, n)
z = np.exp(1j*t)
x = z.real.copy()
y = z.imag.copy()
z = np.zeros_like(x)
triangles = [(0, i, i+1) for i in range(n)]
x = np.r_[0, x]
y = np.r_[0, y]
z = np.r_[1, z]
t = np.r_[0, t]

# These are the scalar values for each triangle
f = np.mean(t[np.array(triangles)], axis=1)

# Plot it
mesh = mlab.triangular_mesh(x, y, z, triangles,
                            representation='wireframe',
                            opacity=0)
cell_data = mesh.mlab_source.dataset.cell_data
cell_data.scalars = f
cell_data.scalars.name = 'Cell data'
cell_data.update()

mesh2 = mlab.pipeline.set_active_attribute(mesh,
        cell_scalars='Cell data')
mlab.pipeline.surface(mesh2)

mlab.show()

这相当有效。然而,不是让每个三角形 具有统一的颜色和三角形之间的尖锐过渡,我会 更确切地说,在整个表面上进行平滑插值。

有没有办法做到这一点?


我认为你想使用点数据而不是单元数据。对于单元数据,单个标量值不会定位到任何点。它被分配到整个脸部。看起来您只想分配t数据到顶点。点标量的默认渲染将平滑地插值到每个面上。

point_data = mesh.mlab_source.dataset.point_data
point_data.scalars = t
point_data.scalars.name = 'Point data'
point_data.update()

mesh2 = mlab.pipeline.set_active_attribute(mesh,
        point_scalars='Point data')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mayavi:在 triangular_mesh 中插入面部颜色 的相关文章

随机推荐

  • JavaScript getter 和 setter - 递归问题

    JavaScript 的 setter 和 getter 中的 字符有何意义 例如 我有以下代码 可以正常工作 var user get name return this name set name value this name valu
  • 具有通配符属性名称和特定属性值的 C# 和 XPath

    我可以使用 XPath 查找具有名称以特定字符集开头且属性值包含特定值的属性的所有元素吗 例如
  • 调用验证后容器不会调整自身大小

    通过手动交换组件后add and remove 我调用validate 在容器上 根据文档 validate 方法用于使容器布置它的 再次子组件 当该容器的 子组件被修改 添加到容器或从容器中删除 或者 布局相关信息已更改 容器已被 显示
  • 使用 WordApi 1.3 时 context.application 未定义

    使用 WordApi 1 3 应该可以使用新的创建文档方法 https github com OfficeDev office js docs blob WordJs 1 3 Openspec reference word applicat
  • Clojure 模型-视图-控制器 (MVC) 设计

    我正在使用 Java Swing 在 Clojure 中编写桌面 GUI 应用程序 通常 在使用 Java 时 我会根据 MVC 设计模式并使用观察者模式来设计应用程序 通过这种方式 视图与模型分离 并且两者的更改不会相互影响 从而使进一步
  • 在每种情况下使用带有值范围的 switch 语句?

    在Java中 是否可以编写一个switch语句 其中每个case包含多个值 例如 尽管显然以下代码不起作用 switch num case 1 5 System out println testing case 1 to 5 break c
  • PyCUDA/CUDA:不确定性启动失败的原因?

    任何关注 CUDA 的人可能都会看到我对我所参与的项目提出的一些疑问 但对于那些没有见过的人 我将进行总结 抱歉提前问了一个很长的问题 三个内核 一个基于一些输入变量生成数据集 处理位组合 因此可以呈指数增长 另一个解决这些生成的线性系统
  • 如何使用 Spray.io 构建 RESTful API?

    当我使用 Spray io 开发 RESTful API 时 我应该如何构建我的应用程序 我已经看到了这个答案 https stackoverflow com a 14653989 396002关于如何拆分 Spray 应用程序 但我对此不
  • 什么时候不应该使用分号?

    Or 什么不是 T SQL 语句 除了解决歧义之外 T SQL 语法不需要分号来终止语句 尽管如此 伊齐克 本 甘 http www sqlmag com blog puzzled by t sql blog 15 tsql semicol
  • 我在 VBA 中的代码使索引超出范围,但我确信数组的长度正确[重复]

    这个问题在这里已经有答案了 我需要设置val1 and val2分配给变量的数字total 无论我改变变量什么totalto 0 8 表示索引越界 我还打印了我用 MsgBox 引用的每个列表的长度 它显示为 8 我尝试将索引更改为该范围内
  • Rails 将无效路由重定向到 root

    如果我的网站是www foo com如果用户输入www foo com blahblahblah它会说 blahblahblah是一个无效的路径 显然 但我希望它重定向到 root path 以便控制器可以处理 URL 页面www foo
  • 发布版本中的 Swift 链接器错误可通过添加代码修复

    在 Xcode 8 中 我的一个 Swift 项目在调试模式下工作 但在发布模式下无法链接 Undefined symbols for architecture x86 64 Swift UnsafeMutableBufferPointer
  • Android通过蓝牙发送命令失败

    我将实现从 Android 平板电脑向嵌入蓝牙 IC 芯片 Andrino HC 06 的电子设备发送命令的模块 以便通过蓝牙配置我的设备 执行时 发送时设备似乎没有可观察到的响应22 23 54 01 C8 它显示以下超时异常 预计设备将
  • 在 pyqt 中禁用 QComboBox

    是否可以禁用QComboBox在 pyqt 中 就像我们可以在 Win Forms C 中一样 因为我在QComboBox手动的 我想启用QcomboBox仅当管理员登录时 我找到了我的问题的答案 QComboBox setEnabled
  • 我应该如何诊断和防止 JVM 崩溃?

    当我遇到 JVM 崩溃时 我 作为一个对 JVM 内部结构一无所知的 Java 程序员 应该做什么 特别是 您将如何生成可重现的测试用例 我应该在 Sun 或 IBM 的 bug 数据库中搜索什么 我可以从生成的日志文件中获取哪些信息 例如
  • 为什么 CLR/CLI 项目中没有智能感知

    我不知道我是否做错了什么 但是当我尝试编写代码时 没有智能感知弹出窗口指示选项或错误 我正在使用 Microsoft 的 Visual C 2010 创建 CLR CLI 类型的项目 请参阅 2009 年 5 月这篇博文中的第二条评论 ht
  • 当 API 不允许 Access-Control-Allow-Origin 时该怎么办

    我对所有这些同源策略的事情感到疯狂 当我尝试向 Google Maps API 发出请求时 没有出现任何问题 var jsonData ajax url http maps googleapis com maps api geocode j
  • 使用 Vue 单击并编辑文本输入

    我正在寻找一个点击并编辑的 Vue 组件 我发现了a fiddle https jsfiddle net ppyeo1tg 611 并做了一些编辑 它的工作原理如下 小提琴在这里 https jsfiddle net ppyeo1tg 61
  • CakePHP 用 MAX 查找

    表格和虚拟数据 CREATE TABLE IF NOT EXISTS messages id int 11 unsigned NOT NULL auto increment user id int 11 unsigned NOT NULL
  • Mayavi:在 triangular_mesh 中插入面部颜色

    我已经拼凑了 以下代码使用指定的颜色绘制三角形网格 附加标量函数 usr bin env python import numpy as np from mayavi import mlab Create cone n 8 t np lins