已知圆心坐标,半径,求圆外切正方形与圆相交四个点坐标

liujiassd 2011-06-20 06:41:41
已知圆心坐标,半径,求圆外切正方形与圆相交四个点坐标
...全文
533 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
数学没学好。
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
如果圆心在坐标原点,那么对于点(x, y)与x轴的夹角为:

α = arctan(y/x)

我这两天脑子有点问题,有时候转不过弯,大致是这样,你确定一下
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
x = ρ*cos(α) + x0
y = ρ*sin(α) + y0

α 怎么获得?

是这样吗? double angle = r * 180 / Math.PI;
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 liujiassd 的回复:]
其实我问这个问题的最终目的是要判读点坐标是否在圆内,我不想用这种方法(x-a)^2+(y-b)^2=r^2
[/Quote]

那用极角坐标判断最好
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
补充一下,下面这种变换是基于圆心是直角坐标系原点的情况下得到的,不在原点的时候还要移动分别加x0和y0就可以了

[Quote=引用 7 楼 jq_whh 的回复:]
因为你只需要求出第一象限的一个:
第二象限:x2 = -y, y2 = x
第三象限:x3 = -x, y3 = -y
第四象限:x4 = y, y4 = -x
[/Quote]
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
其实我问这个问题的最终目的是要判读点坐标是否在圆内,我不想用这种方法(x-a)^2+(y-b)^2=r^2
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
那我只要这个正方形二对角的坐标,一组就可以
小赖赖 2011-06-20
  • 打赏
  • 举报
回复
正方形是可以绕圆心旋转的,题目中又没说是固定位置
外切正方形有无数个
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
当然有无数个,正方形可以旋转啊,从上面的公式也可以看出来啊
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
不是四个吗?有无数个?
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
因为你只需要求出第一象限的一个:
第二象限:x2 = -y, y2 = x
第三象限:x3 = -x, y3 = -y
第四象限:x4 = y, y4 = -x
小赖赖 2011-06-20
  • 打赏
  • 举报
回复
正方形内最大圆与正方形相交
和外切正方形没区别啊....还是无数个
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
有四个点坐标,这样我只会求一个?
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
还是第一种表达好一些
jq_whh 2011-06-20
  • 打赏
  • 举报
回复
用极角坐标系表达就非常简单,以圆心为极点的极角坐标:
ρ∠α 其中ρ是圆半径,α是逆时针旋转过切点半径与x正轴的夹角
换算成直角坐标系就简单啦:假设圆心坐标为(x0, y0),切点坐标为
x = ρ*cos(α) + x0
y = ρ*sin(α) + y0
liujiassd 2011-06-20
  • 打赏
  • 举报
回复
也许是我描述不正确,应该是
已知圆心坐标,半径,求正方形内最大圆与正方形相交的四个点坐标
小赖赖 2011-06-20
  • 打赏
  • 举报
回复
这个可以有无数个...

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧