- 注册时间
- 2009-6-9
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 19886
- 在线时间
- 小时
|
楼主 |
发表于 2024-11-10 13:35:24
|
显示全部楼层
关于两个一般椭圆台曲面相交的计算,现遇到两个很麻烦的计算问题需要探讨一下:
对第一个椭圆台方程:
[(k1*a11 + (1 - k1)*a12)*cos(t1) + k1*x0, (k1*b11 + (1 - k1)*b12)*sin(t1) + k1*y0, k1*H11 - (1 - k1)*H12]
与第一个垂直椭圆台方程:
[k2*H21 - (1 - k2)*H22, (k2*b21 + (1 - k2)*b22)*sin(t2), (k2*a21 + (1 - k2)*a22)*cos(t2)]
将第二个椭圆台曲面旋转60度,且其它相关参数
[a11 = 50, b11 = 60, a12 = 80, b12 = 90, a21 = 60, b21 = 70, x0 = 30, y0 = 50, a22 = 70, b22 = 80, t0 = Pi/6, H11 = 500, H12 = 500, H21 = 500, H22 = 500]
我们可以算出两椭圆台曲面的截交曲线方程:
[(-30*((sin(t1) - sin(t2) + 40/3)*cos(t1) - 9*sin(t1) + sin(t2))*cos(t2)*sqrt(3) + (3000*sin(t1) - 9500*sin(t2) + 40000)*cos(t1) - 27000*sin(t1) + 25500*sin(t2))/(cos(t2)*(3*sin(t1) - 5)*sqrt(3) - 300*sin(t1) + 200*sin(t2) + 500), 30*sin(t2)*(cos(t2)*(sin(t1) - 5/3)*sqrt(3) - 250*sin(t1) + 4250/3)/(cos(t2)*(3*sin(t1) - 5)*sqrt(3) - 300*sin(t1) + 200*sin(t2) + 500), (7500*cos(t2)*(sin(t1) - (2*sin(t2))/15 + 1/3)*sqrt(3) - 750000*sin(t1) + 750000*sin(t2) - 250000)/(cos(t2)*(3*sin(t1) - 5)*sqrt(3) - 300*sin(t1) + 200*sin(t2) + 500)] ......(1)
且t1,t2 需要满足如下方程:
((1500*cos(t2)*sqrt(3) - 150000)*sin(t1) - 1500*cos(t2)*sqrt(3)*sin(t2) + 20000*cos(t2)*sqrt(3) + 475000*sin(t2) - 2000000)*cos(t1) + (-13500*cos(t2)*sqrt(3) - 37500000*sqrt(3) + 1575000*cos(t2) + 1350000)*sin(t1) + 1500*cos(t2)*sqrt(3)*sin(t2) + 37500000*sin(t2)*sqrt(3) + 50000*cos(t2)*sin(t2) - 12500000*sqrt(3) - 3375000*cos(t2) - 1275000*sin(t2)=0 ...........................................(2)
利用数学软件MAPLE可以算出:
两个椭圆台曲面及截交曲线如下图:
截交曲线如下图:
(2)的隐函数方程图像如下:
现在主要的难题在于如何快速高效的计算下式:(例如本例(2)式)
\((m_1\cos(t_2) + m_0)\sin(t_1)\cos(t_1) + (n_1\cos(t_2)\sin(t_2) + n_2\cos(t_2) + n_3\sin(t_2) + n_0)\cos(t_1) + (p_1\cos(t_2) + p_0)\sin(t_1) + q_1\cos(t_2)\sin(t_2) + q_2\cos(t_2) + q_3\sin(t_2) + q_0=0\)....................................(3)
其中 \(m_1,m_2,m_0,n_1,n_2,n_3,n_0,p_0,p_1,q_1,q_2,q_3,q_0\)为已知常数
A. 若已知\( t_2 (0<t_2<2\pi)\),求\( t_1 (0<t_1<2\pi) \)?
B.\(t_1,t_2\) 满足 (3) 如何求\(t_2\)的两个顶点(上面最后一个截图中的两个蓝色点坐标)
对于只有简单计算功能(加,减,乘,除,三角函数,log,exp;无代数方程及积分等高级的计算功能)的参数化平台,如何利用数值计算来解决A,B问题
注:
显然对A问题,利用牛顿迭代计算公式\(x_{k+1}=x_{k}-\frac{f(x)}{f'(x)}\)可以解决 ,请结合函数的性质,选择合适的 \(f(x)\), 给出高效的迭代计算公式(要求6次迭代给出至少10^(-4)的计算精度)
由于\(t_2\) 已知代入(3)可以得到 \( A\sin(t_1)\cos(t_1)+B\cos(t_1)+C\sin(t_1)+D=0\), f(x)可以有如下选择,不知哪个最优
1. \(f(x)=\arcsin(\frac{B\cos(x)+D}{A\cos(x)+C})\)
2. \(f(x)=\arccos(\frac{C\sin(x)+D}{A\sin(x)+B})\)
3. \(f(x)=-\frac{1}{2}\arcsin(\frac{B\cos(x)+C\sin(x)+D}{A})\)
......
显然对B问题,利用数学软件可以有办法计算 \(F(t_1,t_2)=0,F'(t_1,t_2)=0\) 可以计算出两个顶点的坐标),但脱离数学软件不知有什么数值计算方法来得到这两个顶点的坐标?
|
|