曲线拟合法求古堡朝圣问题(近似)
geogebra吧
全部回复
仅看楼主
level 11
如上图,A、B为固定点,P为单位圆上一动点,圆心在原点,A在y轴上,求AP+BP最小值。
b = 曲线(cos(t), sin(t), t, 0, 2π)
A = 描点(y轴)
O=(0,0)
B = (4, 1)
P = 描点(b)
f = 线段(A, P)
g = 线段(P, B)
h = 线段(A, B)
i = 线段(A, O)
j = 线段(O, B)
我们设一参数t,t为0到2π,然后用(t,b(t))在圆周上取序列点,再给出AP+BP的表达式,t与表达式组成点列数据。
l1 = 序列((t, 距离(A, b(t)) + 距离(B, b(t))), t, 0, 2π, 0.1)
这个点列非常接近正弦或者余弦图形,因此,我们用正弦拟合:
p(x) = 如果(0 ≤ x ≤ 2π, 正弦拟合(l1))
此时,正弦函数最小值就近似AP+BP最小值了,我们继续,对函数求导,取零值点:
q(x) = p'(x)
D = 零值点(q, -3.76028, 8.5701)
C = 零值点(q, -3.76028, 8.5701)
E = b(x(C))
红色虚线为曲线导数图形,C点为原曲线最小值对应点,E点为我们所求点,也就是当P运动到E点时,AP+BP最小,或者我们直接给出AE+BE,可近似求出最小值。
2021年03月03日 06点03分 1
level 1
这个可否使用matlab进行实现呢?
2021年03月20日 09点03分 2
level 11
没用过matlab,关注过,应该可以,毕竟matlab更接近编程语言,用它来处理这问题,自由度更高,更容易实现。好比问能否用JavaScript或者c语言实现上述功能,当然是可以的。
2021年03月20日 13点03分 3
1