LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
symbolic_geometry.hpp
浏览该文件的文档.
1/**
2 * @file symbolic_geometry.hpp
3 * @brief 解析几何应用:旋转体体积、弧长公式。
4 */
5#pragma once
7#include "result.hpp"
8#include "symbolic.hpp"
9#include <string>
10#include <memory>
11
12namespace LMCAS {
13
14/**
15 * @brief 计算函数 f(x) 绕 x 轴旋转所得旋转体的体积
16 * @param fx 被旋转的函数表达式 f(x)
17 * @param a 积分下限
18 * @param b 积分上限
19 * @return 旋转体体积的符号表达式
20 */
22 std::shared_ptr<SymbolicExpr> fx,
23 std::shared_ptr<SymbolicExpr> a,
24 std::shared_ptr<SymbolicExpr> b,
26);
27
28/**
29 * @brief 使用默认计算上下文计算绕 x 轴旋转体体积,并显式报告无效输入。
30 */
32 std::shared_ptr<SymbolicExpr> fx,
33 std::shared_ptr<SymbolicExpr> a,
34 std::shared_ptr<SymbolicExpr> b
35);
36
37/**
38 * @brief 计算函数 f(x) 在 [a, b] 上的弧长
39 * @param fx 曲线函数表达式 f(x)
40 * @param a 区间左端点
41 * @param b 区间右端点
42 * @return 弧长的符号表达式
43 */
45 std::shared_ptr<SymbolicExpr> fx,
46 std::shared_ptr<SymbolicExpr> a,
47 std::shared_ptr<SymbolicExpr> b,
49);
50
51/**
52 * @brief 使用默认计算上下文计算 x 方向弧长,并显式报告无效输入。
53 */
55 std::shared_ptr<SymbolicExpr> fx,
56 std::shared_ptr<SymbolicExpr> a,
57 std::shared_ptr<SymbolicExpr> b
58);
59
60/**
61 * @brief 计算函数 f(y) 绕 y 轴旋转所得旋转体的体积
62 * @param fy 被旋转的函数表达式 f(y)
63 * @param a 积分下限
64 * @param b 积分上限
65 * @return 旋转体体积的符号表达式
66 */
68 std::shared_ptr<SymbolicExpr> fy,
69 std::shared_ptr<SymbolicExpr> a,
70 std::shared_ptr<SymbolicExpr> b,
72);
73
74/**
75 * @brief 使用默认计算上下文计算绕 y 轴旋转体体积,并显式报告无效输入。
76 */
78 std::shared_ptr<SymbolicExpr> fy,
79 std::shared_ptr<SymbolicExpr> a,
80 std::shared_ptr<SymbolicExpr> b
81);
82
83/**
84 * @brief 计算函数 f(y) 在 [a, b] 上的弧长
85 * @param fy 曲线函数表达式 f(y)
86 * @param a 区间左端点
87 * @param b 区间右端点
88 * @return 弧长的符号表达式
89 */
91 std::shared_ptr<SymbolicExpr> fy,
92 std::shared_ptr<SymbolicExpr> a,
93 std::shared_ptr<SymbolicExpr> b,
95);
96
97/**
98 * @brief 使用默认计算上下文计算 y 方向弧长,并显式报告无效输入。
99 */
101 std::shared_ptr<SymbolicExpr> fy,
102 std::shared_ptr<SymbolicExpr> a,
103 std::shared_ptr<SymbolicExpr> b
104);
105
106}
#define LMCAS_API
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
ExpressionResult arc_length_y_checked(std::shared_ptr< SymbolicExpr > fy, std::shared_ptr< SymbolicExpr > a, std::shared_ptr< SymbolicExpr > b, ComputationContext &context)
const MultiPoly & b
Result< std::shared_ptr< SymbolicExpr > > ExpressionResult
Result of an operation that produces a symbolic expression.
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField const std::string const std::shared_ptr< SymbolicExpr > & a
ExpressionResult arc_length_x_checked(std::shared_ptr< SymbolicExpr > fx, std::shared_ptr< SymbolicExpr > a, std::shared_ptr< SymbolicExpr > b, ComputationContext &context)
ExpressionResult volume_of_revolution_x_checked(std::shared_ptr< SymbolicExpr > fx, std::shared_ptr< SymbolicExpr > a, std::shared_ptr< SymbolicExpr > b, ComputationContext &context)
ExpressionResult volume_of_revolution_y_checked(std::shared_ptr< SymbolicExpr > fy, std::shared_ptr< SymbolicExpr > a, std::shared_ptr< SymbolicExpr > b, ComputationContext &context)
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.