射线与圆的位置关系

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

http://acm.nit.net.cn/showproblem.jsp?pid=1553

 

设圆心(a,b),r

起点(ox,oy),增量(dx,dy);

 

先判断圆半径 和 圆心到直线的距离(dis = fabs(dy*(a-ox)+dx*(oy-b))/sqrt(dx*dx+dy*dy) - r;)关系;

if(dis > 0) printf("yes/n");

else

 

再判断:

(ox,oy)到圆心的距离(dis1 = sqrt((a-ox)*(a-ox)+(b-oy)*(b-oy));)

和 (ox+dx/10000,oy+dy/10000)到圆心的距离(dis2 = sqrt((a-ox-dx/10000)*(a-ox-dx/10000)+(b-oy-dy/10000)*(b-oy-dy/10000)););

 

if(dis1<=r || dis2<=r || dis2<dis1) printf("no/n");
   else printf("yes/n");

[Unity]已知点和射线射线相交的一点 参考资料1: magnitude  Returen the length of vector(Read Only). 然后就试了一下这个方法。 Vector3 P1 = new Vector3(1,1,1); Vector3 P2 = new Vector3(2,2,2); print((P1-P2).magnitude); 已知心、半径、角度,求出上的 阅读详情

相关推荐

面试问过的三角形有关智力题

本文介绍了判断点三角形位置关系的几种方法:叉积法通过计算点三边叉积符号一致性判断是否在内部;面积法比较点三边构成小三角形面积之和是否等于原三角形面积;重心坐标法通过将点表示为顶点加权平均来判断位置射线法则通过计算水平射线边界的交点奇偶性确定内外。此外,还讨论了判断三角形位置关系的方法,包括心是否在三角形内、顶点是否在内,以及心到边的最小距离是否大于半径。这些方法适用于不同场景,可根据需求选择合适算法。

2401_83379040的博客 673

2D射线距离检测——线段

本算法实现2D下的射线检测算法,可以检测射线段到障碍物的距离。 // An highlighted block /// <summary> /// 计算线段(M,P)(C,R)的交点距离目标点(M)最近的点的距离 /// </summary> /// <param name="P">线段另一顶点</param> /// <param name="C">心<

qq_35424507的博客 716

图形学常见的点、线、面位置关系判断算法及其代码实现

图形学的基础之一就是计算几何,它没有理论数学那么高深莫测,而且它很有实践性。具体来说图形学除了常用的计算几何方法外,还涉及到向量、点线关系以及点多边形关系求解等数学知识,还有一些平面几何的基本原理。当然如果单从实用的图形学所涉及到的数学基础,或者说想学会图形学所需要掌握的数学知识来说,它主要涉及有微分几何(流形)、几何光学、球谱函数、模特卡洛方法、傅里叶分析、小波分析、以及解微分方程的有限元方法。不过在这里我们先不会去讨论这些数学基础,而是先给出一些图形学中计算几何较为基础的算法代码实现。 1、点.

smilejiasmile的博客 2440

射线、球相交检测

射线、球相交检测 本篇讨论2D中射线的相交检测,本方法同样适用于3D中射线和球的相交检测,这是因为可以在包含射线和球心的平面中进行检测,从而将3D问题转化为2D问题。如果射线穿过球心,那么平面不是唯一的,但是不影响问题的解。 下面直接降阶为 2D讨论射线的相交检测。 射线的三种关系:相交、相切、相离 其中相切是相交的特殊情况 看下图, 如何判断射线是否相交? 如果相交,如何计算交点坐标? 下图中是射线相交的一般情形。交点为E,其实相交时交点是两个,行切时交点是一个,我们只讨论第一个

lq 2634

关于的角度和弧度的计算公式

Math.PI 表示一个的周长直径的比例,约为 3.141592653589793,其实就是我们所说的周率 π Math.sin(x) //x 的正玄值。返回值在 -1.0 到 1.0 之间; Math.cos(x) //x 的余弦值。返回的是 -1.0 到 1.0 之间的数; 角度和弧度转换公式: 弧度 = 角度PI/180   角度 = 弧度180/PI 还有一个计算弧度常用的:(一样的) 弧度的计算公式为: 2PI/360角度; 弧度 = 角度 ×(PI/180); 30° 角度 的弧度 = 3

weixin_45178215的博客 1万+

HDU 5572 An Easy Physics Problem 【直线关系

传送门:HDU 5572 An Easy Physics Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description On an infinite smooth table, there’s a big round fixed ...

Waiting For You 184

GPS经纬度判断是否在、多边形、矩形内

class 点面关系 { static void Main(string[] args) { //Vector2D point1 = new Vector2D(39.909209536859834, 116.3225715637207);//in Vector2D point1 = new Vector2D(39.901...

weixin_33872660的博客 737

【loj6437】 【PKUSC2018】 PKUSC 计算几何

题目大意:给你一个m个点的简单多边形。对于每个点i∈[1,n],作一个以O点为原点且过点i的,求该在多边形内的弧长度/长。 其中n≤200,m≤500。 我们将n个点分开处理。 首先,我们要判断需处理的,是否被包含在多边形内,或者把多边形包含了。 我们显然可以从原点出发,向上作一条x=0的射线,判断该射线多边形有多少个交点。 显然,若交点数量为奇数个,...

diaoyoutun2652的博客 282

HDU 5572 (平面几何)

题目链接:点击这里题意: 平面上一个, 两个外的点A,B, 给A一个初速度, 问能否碰到B.根据AA的运行射线轨迹分成两种情况: 1. 如果运行时不撞到, 那么判断BB在射线上即可; 2. 如果撞到, 求出比较近的那个交点PP, 求出AA关于OPOP的对称点A′A', 那么判断BB在线段APAP或者射线PA′PA'上即可.#include <cstdio> #include <cmath

morejarphone~ 586

HDU 5572 An Easy Physics Problem

题目:点击打开链接 题意:二维平面中一位于(Ax, Ay)的点A以矢量v为方向运动,同时平面内有一半径为r 心为Ox Oy的,点A碰到就会反弹,问运动过程中是否能碰到点B。 分析:这题思路上并不难,写起来比较麻烦,抄的kuangbin的新板子,先判断一下直线AV是否的交点个数,如果少于2个交点,判断B是否在射线AV上,如果有两个交点,求出距离A较近的那个交点P1,求出A关于QP1的对称点...

常胜将军的博客 318

计算机图形学常用算法

(引自:http://blog.csdn.net/orbit/article/details/7082678  作者:orbit) 我的专业是计算机辅助设计(CAD),算是一半机械一半软件,《计算机图形学》是必修课,也是我最喜欢的课程。热衷于用代码摆平一切的我几乎将这本教科书上的每种算法都实现了一遍,这种重复劳动虽然意义不大,但是收获很多,特别是丢弃了多年的数学又重新回到了脑袋中,算是最

3560

hdu5572An Easy Physics Problem+计算几何

An Easy Physics Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1501 Accepted Submission(s): 289Problem Description On an infinite

xtulollipop 1234

点线面平面几何计算

转载来自csdn资源下载,这里做记录。 #include<cstdlib> #include<cmath> #include<cstdio> #include<algorithm> #define max(a,b) (((a)>(b))?(a):(b)) #define min(a,b) (((a)>(b))?(b)...

weixin_30332241的博客 104

射线法判断点面的位置关系

手写地理信息组件系列 第14篇 面图形的点选原理 难度指数:★★★★☆ Review: 此篇继承上篇内容–地图交互中的算法应用。上篇展现的内容是:地图控件中点、线图形的点选原理及实现。可以整理出来的思路是:几何对象的选中,就是点和几何对象的位置关系判断。 当点和几何对象满足我们设定的位置关系时,对象即为选中态。 点点选中和点线选中相对简单,点面选中的情况就比较多了,下面我来剖析一下面图形选中的原理和实现。 点面的位置关系 图形位置关系,可以粗分为相离(Disjoint)和相交(Intersects)。 .

GISVertex 4722

python射线法判断点多边形的位置关系

python射线法判断点多边形的位置关系 博客为本人的学习笔记,多多学习,一起交流。 常见的判断点多边形的位置关系有面积法,角度法以及射线法 以射线法的实现为例,代码如下: #write by heheyang def in_or_out(point,rangelist): #point为点,rangelist为多边形的定点 #排除不在范围内的点 rlon=[] rlat=[] for p in rangelist: rlon.append(p[0])

heheyangxyy的博客 3806

【判断点多边形的位置关系的方法——射线法】

C++ 射线法 点多边形的位置判断

奔跑的回锅肉の博客 2337
上一篇: Cow Picnic
下一篇: 用strlen()时的粗心
sffsdfdfgfdgfd
博客等级 码龄17年 19粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值