求三角形垂心重心

求三角形垂心重心求垂心 三条垂直平分线的交点 重心 三条中线的交点 交点坐标为三个点坐标之和 3 include include include include includeusing structpoint doublex y p0 p1 p2 ret intTest pointorthoce poin

/*求垂心(三条垂直平分线的交点) 重心:三条中线的交点(交点坐标为三个点坐标之和/3) */ #include 
  
    #include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; struct point{ double x,y; } p0,p1,p2,ret; int Test; point orthocenter(point p0,point p1,point p2) { double a1,b1,a2,b2,c1,c2; a1 = p2.x-p1.x; b1=p2.y-p1.y; c1 = 0; a2 = p2.x-p0.x; b2=p2.y-p0.y; c2 = (p1.x-p0.x)*a2+(p1.y-p0.y)*b2; double d = a1 * b2 - a2 * b1; ret.x = p0.x + (c1 * b2 - c2 * b1) / d; ret.y = p0.y + (a1 * c2 - a2 * c1) / d; return ret; } //求外心 void miniCircle(point *p, point& center, double& radius) { double Xmove=p[0].x; double Ymove=p[0].y; p[1].x=p[1].x-p[0].x; p[1].y=p[1].y-p[0].y; p[2].x=p[2].x-p[0].x; p[2].y=p[2].y-p[0].y; p[0].x=0; p[0].y=0; int index; double x1=p[1].x,y1=p[1].y,x2=p[2].x,y2=p[2].y; double m=2.0*(x1*y2-y1*x2); center.x=(x1*x1*y2-x2*x2*y1+y1*y2*(y1-y2))/m; center.y=(x1*x2*(x2-x1)-y1*y1*x2+x1*y2*y2)/m; //radius=distance(center,p[0]); center.x+=Xmove; center.y+=Ymove; } int main() { cin >> Test; for (int ii = 1;ii<=Test;++ii){ cin>>p0.x>>p0.y>>p1.x>>p1.y>>p2.x>>p2.y; ret = orthocenter(p0,p1,p2); printf("%.4lf %.4lf\n",ret.x+1e-8,ret.y+1e-8); } system("pause"); return 0; } 
       
      
     
    
  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209686.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:39
下一篇 2026年3月19日 上午8:39


相关推荐

  • Dify平台2025实践总结[项目代码]

    Dify平台2025实践总结[项目代码]

    2026年3月14日
    2
  • win7计算机打印机共享怎么设置密码,Win7打印机共享设置密码的方法

    win7计算机打印机共享怎么设置密码,Win7打印机共享设置密码的方法我们在使用打印机的时候 需要开启打印机共享功能 才可以供大家使用 如有设置密码的要取消密码 这样对方才可以使用这台打印机 最近 有 Win7 系统的用户 在使用打印机连接的时候 出现需要密码才可以使用 明明没有设置密码 怎么会要输入密码呢 怎么办 那要如何解决这样的问题呢 下面小编就和大家分享一下 Win7 打印机共享设置密码的方法 方法 步骤 1 开始运行 在里面输入 gpedit msc 然后

    2026年3月26日
    2
  • gis如何无缝拼接两张图_arcgis多幅影像图拼接

    gis如何无缝拼接两张图_arcgis多幅影像图拼接APAP.cpp#include”stdafx.h”#include<iostream>#include<cmath>#include”opencv2/features2d/features2d.hpp”#include”opencv2/highgui/highgui.hpp”#include”opencv2/opencv_modules.hpp”#include”opencv2/calib3d/calib3d.hpp”#include..

    2026年2月16日
    3
  • bigDecimal除法取整数「建议收藏」

    bigDecimal除法取整数「建议收藏」bigDecimal加减乘法都没问题,除法由于会有除不尽小数的情况,如果不限制小数位数的话会进入死循环报错:java.lang.ArithmeticException:Non-terminatingdecimalexpansion;noexactrepresentabledecimalresult。所以要设定小数位数:BigDecimala=BigDecimal.valueO…

    2022年6月26日
    108
  • 【Custom Mutator Fuzz】简单Protobuf使用练习

    【Custom Mutator Fuzz】简单Protobuf使用练习前面两篇文章中已经讲解了protobuf的结构以及生成代码的分析,这篇文章简单的介绍一下protobuf的使用。这里主要跟着libprotobuf-mutator_fuzzing_learning项目进行结构感知模糊测试练习

    2025年8月31日
    7
  • matlab循环读取txt文件「建议收藏」

    matlab循环读取txt文件「建议收藏」一般情况下,假如我要读取一个名为a.txt的文件,只需要利用下面的语句:a=load(‘a.txt’);现在假如我需要循环读取saif_1.txt,saif_2.txt,,,一直到saif_10.txt,他们都是10*1的矩阵,对他们进行转置操作后,再合并到一个文件中,可以利用下面的语句:forN=1:10a=load([‘saif_’,num2str(N),’.txt’]);……

    2022年10月7日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号