首页
学习
活动
专区
圈层
工具
发布

空间直线与球面相交算法

我在《已知线段上某点与起点的距离,求该点的坐标》这篇博文中论述过: 对于知道线段的起点\(O\)和终点\(E\),显然方向向量为\(D=E−O\)。...t-C_x)^2 + ( O_y + D_y * t-C_y)^2 + (O_z + D_z * t-C_z)^2 = R^2 \] 一元二次方程组的有无解,单个解,以及双解三种可能,这也符合空间直线与球面相交的直观认识...,要么相切有一个交点,要么相交有两个交点,否则的话可能没有交点。...不过注意t的范围一般是0到1,这是与直线给的起点位置与终点位置有关的。 推到这里就会发现原来全部都是高中数学知识,应该还做过题目来着。 2....再次注意,我这里是把线段当成直线判断的,如果希望判断整个直线与球面的交点,应该略去最后的关于\(t\)是否在0到1之间的判断,此时应该会有两个交点。 3. 参考 空间直线同球体交点求解

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    相交链表!

    题目描述 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 null。 在返回结果后,两个链表仍须保持原有的结构。...吴师兄的思路 首先假设 A 、B 两个链表是有相交节点的情况。 再假设 A 、B 两个链表是没有相交节点的情况。...也就是说,无论 A、B 两个链表是否有相交点,最终都会指向一个相同的节点,要么是它们的公共尾部,要么是 NULL。...headB 长度的之和减一 // pointA 和 pointB 都会同时指向 null // 比如 headA 的长度是 7,headB 的长度是 11,这两个链表不相交...,返回任意一个均可 // 2、此时,headA 和 headB 不相交,那么 pointA 和 pointB 均为 null,也返回任意一个均可 return pointA

    42930

    两圆相交到两球相交

    两圆相交 两圆关系,可以根据圆心距离和半径的关系来判断,现在只考虑相交的情况,即圆心距LLL在两圆半径之和|r1+r2||r1+r2||r_1+r_2|及两圆半径之差|r1−r2||r1−r2||r...最后利用弧长公式即可计算两圆相交部分的弧长。...- s1 - s2;//r1圆剩余部分面积,不含相交部分面积 double rest_s2 = PI*b.r*b.r - s1 - s2;//r1圆剩余部分面积,不含相交部分面积 } 下面考虑两球相交...相交部分如下: ? 但实际上,如果将其投影至平面,还是刚才的样子 ? 从上可以知道,相交部分体积是两个球缺的和。...,相交线为圆半径为r3r3r_3 截面到球心的距离分别为l1l2l1l2l_1 l_2 l1+l2=Ll1+l2=Ll_1+l_2=L LLL直线过相交圆心并垂直相交圆直径 r21=r23

    1K51

    平面中判断线段与矩形是否相交

    分成两步来判断: 判断线段的两个端点是否在矩形内,如果两个端点至少有一个在矩形内,说明线段与矩形相交。 如果两个端点都不在矩形内,那么需要再判断线段是否与矩形的对角线是否相交。...因为两个端点都不在矩形内的线段有可能会切割矩形的角,这时会与矩形的对角线相交。 那么关键就在于两个子算法:判断点在矩形内和判断线段相交。...判断点在矩形内非常简单,就是比较点是否在矩形的四至范围就可以了;而判断线段相交可以参考《空间或平面判断两线段相交(求交点)》这篇文章。 2....line1.startPoint + line1.direction * t1; //这样计算得到的Z值是不准确的 return true; } //线段与矩形相交...参考 如何判断一条线段和一个矩形或者圆相交? - 叶飞影的回答 - 知乎

    3.4K20

    相交链表(LeetCode 160)

    如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须保持其原始结构。...示例 1: 相交返回结点 8。 示例 2: 相交返回结点 2。 示例 3: 不相交返回 null。...则通过判断栈顶的节点是否相等即可判断两个单链表是否相交。因为我们知道,若两个链表相交,则从第一个相交节点开始,后面的节点都相交。...为什么第一次遍历完后互换从头遍历后,如果相交会同时到达相交结点呢? 假设下面是一个相交的两个链表,省去了结点。...相交链表 - LeetCode 判断两个单链表是否相交及找到第一个交点原创 -CSDN

    37210

    不相交集类

    postid=5748920 一、基本概念 不相交集类维持着多个彼此之间没有交集的子集的集合,可以用于 判断两个元素是否属于同一个集合,或者合并两个不相交的子集。...路径压缩与按大小求并是完全兼容的,这就使得两个例程可以同时实现。时间复杂度如何? 而按高度求并不完全与路径压缩兼容,因为路径压缩会改变树的高度,而计算新的高度并不容易。怎么办呢?...4结果一致       与图 8结果一致     与图 9结果一致     与图 11结果一致            与图 12结果一致                                                        ...我看到《算法导论》和《数据结构与算法分析C++描述》中关于它的分析都很复杂,并且有些地方的结论也不太相同。所以,这里我也不敢乱言。 对了,不相交集类可以用来生成迷宫,确定无向图中连通子图的个数等。...五、利用不相交集生成迷宫

    1.8K50
    领券