精华内容
下载资源
问答
  • C# 已知三角形两点坐标和一个夹角,求第三坐标 输入两个点:point1(x=0,y-0)、point2(x=-50,y=20) 输入角度:a=24° 求第三点:point3坐标 x=?, y=? 感谢各位大佬帮小弟解答,没有资源分了...
  • 直接三角形 ABC三个点 A |- | - | - |------- B C [color=#FF0000]已知A和B的坐标 或者 A和C的坐标 如何列一点的位置呀? 也就是已知A和B如何C的坐标 谢谢了.[/color]
  • 已知两坐标和三边长度,三角形第三点的坐标 经验证,该方法在平面中通用。 基本思路或步骤如下: 计算边AB与Y轴正向的夹角,或者叫做向量AB的航向角; 计算出角CAB的角度; 计算边AC与Y轴正向的夹角,或者是...

    已知两点坐标和三边长度,求三角形第三点的坐标

    经验证,该方法在平面中通用。

    基本思路或步骤如下:

    1. 计算边AB与Y轴正向的夹角,或者叫做向量AB的航向角;
    2. 计算出角CAB的角度;
    3. 计算边AC与Y轴正向的夹角,或者是向量AC的航向角;
    4. 根据三角形的一些算法,得到对应的C点坐标
      引用自https://wenku.baidu.com/view/46038b2342323968011ca300a6c30c225801f056.html
      图片: 在这里插入图片描述https://wenku.baidu.com/view/46038b2342323968011ca300a6c30c225801f056.html

    以下为代码

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    //根据两点坐标和边长长度,计算第三点坐标,第三点有两个
    bool AutoExtraLine::Cal3rdPoint(vector<CCVector3d> vecSrcPoints, double ab, double bc, double ca, vector<CCVector3d>& vec3rdPoints)
    {
        if (vecSrcPoints.size()<2)
        {
            return false;
        }
        CCVector3d pointA = vecSrcPoints[0];
        CCVector3d pointB = vecSrcPoints[1];
        CCVector3d pointC;
         
        
        double dy = pointB.y - pointA.y;
        double dx = pointB.x - pointA.x;
        double tmpValue = (ca*ca + ab * ab - bc * bc) / (2 * ca*ab);
        //AB的方位角
        
        double angAB = CalVectorAngleWithY(pointA, pointB);
        if (angAB>180)
        {
           // angAB = angAB - 180;
        }
        angAB = angAB * (PI / 180);
       // angAB = atan(dy / dx);
        //A点对应BC边的角度
        double angBC = acos(tmpValue);
        //AC的方位角
        double angAC = angAB-angBC;
        pointC.x = pointA.x + ca * sin(angAC);
        pointC.y = pointA.y + ca * cos(angAC);
        vec3rdPoints.push_back(pointC);
    
        angAC = angAB + angBC;
        pointC.x = pointA.x + ca * sin(angAC);
        pointC.y = pointA.y + ca * cos(angAC);
        vec3rdPoints.push_back(pointC);
        return true;
    }
    /计算向量ABY轴正方向夹角,角度范围0~360
    double AutoExtraLine::CalVectorAngleWithY(CCVector3d pointA, CCVector3d pointB)
    {
        //线段(startPt,firstPt)平行于y轴向上
        CCVector3d firstPt(pointA.x, pointA.y + 10, pointA.z);
        double angle = PointAlg::calcAngleByThreePoint(firstPt, pointA, pointB);
        angle = angle * 180 / PI;
        if (pointA.x > pointB.x)
        {
            angle = 360 - angle;
        }
        return angle;
    }
    
    展开全文
  • 例如:已知点P1(x1,y1),点P2(x2,y2)和角度A1,A2,A3,如何求第三点P3(x3,y3)的坐标
  • 前几天做一功能,实现N多圆球的碰撞时,写的该算法.代码比较容易,使用了三角形的余弦定理.算法是二维的,改成三维也容易.... 1 // 已知三角形的坐标,和三边长,求第三点的坐标. 2 bool CalculateTriangle...

    前几天做一个功能,实现N多圆球的碰撞时,写的该算法.代码比较容易,使用了三角形的余弦定理.算法是二维的,改成三维也容易.其实三维的我也实现过,用于骨骼动画的IK处理上.

     1 // 已知三角形的两点坐标,和三个边长,求第三点的坐标.
     2 bool CalculateTriangleThirdPoint(const Vector2& vA, const Vector2& vB, Vector2& vC, float a, float b, float c)
     3 {
     4     float cosA = (b*b + c*c - a*a) / (2*b*c);
     5     if (cosA > 1.0f || cosA < -1.0f)
     6     {
     7         return false;
     8     }
     9     float angleA = acosf(cosA);
    10     float sinA = sinf(angleA);
    11 
    12     // 判断C在直线AB的左边还是右边
    13     if ((vA.x-vC.x)*(vB.y-vC.y) - (vB.x-vC.x)*(vA.y-vC.y) > 0.0f)
    14     {
    15         sinA = -sinA;
    16     }
    17 
    18     Vector2 vAB = vB - vA;
    19 
    20     // 对向量AB旋转A的角度,即得到AC的向量
    21     Vector2 vAC;
    22     vAC.x =  cosA*vAB.x + sinA*vAB.y;
    23     vAC.y = -sinA*vAB.x + cosA*vAB.y;
    24     D3DXVec2Normalize(&vAC, &vAC);
    25 
    26     vC = vA + vAC*b;
    27 
    28     /*
    29     // 验证用
    30     Vector2 vBC = vC - vB;
    31     float disBC = sqrtf(vBC.x*vBC.x + vBC.y*vBC.y);
    32     */
    33 
    34     return true;
    35 }

     

    转载于:https://my.oschina.net/abcijkxyz/blog/722680

    展开全文
  • 三角形,已知三边长和两个点的坐标求第三个点的坐标
  • 已知两点 A(x,y),B(x,y) 坐标,与C点到A点的距离 计算C点的坐标 函数: /** @author Mr.HU @date 2021/5/21 17:58 @param aX a点x坐标 @param aY a点y坐标 @param bX b点x坐标 @param bY a点y坐标 @param distance...

    问题:平面坐标系
    已知两点 A(x,y),B(x,y) 坐标,与C点到A点的距离 计算C点的坐标
    如果坐标系是经纬度 请看我另一篇文章 https://blog.csdn.net/weixin_42286976/article/details/107365104
    函数:
    /**

      *
         * @author Mr.HU
         * @date 2021/5/21 17:58
         * @param aX a点x坐标
         * @param aY a点y坐标
         * @param bX b点x坐标
         * @param bY a点y坐标
         * @param distance  c点距离
         * @return double[] c点坐标
         */
         public static  Map<String, Double>  formula(double aX, double aY, double bX,
                                    double bY,double distance){
                double lon= aX- bX;
                double lat= aY-bY;
                double sqrt = Math.sqrt(Math.abs((lon * lon) + (lat * lat)));
                double Cx= aX-lon*(distance/sqrt );
                double  Cy =aY-lat*(distance/sqrt );
                HashMap<String, Double> stringDoubleHashMap = new HashMap<>();
                stringDoubleHashMap.put("lon",Cx);
                stringDoubleHashMap.put("lat",Cy);
                return   stringDoubleHashMap ;
        }
    
    
    展开全文
  • 已知两坐标求等边三角形另一点

    千次阅读 2015-02-06 14:59:37
    #include #include struct point {  double x;  double y; }s[10]; int main() {  int n,i,t,j;  double m,x0,y0;  scanf("%d",&t);  while(t--)  {  for(i=0;i  
    #include<stdio.h>
    
    #include<math.h>
    struct point
    {
        double x;
        double y;
    }s[10];
    int main()
    {
        int n,i,t,j;
        double m,x0,y0;
        scanf("%d",&t);
        while(t--)
        {
            for(i=0;i<2;i++)
                scanf("%lf%lf",&s[i].x,&s[i].y);
            x0=s[0].x-s[1].x;y0=s[0].y-s[1].y;
            m=sqrt(3.0)/2.0;
            printf("(%.2f,%.2f)\n",x0*0.5+y0*m+s[1].x,-x0*m+y0*0.5+s[1].y);// 此处用到了向量旋转的公式
        }
        return 0;
    }
     
    
    点击打开链接
    展开全文
  • 本文不是针对几何公式推导,而是针对在编写程序过程中遇到的实际问题,所以打算只求出符合要求的等边三角形中的一即可。在阅读生成平均脸的过程中,需要出以只眼为点的等边三角形的另外一点的坐标
  • 该代码是已知三点坐标计算出圆心坐标的VB算法代码小程序,并可出各点到圆心的距离,
  • 已知三点坐标可以边长。然后根据下面的推导过程可以得出海伦公式: 根据出的面积S和BC边的边长可以出高AD。 2、直接根据坐标推导出面积(积分原理,适用于平面直角坐标系) 已知A(x1,y1),B(x2,y2),C...
  • 已知条件: A、B点的坐标,BC边的坐标方位角(或者是BA边到BC边的夹角角度),BC边的长度。 : C点的坐标。 功能要求: 输入A、B的坐标,角度,长度 输出C点坐标。 [img=...
  • //判断第一点 与 第四点所连直线 与 第2点和第3个点 所连直线的交点 是否在 第2第3个点的线段上 function getCrossPoint(point1, point2, point3, point4) { var pD_x = point1.split(',')[0]; var ...
  • 回首这篇年前写的博客,算是自己觉得比较有意思的一篇了,那时候刚拿毕业证也就一年左右吧,在一家小公司写代码,然后一同事也是前辈向我讨教这问题,问我有没有招编程解决这问题。抱着试试看的态度立马就研究...
  • 事实上平面中只要确定两个点的坐标,只要这两个点的坐标不重合就能够绘制出等边三角形,并且不仅仅能够绘制出一个而是两个等边三角形。绘制出来的两个等边三角形就好比如菱形一样。 那么就开始动手计算吧。 计算第三...
  • 在工程施工过程中我们常常需要进行复杂... 一个已知坐标,方位角,距离是我们要计算未知点坐标的前提条件,一般情况下,工程图纸上会给出许多的已知坐标,这时我们需要用坐标反算,计算出坐标方位角,在图纸上查...
  • 地图已知两坐标画一条曲线

    千次阅读 2019-08-10 10:25:05
    开发中遇到了这个问题,Leaflet没有用两点画曲线的方法,只能...{// 入参两个坐标(字符串格式:"114.30911,30.600052"),num是返回坐标点个数 //一步把坐标字符串转为对象,为了方便计算转为了数字格式 var p_s...
  • 如图1 所示,A、B、C、D 为已知控制点,中间各点为导线点,全站仪导线测量方法如下:首先将全站仪安置于已知点B上,利用全站仪的坐标测量功能和微电脑记忆功能,输入已知点A、B的坐标、方位以及仪器和觇标...
  • 已知某一点坐标,旋转角度,长度,另一点坐标 */ export const calculateCoordinatePoint = (originPoint, degree, len) => { let rotate = (degree - 90 + 360) % 360; //这里是因为一开始以y轴下方为0度的...
  • 向量的旋转 实际做题中我们可能会遇到很多有关及...已知A点坐标(x1,y1),B点坐标(x2,y2),我们需要求得A点绕着B点旋转θ度后的位置。 A点绕B点旋转θ角度后得到的点,问题是我们要如何才能得到A'点的坐标。(向...
  • 如图:A(aX, aY),B(bX, bY),BC=L,C点坐标(x, y) 思路: (1) 1-1 kAB * kCB = -1 // 互相垂直直线斜率的乘积 = -1 1-2 [(aY - bY) / (aX - bX)] * [(y - bY) / (x - bX)] = -1 1-3 (aY - bY) * (y – bY) ...
  • 任何编程语言都可以。 一次接触四元数,完全没有思路…… ![图片说明](https://img-ask.csdn.net/upload/201905/09/1557352119_183205.jpg)
  • 在一个二维平面上给定两个圆的横纵坐标、半径共6个参数,如果两圆不相交,那么输出“NO INTERSECTION”,如果两圆重合,则输出“THE CIRCLES ARE THE SAME”,否则输出交点,相切的话输出1个交点坐标,相交则输出...
  • 计算方法:①先用向量法找到互相垂直的两条边(互相垂直的两个向量点积为0) #include<iostream> using namespace std; const int N = 2010; typedef pair<int,int> PII;
  • 最近在工作中碰到了这问题:已知在平面坐标系内有N点,离开给定坐标距离最近的10点。 团队的一反应自然是按照点间距离公式, 遍历N个已知点,然后排序获得前10最短距离的结果。 只是,我从来不是一...
  •  编程语言:JavaScript 分析: 给定圆弧半径,经过平面上两点的圆弧圆心落在两点的中垂线上, 一般有两个.算法: 1) 计算两点之间的中点坐标.2)计算连接两点的方向向量.3)将两点方向向量顺时针旋转90度,得到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,927
精华内容 16,370
关键字:

已知两个坐标求第三个坐标数