用Mathematica解两个圆柱面相贯的交线及其投影的问题

您所在的位置:网站首页 matlab绘制两曲面交线 用Mathematica解两个圆柱面相贯的交线及其投影的问题

用Mathematica解两个圆柱面相贯的交线及其投影的问题

2023-12-11 21:15| 来源: 网络整理| 查看: 265

提供对该问题的详细解答,每小时收费200元人民币,先付费后辅导。大笑[参考的是高中生家教市场价]

(联系电话:  壹3五8壹88七55七 偷笑

典型的用符号计算可以得到解析解的多项式方程组问题。难度级别低。

首先,画出这两个圆柱面(猜猜它们各自的方程):

ParametricPlot3D[{{10 Cos[u], 10 Sin[u], v}, {-(v/2) + 10 Sqrt[3] Cos[u], 20 Sin[u], (Sqrt[3] v)/2 + 10 Cos[u]}}, {u, 0 , 2 Pi}, {v, -80, 80}, PlotPoints -> 70, PlotTheme -> "Classic", Mesh -> None] 其次,求解相贯线对应的参数方程:

Solve[{x^2 + y^2 == 100, (Sqrt[3] x + z)^2 + 4 y^2 == 1600}, {x, y}] // Simplify

第三,画出相贯线

ParametricPlot3D[{{Sqrt[3] z-2 Sqrt[-300+z^2],-Sqrt[1300-7 z^2+4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z-2 Sqrt[-300+z^2],Sqrt[1300-7 z^2+4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z+2 Sqrt[-300+z^2],-Sqrt[1300-7 z^2-4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z+2 Sqrt[-300+z^2],Sqrt[1300-7 z^2-4 Sqrt[3] z Sqrt[-300+z^2]],z}},{z,-80,80}] 第四,这个是对相贯线再作投影要用的:

(IdentityMatrix[4] - Transpose[{{1, 0, 1, 0}}].{{1, 0, 1, 0}}/({{1, 0, 1, 0}}.Transpose[{{1, 0, 1, 0}}])[[1, 1]])[[1 ;; 3, 1 ;; 3]] // MatrixForm

最后,直接对相贯线投影的参数方程绘图

ParametricPlot3D[{{Sqrt[3] z-2 Sqrt[-300+z^2],-Sqrt[1300-7 z^2+4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z-2 Sqrt[-300+z^2],Sqrt[1300-7 z^2+4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z+2 Sqrt[-300+z^2],-Sqrt[1300-7 z^2-4 Sqrt[3] z Sqrt[-300+z^2]],z},{Sqrt[3] z+2 Sqrt[-300+z^2],Sqrt[1300-7 z^2-4 Sqrt[3] z Sqrt[-300+z^2]],z}}.{{1/2,0,-(1/2)},{0,1,0},{-(1/2),0,1/2}},{z,-80,80},PlotStyle->Red]

好吧,把空间曲线再放到平面上(在它们投影面上建立一个平面坐标系):

搞定【一个有价值的发现是,这种曲线可以作为鸡蛋轮廓线的一种很好的近似】


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3