python求交点坐标_Python - 两圆相交求交点坐标
Python - 两圆相交求交点坐标
Max.Bai
2016-05-16
Python - 两圆相交求交点坐标
三轴机械臂求坐标问题,其实转化为平面问题就是两圆相交求交点问题,交点算出来就可以用反三角函数算出各个机械臂的夹角。
已知圆1, 半径R, 坐标(x, y)
圆2, 半径S, 坐标(a, b)
求两圆交点x3, y3 x4, y4。
算法一脚本:
# -*- coding: utf-8 -*-
import math
def sq(x):
return float(x * x)
# target point on table
tx = float(10)
ty = float(10)
# hight of table
h0 = float(5)
# length of arm
R = float(10)
S = float(8)
# arm point
x = float(0)
y = float(5)
# target point for arm
a = float(math.sqrt(sq(tx)+ sq(ty)))
b = h0
print "arm target:", a, b
d = math.sqrt(sq(math.fabs(a-x)) + sq(math.fabs(b-y)))
print "desitens:", d
if d > (R+S) or d < (math.fabs(R-S)):
print "This point can't be rached!"
#return -1
exit
if d == 0 and R==S :
print "Can't rach arm point!"
#return -2
exit
A = (sq(R) - sq(S) + sq(d)) / (2 * d)
h = math.sqrt(sq(R) - sq(A))
x2 = x + A * (a-x)/d
y2 = y + A * (b-y)/d
#print x2, y2
x3 = x2 - h * ( b - y ) / d
y3 = y2 + h * ( a - x ) / d
x4 = x2 + h * (b - y) / d
y4 = y2 - h * (a - x) / d
print "arm middle point:"
print x3, y3
print x4, y4
已知圆1, 半径L1, 坐标(0, L3)
圆2, 半径L2, 坐标(x, y)
求圆1交点与圆心连线和Y轴的夹角a1,
圆2交点与圆心连线和X轴的夹角a2。
算法二:
# -*- coding: utf-8 -*-
import math
L1 = float(10)
L2 = float(10)
L3 = float(5)
x = float(14.1421356237)
y = float(5)
def sq(x):
return x * x
A = float(-2 * x * L1)
B = float(2*(y-L3)*L1)
C = float(sq(L2) - sq(L1) - sq(x) -sq(y-L3))
a1 = float(2*math.atan((B-math.sqrt(sq(B)+sq(A)-sq(C)))/(A+C)))
A = float(2 * (y - L3) * L2)
B = float(2 * x * L2)
C = float(sq(L2) + sq(x) + sq(L3-y) -sq(L1))
a2 = float(2* math.atan((B-math.sqrt(sq(B)+sq(A)-sq(C)))/(A+C)))
print a1, a2
print a1*180/math.pi, a2*180/math.pi
python求交点坐标_Python - 两圆相交求交点坐标相关推荐
- 两圆相交求面积 hdu5120
转载 两圆相交分如下集中情况:相离.相切.相交.包含. 设两圆圆心分别是O1和O2,半径分别是r1和r2,设d为两圆心距离.又因为两圆有大有小,我们设较小的圆是O1. 相离相切的面积为零,代码如下: ...
- 求解两圆相交的交点坐标
今天遇到了一个问题,要求两个相交圆的交点坐标,用了三种不同方法求解,其中纯代数方法求解比较麻烦,这里没有贴出来.暂时只推导了公式,明天再写程序,程序写好后会更新到博客,如果大家有其它的方法,欢迎一起探 ...
- 求两圆相交的交点的方法
最近研究三角定位算法,研究了下怎样求两圆的交点,现给出求解方法:
- 求任意两圆相交的面积(不限程序设计语言版本)
无所谓程序设计语言,不过是表达形式不一罢了 题目来源 理论知识 参考知识: 代码实现 C# 鼠标悬停此处预览测试样例 Java 鼠标悬停于此预览测试样例 Kotlin C++ C Python Jav ...
- 求两圆相交面积(模板)
两圆相交分如下集中情况:相离.相切.相交.包含. 设两圆圆心分别是O1和O2,半径分别是r1和r2,设d为两圆心距离.又因为两圆有大有小,我们设较小的圆是O1. 相离相切的面积为零,代码如下: dou ...
- Square Card 计算几何-两圆相交面积
题意 : 给两个圆,分别代表得分区域和奖励区域,边长为a的正方形以均等概率扔到平面后绕中心旋转,保证一定会有某时刻正方形完全在得分区域内. 如果某时刻正方形完全落在区域内,获得相应分数,求正方形 既获 ...
- MATLAB求图片两圆圆心,求助:如何求此图中两圆的圆心距?
对于你给出的图片,我根据之前提到的思路编写了以下程序.感觉还蛮准的.这个程序只能用于两圆相交的情况.当小圆在大圆内部时,需要在其中加以判定.仅供参考. clear;clc c = imread('1. ...
- 简单多边形与圆相交求面积
简单多边形与圆相交求面积 简单多边形的有向面积 简单多边形与圆相交的有向面积 圆心三角形与圆相交求面积 简单多边形与圆相交的有向面积 简单多边形的有向面积 所谓简单多边形,就是指不相邻的边不相交,且每 ...
- python交并补_python两个列表求交、并、差
在python中,如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢? 当然最容易想到的是对两个数组做循环,即写两个for循环来实现.这种写法大部分同学应该都会,而且也没有太多的技术含量,下 ...
最新文章
- 64位Ubuntu上编译32位程序
- 在Office 2007 Word文档中插入两种页码方法
- 【Linux】一步一步学Linux——ssh-copy-id命令(180)
- ffmpeg 命令画中画效果
- java学习(97):中断线程的另一种处理
- 【常见问题】hive、Hadoop(HA)、sqoop出现的问题的总结---各种问题以及解决方案-
- java 音频 api_Java中的接口
- LeetCode962. 最大宽度坡
- [深度学习] ImageAI库使用笔记
- java Web中实现QQ邮箱验证以及验证码注册用户
- 响应式美容美发形象设计艺术教育学校网站织梦模板源码
- JavaTutorials之Operators
- linux系统下find删除目录下除一文件外的所有文件
- 基于python的网络聊天室论文_Python基于Socket实现简单聊天室
- win10应用商店里的应用提取
- 山东理工acm 3926 bLue的二叉树
- stm32复位引脚NRST
- 视频下载工具—you-get
- AV-TEST给出Android平台最佳防毒软件排名
- 征战星辰大海,从这里开始