箭头向量场¶
限定名称: manim.mobject.vector\_field.ArrowVectorField
- class ArrowVectorField(func, color=None, color_scheme=None, min_color_scheme_value=0, max_color_scheme_value=2, colors=[ManimColor('#236B8E'), ManimColor('#83C167'), ManimColor('#FFFF00'), ManimColor('#FC6255')], x_range=None, y_range=None, z_range=None, three_dimensions=False, length_func=<function ArrowVectorField.<lambda>>, opacity=1.0, vector_config=None, **kwargs)[source]¶
基础:
VectorField由一组变化向量表示的
VectorField。向量场总是基于一个定义每个位置的
Vector的函数。 这个函数的值显示为一个向量网格。 默认情况下,每个向量的颜色由其大小决定。 然而,也可以使用其他颜色方案。- Parameters:
func (Callable[[np.ndarray], np.ndarray]) – 定义向量场中每个位置变化率的函数。
color (ParsableManimColor | None) – 矢量场的颜色。如果设置,则禁用基于位置的着色。
color_scheme (Callable[[np.ndarray], float] | None) – 一个将向量映射到单个值的函数。该值给出了使用min_color_scheme_value、max_color_scheme_value和colors定义的颜色渐变中的位置。
min_color_scheme_value (float) – color_scheme 函数的值将被映射到 colors 中的第一个颜色。较低的值也会导致渐变的第一个颜色。
max_color_scheme_value (float) – color_scheme 函数的值,将被映射到 colors 中的最后一个颜色。较高的值也会导致渐变的最后一个颜色。
colors (Sequence[ParsableManimColor]) – 定义向量场颜色渐变的颜色。
x_range (Sequence[float]) – 一个包含 x_min, x_max, delta_x 的序列
y_range (Sequence[float]) – y_min, y_max, delta_y 的序列
z_range (Sequence[float]) – z_min、z_max、delta_z 的序列
three_dimensions (bool) – 启用三维模式。默认设置为False,如果z_range不为None,则自动变为True。
length_func (Callable[[float], float]) – 确定向量显示大小的函数。传递的是向量的实际大小,返回值将用作向量的显示大小。默认情况下,这用于限制向量的显示大小,以减少混乱。
opacity (float) – 箭头的不透明度。
vector_config (dict | None) – 传递给
Vector构造函数的额外参数kwargs – 传递给
VGroup构造函数的额外参数
示例
示例:基本用法 ¶
from manim import * class BasicUsage(Scene): def construct(self): func = lambda pos: ((pos[0] * UR + pos[1] * LEFT) - pos) / 3 self.add(ArrowVectorField(func))
class BasicUsage(Scene): def construct(self): func = lambda pos: ((pos[0] * UR + pos[1] * LEFT) - pos) / 3 self.add(ArrowVectorField(func))示例:尺寸和间距 ¶
from manim import * class SizingAndSpacing(Scene): def construct(self): func = lambda pos: np.sin(pos[0] / 2) * UR + np.cos(pos[1] / 2) * LEFT vf = ArrowVectorField(func, x_range=[-7, 7, 1]) self.add(vf) self.wait() length_func = lambda x: x / 3 vf2 = ArrowVectorField(func, x_range=[-7, 7, 1], length_func=length_func) self.play(vf.animate.become(vf2)) self.wait()
class SizingAndSpacing(Scene): def construct(self): func = lambda pos: np.sin(pos[0] / 2) * UR + np.cos(pos[1] / 2) * LEFT vf = ArrowVectorField(func, x_range=[-7, 7, 1]) self.add(vf) self.wait() length_func = lambda x: x / 3 vf2 = ArrowVectorField(func, x_range=[-7, 7, 1], length_func=length_func) self.play(vf.animate.become(vf2)) self.wait()示例:着色 ¶
from manim import * class Coloring(Scene): def construct(self): func = lambda pos: pos - LEFT * 5 colors = [RED, YELLOW, BLUE, DARK_GRAY] min_radius = Circle(radius=2, color=colors[0]).shift(LEFT * 5) max_radius = Circle(radius=10, color=colors[-1]).shift(LEFT * 5) vf = ArrowVectorField( func, min_color_scheme_value=2, max_color_scheme_value=10, colors=colors ) self.add(vf, min_radius, max_radius)
class Coloring(Scene): def construct(self): func = lambda pos: pos - LEFT * 5 colors = [RED, YELLOW, BLUE, DARK_GRAY] min_radius = Circle(radius=2, color=colors[0]).shift(LEFT * 5) max_radius = Circle(radius=10, color=colors[-1]).shift(LEFT * 5) vf = ArrowVectorField( func, min_color_scheme_value=2, max_color_scheme_value=10, colors=colors ) self.add(vf, min_radius, max_radius)方法
在向量场中创建一个向量。
属性
animate用于动画化
self的任何方法的应用。animation_overridescolordepthmobject的深度。
fill_color如果有多种颜色(用于渐变),则返回第一个颜色
heightmobject的高度。
n_points_per_curvesheen_factorstroke_colorwidthmobject的宽度。
- _original__init__(func, color=None, color_scheme=None, min_color_scheme_value=0, max_color_scheme_value=2, colors=[ManimColor('#236B8E'), ManimColor('#83C167'), ManimColor('#FFFF00'), ManimColor('#FC6255')], x_range=None, y_range=None, z_range=None, three_dimensions=False, length_func=<function ArrowVectorField.<lambda>>, opacity=1.0, vector_config=None, **kwargs)¶
初始化自身。有关准确的签名,请参阅 help(type(self))。
- Parameters:
func (Callable[[np.ndarray], np.ndarray])
颜色 (ParsableManimColor | 无)
color_scheme (可调用[[np.ndarray], float] | 无)
min_color_scheme_value (float)
max_color_scheme_value (float)
颜色 (序列[可解析的Manim颜色])
x_range (序列[浮点数])
y_range (序列[浮点数])
z_range (序列[浮点数])
three_dimensions (bool)
length_func (Callable[[float], float])
不透明度 (浮点数)
vector_config (dict | None)