曲线

class sympy.geometry.curve.Curve(function, limits)[源代码][源代码]

空间中的一条曲线。

曲线由坐标参数函数、参数以及参数值的上下限定义。

参数:
函数函数列表
限制3-元组

函数参数及其上下限。

属性:
functions

指定曲线的函数。

parameter

曲线函数变量。

limits

曲线的限制。

方法

__call__(f)

arbitrary_point([parameter])

曲线上的一个参数化点。

as_content_primitive([radical, clear])

一个存根,允许在计算表达式的内容和基本组件时跳过基本参数(如元组)。

as_dummy()

返回表达式,其中任何具有结构绑定符号的对象都被替换为在其出现的对象中唯一的规范符号,并且仅对交换性具有默认假设为True。

atoms(*types)

返回构成当前对象的原子。

class_key()

类的好顺序。

compare(other)

如果对象在规范意义上小于、等于或大于其他对象,则返回 -1、0、1。

complement(universe)

相对于给定全集的 'self' 的补集。

contains(other)

返回一个 SymPy 值,指示 other 是否包含在 self 中:如果包含则返回 true,如果不包含则返回 false,否则返回一个未求值的 Contains 表达式(或者,在 ConditionSet 和 FiniteSet/Intervals 的并集的情况下,返回一个表示包含条件的表达式)。

count(query)

计算匹配的子表达式的数量。

count_ops([visual])

用于返回操作计数的 count_ops 的包装器。

doit(**hints)

评估默认情况下不评估的对象,如极限、积分、求和和乘积。

dummy_eq(other[, symbol])

比较两个表达式并处理哑符号。

encloses(o)

如果 o 在 self 的边界内(不在边界上或外部),则返回 True。

evalf([n, subs, maxn, chop, strict, quad, ...])

将给定的公式计算到 n 位精度。

find(query[, group])

查找所有匹配查询的子表达式。

fromiter(args, **assumptions)

从可迭代对象创建一个新对象。

has(*patterns)

测试是否有任何子表达式匹配任何模式。

has_free(*patterns)

如果 self 包含对象 x 作为自由表达式,则返回 True,否则返回 False。

has_xfree(s)

如果 self 有 s 中的任何一个模式作为自由参数,则返回 True,否则返回 False。

intersect(other)

返回 'self' 和 'other' 的交集。

intersection(o)

返回 self 与 o 的所有交集的列表。

is_disjoint(other)

如果 selfother 不相交,则返回 True。

is_proper_subset(other)

如果 selfother 的真子集,则返回 True。

is_proper_superset(other)

如果 selfother 的真超集,则返回 True。

is_same(b[, approx])

如果 a 和 b 结构相同则返回 True,否则返回 False。

is_similar(other)

这个几何实体与另一个几何实体相似吗?

is_subset(other)

如果 selfother 的子集,则返回 True。

is_superset(other)

如果 selfother 的超集,则返回 True。

isdisjoint(other)

别名 is_disjoint()

issubset(other)

别名为 is_subset()

issuperset(other)

别名 is_superset()

match(pattern[, old])

模式匹配。

matches(expr[, repl_dict, old])

用于 match() 的辅助方法,用于在 self 中的通配符符号与 expr 中的表达式之间寻找匹配。

n([n, subs, maxn, chop, strict, quad, verbose])

将给定的公式计算到 n 位精度。

parameter_value(other, t)

返回与给定点对应的参数。

plot_interval([parameter])

曲线的默认几何图形的绘图间隔。

powerset()

找到 self 的幂集。

rcall(*args)

通过表达式树递归应用于参数。

refine([assumption])

请参阅 sympy.assumptions 中的 refine 函数。

reflect(line)

反映一个对象穿过一条线。

replace(query, value[, map, simultaneous, exact])

self 中匹配的子表达式替换为 value

rewrite(*args[, deep])

使用定义的规则重写 self

rotate([angle, pt])

此函数用于将曲线围绕给定点 pt 按给定角度(以弧度为单位)旋转。

scale([x, y, pt])

覆盖 GeometryEntity.scale,因为 Curve 不是由 Points 组成的。

simplify(**kwargs)

请参阅 sympy.simplify 中的 simplify 函数。

sort_key([order])

返回一个排序键。

subs(*args, **kwargs)

在简化参数后,在表达式中用新内容替换旧内容。

symmetric_difference(other)

返回 selfother 的对称差集。

translate([x, y])

通过 (x, y) 平移曲线。

union(other)

返回 selfother 的并集。

xreplace(rule)

替换表达式中对象的出现。

复制

could_extract_minus_sign

等于

is_hypergeometric

Raises:
ValueError

\(functions\) 指定不正确时。当 \(limits\) 指定不正确时。

示例

>>> from sympy import Curve, sin, cos, interpolate
>>> from sympy.abc import t, a
>>> C = Curve((sin(t), cos(t)), (t, 0, 2))
>>> C.functions
(sin(t), cos(t))
>>> C.limits
(t, 0, 2)
>>> C.parameter
t
>>> C = Curve((t, interpolate([1, 4, 9, 16], t)), (t, 0, 1)); C
Curve((t, t**2), (t, 0, 1))
>>> C.subs(t, 4)
Point2D(4, 16)
>>> C.arbitrary_point(a)
Point2D(a, a**2)
property ambient_dimension

曲线的维度。

返回:
整数

曲线的维度。

示例

>>> from sympy.abc import t
>>> from sympy import Curve
>>> C = Curve((t, t**2), (t, 0, 2))
>>> C.ambient_dimension
2
arbitrary_point(parameter='t')[源代码][源代码]

曲线上的一个参数化点。

参数:
参数str 或 Symbol,可选

默认值为 ‘t’。如果未提供参数或使用 self.parameter,则选择 Curve 的参数;否则使用提供的符号。

返回:

返回一个参数形式的点。

Raises:
ValueError

\(参数\) 已经出现在函数中时。

示例

>>> from sympy import Curve, Symbol
>>> from sympy.abc import s
>>> C = Curve([2*s, s**2], (s, 0, 2))
>>> C.arbitrary_point()
Point2D(2*t, t**2)
>>> C.arbitrary_point(C.parameter)
Point2D(2*s, s**2)
>>> C.arbitrary_point(None)
Point2D(2*s, s**2)
>>> C.arbitrary_point(Symbol('a'))
Point2D(2*a, a**2)
property free_symbols

返回一组符号,这些符号不同于用于参数化定义曲线的绑定符号。

返回:
设置

所有非参数化符号的集合。

示例

>>> from sympy.abc import t, a
>>> from sympy import Curve
>>> Curve((t, t**2), (t, 0, 2)).free_symbols
set()
>>> Curve((t, t**2), (t, a, 2)).free_symbols
{a}
property functions

指定曲线的函数。

返回:
函数

参数化坐标函数的列表。

参见

parameter

示例

>>> from sympy.abc import t
>>> from sympy import Curve
>>> C = Curve((t, t**2), (t, 0, 2))
>>> C.functions
(t, t**2)
property length

曲线长度。

示例

>>> from sympy import Curve
>>> from sympy.abc import t
>>> Curve((t, t), (t, 0, 1)).length
sqrt(2)
property limits

曲线的限制。

返回:
限制元组

包含参数及其上下限。

参见

plot_interval

示例

>>> from sympy.abc import t
>>> from sympy import Curve
>>> C = Curve([t, t**3], (t, -2, 2))
>>> C.limits
(t, -2, 2)
property parameter

曲线函数变量。

返回:
符号

返回一个绑定的符号。

参见

functions

示例

>>> from sympy.abc import t
>>> from sympy import Curve
>>> C = Curve([t, t**2], (t, 0, 2))
>>> C.parameter
t
plot_interval(parameter='t')[源代码][源代码]

曲线的默认几何图形的绘图间隔。

参数:
参数str 或 Symbol,可选

默认值是 ‘t’;否则使用提供的符号。

返回:
列表
绘图间隔如下:

[参数, 下限, 上限]

参见

limits

返回参数区间的限制

示例

>>> from sympy import Curve, sin
>>> from sympy.abc import x, s
>>> Curve((x, sin(x)), (x, 1, 2)).plot_interval()
[t, 1, 2]
>>> Curve((x, sin(x)), (x, 1, 2)).plot_interval(s)
[s, 1, 2]
rotate(angle=0, pt=None)[源代码][源代码]

此函数用于将曲线围绕给定点 pt 按给定角度(以弧度为单位)旋转。

参数:
角度

曲线将以逆时针方向旋转的角度(以弧度为单位)。角度的默认值为0。

pt

曲线将围绕其旋转的点。如果没有指定点,曲线将围绕原点旋转。

返回:
曲线

返回一条围绕给定点按给定角度旋转的曲线。

示例

>>> from sympy import Curve, pi
>>> from sympy.abc import x
>>> Curve((x, x), (x, 0, 1)).rotate(pi/2)
Curve((-x, x), (x, 0, 1))
scale(x=1, y=1, pt=None)[源代码][源代码]

覆盖 GeometryEntity.scale,因为 Curve 不是由 Points 组成的。

返回:
曲线

返回缩放后的曲线。

示例

>>> from sympy import Curve
>>> from sympy.abc import x
>>> Curve((x, x), (x, 0, 1)).scale(2)
Curve((2*x, x), (x, 0, 1))
translate(x=0, y=0)[源代码][源代码]

通过 (x, y) 平移曲线。

返回:
曲线

返回一个翻译后的曲线。

示例

>>> from sympy import Curve
>>> from sympy.abc import x
>>> Curve((x, x), (x, 0, 1)).translate(1, 2)
Curve((x + 1, x + 2), (x, 0, 1))