我不知道我是否能够完全解释我的需要。但我会试试。
我有弯曲的框架,在这个框架上,我必须绘制力/力矩/压力的图表。框架有9个间隔。现在我伸展框架并在拉伸的零线上绘制图表。
但是如果我想在真实的画面上画出来该怎么办?
举几个例子:
我尝试做这样的事情:
这是真实的框架:
有相应的力影响框架。
如果我拉伸最终的力/力矩/压力图,它看起来像这样:
我需要这样:
我希望你知道我的意思:-)我不是一个Photoshop人: - )
编辑:在我看来,如果您绘制任何绘图,您可以使用零线绘制它,但是如果将零线更改为不同的功能该怎么办。
就像绘制2条线并填充它们之间的区域一样,但只有底线是普通零线的函数,第二条线是第一行的函数。
欢迎任何想法: - )
答案 0 :(得分:2)
这种情节的一般想法如下:
让你的顶部曲线描绘为y = f(x)。在matlab中,您可以获得一组积分:
x = x0:dx:xf;
y = f(x);
f应该是外部函数或公式。
比你有零线功能y2 = g(x2)。 将此函数转换为参数形式所需的第一个问题,如y2 = gy(t),x2 = gx(t)。 如果你有这样的参数表示,你可以在零线曲线上接收相等距离的两个点集:
t=x0:dx:xf; % same as x above
x2=gx(t);
y2=gy(t);
第二个问题是你需要为每个零曲线点接收法向量。
如果你有直接公式y2 = g(x2),你可以使用公式:
nx - x2(k)+ g'(x2(k))*(ny-y2(k))= 0
nx ^ 2 + ny ^ 2 = 1
g'表示g的衍生物; x2(k),y2(k) - 零线曲线的点; nx,ny是每个点的法向量的分量。
让你为上面定义的每个t收到两组nx和ny。
最后,您将获得力曲线所需的一组点:
x=x2+nx;
y=y2+ny;