极坐标系图形输出
在本例中,我们将演示如何输出 Engee 动力模型的极坐标系图形。
交互式脚本中的极坐标图
Graphs in the polar coordinate system allow you to see interrelationships that are not visible on graphs in the rectangular (Cartesian) coordinate system: to get an idea of the expression of some process in certain directions in space, or to trace the recurring dynamics within some cyclic process...
如果工作是在交互式脚本 Engee 中完成,则使用参数proj
将图形转换为极坐标系。其值:polar
允许我们以极坐标绘制图表:
Θ = range( 0, stop = 1.5π, length = 100 )
r = abs.( 0.1 * randn(100) + sin.(3Θ) )
plot( Θ, r, proj = :polar, m = 2 )
而参数ortho
则以矩形坐标系绘制图表
plot( Θ, r, proj = :ortho, m = 2 )
让我们尝试只使用画布和动态模型图形输出工具,在极坐标系中绘制图形().
动态模型极坐标图
要在不使用交互式脚本工具的情况下为动态模型绘制极坐标图,我们需要将向量从矩形坐标系转换为极坐标系。
请考虑以下模型 (draw_polar_engee_logo.engee
):

如果使用 , 它将绘制下图:

让我们使用 软件模拟管理 工具来分析这个模型。
modelName = "draw_polar_engee_logo";
model = modelName in [m.name for m in engee.get_all_models()] ? engee.open( modelName ) : engee.load( "$(@__DIR__)/$(modelName).engee");
我们可以在不运行仿真的情况下,只需参考每个区块的属性,就可以检查每个区块LUT
中定义了哪些片断线性关系。
# Анализируем первую таблицу подстановок
x1 = engee.get_param( modelName*"/LUT1", "BreakpointsForDimension1" );
y1 = engee.get_param( modelName*"/LUT1", "Table" );
# Анализируем вторую таблицу подстановок
x2 = engee.get_param( modelName*"/LUT2", "BreakpointsForDimension1" );
y2 = engee.get_param( modelName*"/LUT2", "Table" );
# Построим график
plot(
plot( x1, y1, legend=false ),
plot( x2, y2, legend=false )
)
因此,模型在矩形坐标系中绘制,但经过转换后输出,将输入信号解释为极坐标系中的数据。
输出图形是极坐标系中两个图形的总和。第一个部分设定了构成徽标的两条曲线(曲线LUT2
,其半径1.0
)各自的中心线位置。第二个部分(曲线LUT1
,显示半径为0.25
)模拟了与中心线的偏差。
坐标变换有两种不同的方式。两种方法都可以互换。在第一种情况下,我们使用基础调色板中的简单图块进行坐标变换:

在第二种情况下,我们使用Engee Function
块,用以下代码执行相同的操作:
``朱莉娅
struct Block <: AbstractCausalComponent
# 无参数
结束
函数 (c::Block)(t::Real, α, r)
x = r * sin( α )
y = r * cos( α )
返回 (x,y)
结束
让我们显示模型绘制的图形:
gr()
s = engee.run( modelName, verbose=false );
plot( s["y"].value, s["x"].value, aspect_ratio=:equal )
结论
在Engee中,您可以逐渐使用越来越复杂的绘图工具,而无需编程。
在本演示中,我们展示了如何在无需编程的情况下绘制极坐标图(或者,如何使用Engee Function
块进行绘制)。
<br
与交互式脚本中的图形不同,动态模型中的图形可以在仿真过程中直接更新,这为交互式模型仿真创造了有趣的可能性。