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

提供对该问题的详细解答,每小时收费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]


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


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

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值