在圆内给出一点,如何画它的反演rough变换检测圆点

(1)(C)(2)过作⊥交⊙于点,连.过作⊥交射线于点.点即为所求. (3)连、.∵是⊙直径,∴∠=90°.∵∠是△的外角,∴∠-∠=∠. ∵点、关于⊙的反演点分别是,.∴∴△△∴∠∠同理:△△∴∠∠&由等式性质知:∠-∠=∠-∠∴∠=∠即∠=90°解析:此题主要考查的是相似三角形的判定与性质;点与圆的位置关系
请在这里输入关键词:
科目:初中数学
随着科学技术的发展,机器人早已能按照设计的指令完成各种动作.在坐标平面上,根据指令[S,α](S≥0,0°<α<180°)机器人能完成下列动作:先原地顺时针旋转角度α,再朝其对面方向沿直线行走距离s.(1)填空:如图,若机器人在直角坐标系的原点,且面对y轴的正方向,现要使其移动到点A(2,2),则给机器人发出的指令应是;(2)机器人在完成上述指令后,发现在P(6,0)处有一小球正向坐标原点做匀速直线运动,已知小球滚动的速度与机器人行走的速度相同,若忽略机器人原地旋转的时间,请你给机器人发一个指令,使它能截住小球.(参考数据:sin53°≈0.8,cos37°≈0.80,tan37°≈0.75,tan26.5°≈0.5)
科目:初中数学
下面是小马虎解的一道题:题目:在同一平面上,若∠AOB=70°,∠BOC=15°,OE是∠AOC的平分线,求∠AOE的度数.解:根据题意,可画出图(如图),因为∠AOC=∠AOB-∠BOC,所以∠AOC=70°-15°=55°又因为OE是∠AOC的平分线,所以∠AOE=∠AOC=27.5°若你是老师,会判小马虎满分吗?若会,说明理由.若不会,请将小马虎的错误指出,并给出你认为正确的解法.
科目:初中数学
由平面上的点组成图形A,如果连接A中任意两点的线段必定在A内,则称A为平面上的凸图形.给出如图所示的平面上的4个图形(阴影区域及其边界),其中为凸图形的是②③(写出所有凸图形的序号)
科目:初中数学
题型:填空题
由平面上的点组成图形A,如果连接A中任意两点的线段必定在A内,则称A为平面上的凸图形.给出如图所示的平面上的4个图形(阴影区域及其边界),其中为凸图形的是________(写出所有凸图形的序号)
科目:初中数学
来源:2011年浙江省宁波市初中数学复习评估练习(一)(解析版)
题型:填空题
由平面上的点组成图形A,如果连接A中任意两点的线段必定在A内,则称A为平面上的凸图形.给出如图所示的平面上的4个图形(阴影区域及其边界),其中为凸图形的是&&& (写出所有凸图形的序号)
精英家教网新版app上线啦!用app只需扫描书本条形码就能找到作业,家长给孩子检查作业更省心,同学们作业对答案更方便,扫描上方二维码立刻安装!这是个机器人猖狂的时代,请输一下验证码,证明咱是正常人~圆的几何 关于圆的反演变换_数学吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:374,579贴子:
圆的几何 关于圆的反演变换收藏
定理1.1中第5条“反演变换将每个与嘎码(一个希腊字母,打不出来)正交的圆映成它自身。”如何证明?
注意某半径是圆的切线,OA*OA'=OR²,只能A'在圆上
嗯,我懂了,非常感谢。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或5236人阅读
基础数学(75)
题意:给定两个圆,告诉半径和圆心,它们是相离的,在这两个圆外给定一个点p,求符合条件:过点p的圆且与已知的两个
圆外切的所有圆的总数和它们的圆心坐标和半径。
分析:根据题意,我们设已知两个圆的半径分别为和,它们的圆心分别为和,设点p的坐标为
并设要求的圆的圆心为,半径为,那么根据它们的关系我们可以很快就列出方程组:
然后,现在的问题就是来解,但是你会发现这个方程是很难解的,因此为了简化问题,我们利用反演变换来做。
那么,怎么用反演变换来做? 首先,得知道什么是反演变换以及它有什么性质。
反演的定义:
已知一圆C,圆心为O,半径为r,如果P与P’在过圆心O的直线上,且,则称P与P'关于O互为反演。
反演的性质:
(1)除反演中心外,平面上的每一个点都只有唯一的反演点,且这种关系是对称的,位于反演圆上的点,保持在原处,位于
反演圆外部的点,变为圆内部的点,位于反演圆内部的点,变为圆外部的点。 举个最简单的例子,区间以1为反演
半径,那么反演后的区间就是,这就是一维反演,而圆的反演是二维反演。
(2)任意一条不过反演中心的直线,它的反形是经过反演中心的圆,反之亦然,特别地,过反演中心相交的圆,变为不过反
演中心的相交直线。
定理:不过反演中心的圆,它的反形是一个圆,反演中心是这两个互为反形的圆的一个位似中心,任意一对反演点是逆对应
点。用图形来解释,如下图:
那么,对于一个不过反演中心的圆,怎样求它的反形圆?
很容易知道我们只需要求出反形圆的圆心和半径就可以了。
对于上图我们设圆C1的半径为,C2的半径为,反演半径为
那么根据反演的定义有:
那么,消去得到:
这样我们就得到了反形圆的半径,那么还要求反形圆的圆心。
由于C1和O两点的坐标已知,而且我们知道O,C1,C2位于同一直线上,那么很明显对于C2的坐标,我们可以这样计算:
设O的坐标为,C1的坐标为,C2的坐标为
至于由上面解处可以很容易得到,这样我们就完成了圆的反演变换。
由于本题的做法是这样的,先以点P为为反演中心,反演半径随便设置都可以,为了计算方便就设为1,把圆C1和圆C2反演后再求这两个圆的
公切线,再把这个公切线反演回去,那么就是一个过点P的圆,且与原来的C1和C2相切。
那么接下来就是如何计算两个圆的公切线了。这里只需要考虑公切线在同一侧的情况。那么,这个自己画图就能很容易计算了。
找到公切线后还要把它反演成圆,这个圆还经过P点,那么很容易得到了。
#include &iostream&
#include &string.h&
#include &stdio.h&
#include &math.h&
double const eps = 1e-8;
struct Point
double x,y;
Point(double a = 1.0,double b = 1.0):x(a),y(b){}
Point operator + (const Point &a)
return Point(x+a.x,y+a.y);
Point operator - (const Point &a)
return Point(x-a.x,y-a.y);
Point operator * (const double a)
return Point(a*x,a*y);
Point Trans()
return Point(-y,x);
void Input()
scanf(&%lf%lf&,&x,&y);
struct Circle
Circle(Point a = Point(),double b = 1.0):o(a),r(b) {}
Point getPoint(double alpha)
return o + Point(r*cos(alpha),r*sin(alpha));
void Input()
o.Input();
scanf(&%lf&,&r);
void Output()
printf(&%.8lf %.8lf %.8lf\n&,o.x,o.y,r);
Circle c[15];
double dist(Point A,Point B)
return sqrt((A.x-B.x)*(A.x-B.x) + (A.y-B.y)*(A.y-B.y));
double cross(Point A,Point B,Point C)
return (B.x-A.x)*(C.y-A.y) - (B.y-A.y)*(C.x-A.x);
int sign(double x)
return (x & eps) - (x & -eps);
Circle Inverse(Circle C)
double t = dist(C.o,p);
double x = 1.0 / (t - C.r);
double y = 1.0 / (t + C.r);
T.r = (x - y) / 2.0;
double s = (x + y) / 2.0;
T.o = p + (C.o - p) * (s / t);
void add(Point a,Point b,int &k)
double t = cross(a,p,b);
if(t & 0) t = -t;
double d = dist(a,b);
if(t & eps)
double w = 0.5 /
Point dir = (b-a).Trans();
Point a1 = p + dir * (w / d);
Point b1 = p - dir * (w / d);
if(fabs(cross(a,b,a1)) & fabs(cross(a,b,b1)))
c[k++] = Circle(a1,w);
c[k++] = Circle(b1,w);
int Work()
c[0] = Inverse(c[0]);
c[1] = Inverse(c[1]);
if(c[1].r & c[0].r) swap(c[1],c[0]);
Point v = c[1].o - c[0].o;
double alpha = atan2(v.y,v.x);
double d = dist(c[0].o,c[1].o);
double beta
= acos((c[0].r - c[1].r) / d);
int k = 2;
Point a = c[0].getPoint(alpha + beta);
Point b = c[1].getPoint(alpha + beta);
if(sign(cross(a,c[0].o,b)) == sign(cross(a,p,b)) &&
sign(cross(a,c[1].o,b)) == sign(cross(a,p,b)))
add(a,b,k);
a = c[0].getPoint(alpha - beta);
b = c[1].getPoint(alpha - beta);
if(sign(cross(a,c[0].o,b)) == sign(cross(a,p,b)) &&
sign(cross(a,c[1].o,b)) == sign(cross(a,p,b)))
add(a,b,k);
return k - 2;
int main()
scanf(&%d&,&T);
while(T--)
c[0].Input();
c[1].Input();
p.Input();
int num = Work();
printf(&%d\n&,num);
for(int i=0;i&i++)
c[i+2].Output();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1166096次
积分:16823
积分:16823
排名:第359名
原创:478篇
转载:42篇
评论:294条
(1)(4)(3)(4)(38)(4)(1)(2)(5)(1)(4)(2)(1)(7)(10)(8)(8)(12)(16)(31)(20)(28)(49)(28)(17)(42)(18)(29)(26)(15)(3)(8)(9)(8)(11)(3)(46)CAD如何画过一点和一圆相切的圆弧,其圆心在一直线上 - CAD之家
您的位置:>>>
CAD如何画过一点和一圆相切的圆弧,其圆心在一直线上
用CAD,A弧圆心在E(F的延长线),B弧圆心在F上
1 &分解正六边形。
2 &用b线做镜向轴镜向a线,得到c线
3 &三点画圆,第一点选A点,第二点选B点,第三点捕捉切点,并在小圆C附近点选
& & 圆画出来了,修剪,得到第一个所求圆弧
4 &三点画圆,第一点选A点,第二点选B点,第三点捕捉切点,并在小圆D附近点选
& & 圆画出来了,修剪,得到第二个所求圆弧

我要回帖

更多关于 rough变换检测圆 的文章

 

随机推荐