找回密码
 欢迎注册
查看: 5576|回复: 3

[求助] 表示圆的一个函数,用参数方程画的曲线为什么与直角坐标方程画的不一样?

[复制链接]
发表于 2021-10-14 20:22:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
有一个圆用参数方程表示如下:

$ x=(2 u^2 + 2 u + 6)/(u^2 + 1),   y=(3 u^2 + 4 u + 1)/(u^2 + 1) $,  用指令  Eliminate[ ]  消去参数 $ u $ 后可将其转换为直角坐标方程为:$ -y^2+4 y-15=x^2-8 x $。
但是用参数方程指令画出的圆,却与用隐函数指令画出的圆不一样。哪里出问题了? 是转换成的直角坐标方程不对呢,还是画图指令不对?

参数方程转换成直角坐标方程的程序代码如下:
  1. Clear["Global`*"];
  2. Eliminate[{x == (2 u^2 + 2 u + 6)/(u^2 + 1),
  3.   y == (3 u^2 + 4 u + 1)/(
  4.    u^2 + 1)}, {u}] (*已知 x、y 的参数方程,消去参数 u 求 x、y 间的关系*)
复制代码


用参数方程指令画圆与用隐函数指令画圆,结果不一样:
  1. Clear["Global`*"];
  2. ParametricPlot[{(2 u^2 + 2 u + 6)/(u^2 + 1), (3 u^2 + 4 u + 1)/(
  3.   u^2 + 1)}, {u, -8, 8}]
  4. ContourPlot[{ -y^2 + 4 y - 15 == x^2 - 8 x}, {x, 0,
  5.    8}, {y, -2, 6}, Axes -> True, Frame -> False]
复制代码


上面两条指令运行结果如下 (用图片表示):

两个圆不一样.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-10-15 07:38:58 | 显示全部楼层
是不是两个图的坐标原点不同,导致了你的误判?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-10-15 09:22:02 | 显示全部楼层
用 mathematica 的参数方程画图指令  ParametricPlot [  ]  画出的圆,乍看好像是与用隐函数作图指令 ContourPlot [  ]  画出的圆不一样,其实是一样的。

参数方程画的坐标系是把纵轴画在  x=2 处了,而隐函数作图画的坐标系是把纵轴画在 x=0  的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-10-15 12:07:16 | 显示全部楼层
因为u的定义域是开区间, 少了一个无穷远点. u在无穷远的地方的时候,对应的是点 $(2,3)$ 的邻域 ,消元后是 又把无穷远点给补上去了.所以ContourPlot  没问题.
ParametricPlot 的区间越大,  要画的点越多,为了兼顾计算性能,软件会有省略算法, 所以看上去 ParametricPlot 函数也有问题, 不过我们可以通过加选项绕过去.

  1. m = 1000; ParametricPlot[{(2 u^2 + 2 u + 6)/(u^2 + 1), (3 u^2 + 4 u +  1)/(u^2 + 1)}, {u, -m, m}, PlotRange -> All, PlotPoints -> 500]
复制代码

评分

参与人数 1威望 +2 金币 +2 贡献 +2 经验 +2 鲜花 +2 收起 理由
TSC999 + 2 + 2 + 2 + 2 + 2 赞一个!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-2 17:04 , Processed in 0.058776 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表