社区
数据结构与算法
帖子详情
一道面试题, 某游戏公司的
tiantiangame
2010-04-16 08:59:23
加精
用最简单, 最快速的方法计算出下面这个圆形是否和正方形相交。
3D坐标系 原点(0.0,0.0,0.0)
圆形:
半径r = 3.0
圆心o = (*.*, 0.0, *.*)
正方形:
4个角坐标
1:(*.*, 0.0, *.*)
2:(*.*, 0.0, *.*)
3:(*.*, 0.0, *.*)
4:(*.*, 0.0, *.*)
这题实际上是考的游戏中算法的一个应用, 我想了好久都没有合适的简单高效的算法.
...全文
15852
400
打赏
收藏
一道面试题, 某游戏公司的
用最简单, 最快速的方法计算出下面这个圆形是否和正方形相交。 3D坐标系 原点(0.0,0.0,0.0) 圆形: 半径r = 3.0 圆心o = (*.*, 0.0, *.*) 正方形: 4个角坐标 1:(*.*, 0.0, *.*) 2:(*.*, 0.0, *.*) 3:(*.*, 0.0, *.*) 4:(*.*, 0.0, *.*) 这题实际上是考的游戏中算法的一个应用, 我想了好久都没有合适的简单高效的算法.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
400 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ljc0861
2012-08-02
打赏
举报
回复
看了一遍不怎么懂
dzy2316
2011-11-18
打赏
举报
回复
只要判断圆心与正方形每个边的中点是否有一个大于半径,一个小于半径就行了。
hunanrenathit
2010-05-06
打赏
举报
回复
那要整个3D空间干什么,直接就平面几何
a165461
2010-05-06
打赏
举报
回复
假设圆心的坐标为(0,0),正方形的中心坐标为(x,y),圆的半径为r,正方形的边长为a.
正方形与心距离有3个条件
条件1:sqrt(x^2+y^2) <= a/2 + r 如果小于则必定相交,等于可能相切
条件2:sqrt(x^2+y^2) > sqr(2)*a/2 + r 必定不相交
条件3:如果1,2都不满足,那么求圆心于正方形中心相交的相交直线是否相交,如相交,则必定相交,否则,不相交
piqio379
2010-05-03
打赏
举报
回复
搞错了,应该是:
假设圆心的坐标为(0,0),正方形的中心坐标为(x,y),圆的半径为r,正方形的边长为a.
1.当x=0或y=0时,
sqrt(x^2+y^2)<=r+a/2;
2.当|y/x|=1时
sqrt(x^2+y^2)<=r+sqrt(2)*a/2;
3.否则
sqrt(x^2+y^2)<=
r*sin(45°-arctan(y/x)+arcsin(sqrt(2)*a/2*sin(45°-arctan(y/x))/r))/sin(45°-arctan(y/x))
则相交
antimatterworld
2010-05-03
打赏
举报
回复
x + 2y + 3Z + 4 = 0
4x + 3y +2Z + 1 = 0
这2个面相交的直线方程是
x = t + 2
y = - 2t - 3
z = t
(x、y、z、t属于任意实数集)
这类问题就是一看挺难,再一看没啥难的...
G_cofa
2010-05-03
打赏
举报
回复
内接圆,外接圆。
antimatterworld
2010-05-03
打赏
举报
回复
[Quote=引用 391 楼 fengxunyu 的回复:]
如果是异面相交就有点纠结了。
[/Quote]
面的方程可以用ax+by+cz+d=0的形式表示
异面相交的问题可以转换成如下方程组:
a
1
x
+
b
1
y
+
c
1
z
+
d
1 =
0
a
2
x
+
b
2
y
+
c
2
z
+
d
2 =
0
当然具体x、y、z是无法得到具体数值的。
只需把x、y、z表示成关于参数t的映射即可。
所得结果即表示3D空间中的直线。
俺也是学了点3D数学的基本知识,皮毛的很~~
韬哥~~
2010-05-03
打赏
举报
回复
如果是异面相交就有点纠结了。
kosl90
2010-05-03
打赏
举报
回复
先求出正方形的中心点的坐标,然后看正方形中心到圆心的距离d与正方形中心到其中一个点的距离s
1. d=r+s相交
2. d>r+s不相交
3. r-d>=s>0相交
4. 0<r-d<s不相交
大概就这样吧,也许有错
liu13chao
2010-05-02
打赏
举报
回复
太难了
codeferever
2010-05-02
打赏
举报
回复
这个题目初中的,平面内两个闭合的图形,有五种情况:
1、相离
2、相切(这里有两种情形)
3、相交
4、内切
5、内含
songfei5201314
2010-05-02
打赏
举报
回复
有项目管理经验的.NET开发的朋友,可以加上限500人的QQ群28720769,一起交流。
piqio379
2010-05-02
打赏
举报
回复
假设圆心的坐标为(0,0),正方形的中心坐标为(x,y),圆的半径为r,正方形的边长为a.
sqrt(x^2+y^2)<=
r*sin(45°-arctan(y/x)+arcsin(sqrt(2)*a/2*sin(45°-arctan(y/x))/r))/sin(45°-arctan(y/x))
则相交
piqio379
2010-05-02
打赏
举报
回复
假设圆心的坐标为(0,0),正方形的中心坐标为(x,y),圆的半径为r,正方形的边长为a.
sqrt(x^2+y^2)<=
r*sin(45-arctan(y/x)+arcsin(sqrt(2)*a/2*sin(45-arctan(y/x))/r))/sin(45-arctan(y/x))
则相交
老青蛙嘎嘎嘎
2010-04-30
打赏
举报
回复
看看 路过 拿分
cool_naruto
2010-04-30
打赏
举报
回复
数据结构与算法 欢迎广大菜鸟与高手,只要热情对的好学者 群号:109089557
cool_naruto
2010-04-30
打赏
举报
回复
数据结构与算法 欢迎广大菜鸟与高手,只要热情对的好学者
wsbd10086
2010-04-29
打赏
举报
回复
1.矩形与圆相交首先考虑矩形与圆相切的情况。
2.有条件1可以得到一个圆角矩形
3.用函数表示2中的圆角矩形,可以分为9块图形,分别为题设中的矩形(第一块),第一块矩形周围4块矩形(5块),4块四分之一的圆角(9块)。
4.最后转换成,圆的中心是否在这9块图形中。
求优化- -
向往自由的普通人
2010-04-29
打赏
举报
回复
方法很不错!!!!
加载更多回复(373)
Java高频
面试题
【课程介绍】很多人面试前都会罗各种
面试题
。这些面试资料数量众多,但内容杂,系统性不强。最重要的是很多知识点如果不结合讲解,有些重点内容理解的难度偏大。如果下一次遇到面试,又要重新搜集资料,很多知识要重新学习,非常麻烦。因此,我们在上千道
面试题
中,梳理了最常见
面试题
对应的经典知识。主要包含:JAVA基础部分、核心编程、Web编程、MyBatis、Spring、SpringMVC、JVM、性能优化、技术之外必问题。每一个知识点都是精选、经典的重现!学完本教程,让你面试路上从容自信!
【
游戏
客户端
面试题
干货】-- 2021年度最新
游戏
客户端面试干货( C++篇 )
【
游戏
客户端
面试题
干货】-- 2021年度最新
游戏
客户端面试干货( C++篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的
公司
。 今天给大家分享一下我在之前精心准备的一套面试知识...
每日
一道
Android
面试题
,面试途中不败题
这里会不断收集和更新Android基础相关的
面试题
,目前已收集100题。 1.Android系统的架构 应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括Email客户端,SMS短消息程序,日历,地图,浏览器,...
第一次面试成都某
游戏
公司
时的题目
首先笔试,较为基础,其中最后有
一道
关于
游戏
开发题目 总共23根火柴,人和计算机只能拿其中的1 2 3 根,谁拿到最后一根谁就输,编程实现该
游戏
。 设计模式 谈谈熟悉的一种设计模式,并用例子说明。 TCP/...
吐血整理50家企业真实大数据
面试题
!!学长实测,真实面试!!快收藏!
文章目录前言京东
面试题
58
面试题
新浪
面试题
搜狐
面试题
360
面试题
小米
面试题
顺丰
面试题
OPPO
面试题
VIVO
面试题
华为
面试题
...
公司
面试题
亿联银行(石景山瑞达广场)
面试题
洋葱科技
面试题
北京卓越讯通
面试题
环信
面试题
e代驾面
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章