如何计算两个圆的交点.我希望在所有情况下都有两个,一个或没有交叉点.
我有中心点的x和y坐标,以及每个圆的半径.
python中的答案是首选,但任何工作算法都是可以接受的.
我的目标是以恒定速度(在这种情况下为500)使第二个"轨道"第一个体.
根据SpriteKit中的Constant运动,我实现了以下内容:
override func didMoveToView(view: SKView) {
physicsWorld.gravity = CGVector(dx: 0, dy: 0)
let firstNode = SKShapeNode(circleOfRadius: 10)
addChild(firstNode)
firstNode.position = CGPointMake(CGRectGetWidth(frame) / 2.0, CGRectGetHeight(frame) / 2.0)
let firstPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
firstPhysicsBody.dynamic = false
firstNode.physicsBody = firstPhysicsBody
let secondNode = SKShapeNode(circleOfRadius: 10)
addChild(secondNode)
secondNode.position = CGPointMake(CGRectGetWidth(frame) / 2.0 + 40, CGRectGetHeight(frame) / 2.0 + 40)
let secondPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
secondPhysicsBody.friction = 0
secondPhysicsBody.linearDamping = 0
secondPhysicsBody.angularDamping = 0
secondPhysicsBody.affectedByGravity = false
secondNode.physicsBody = secondPhysicsBody
let joint …Run Code Online (Sandbox Code Playgroud) 我正在尝试沿着中心绘制一条穿过管子内部的路径。我必须使用的数据是在管道中每一圈的开始和结束处描述管道的圆的中心点。
绘制穿过管道直线段的路径是微不足道的,但我不确定如何接近弯头。两个圆之间的任何转弯都应具有恒定的半径。所以我可以访问这个圆上的两个点,以及该点圆线的方向。
有谁知道我将如何由此计算出圆圈的其余部分?
编辑:
附上一张逼真的管道草图。

所以假设曲线没有像地狱那样摇摆不定,蓝线表示圆圈,红色表示中心点,绿色表示通过中心的路径。