这题wa到无语,实在找不出来是什么原因,我是把两个例子的图在坐标纸上画出来,发现很像是垂心,上网看,的确这样,可是找不到证明,我自己也尝试了下,没什么思路,如果有大牛会证,写个思路哈~
还有就是我这代码,是推公式的,根据垂心与一个顶点组成的向量与另外两点组成的向量内积为0推出来的,自己随机生成的数据都过了,可是不知道怎么回事,Discuss中说可能和编译器有关,我还是wa,嗨,还望高人指点啊~~
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
#define Type double
struct Point{
Type x, y;
};
void Orthocenter( Point p1, Point p2, Point p3, Point &p ){
Point v1, v2;
v1.x= p1.x- p2.x, v1.y= p1.y- p2.y;
v2.x= p2.x- p3.x, v2.y= p2.y- p3.y;
p.y= (v2.x*p1.x+v2.y*p1.y-(v1.x*p3.x+v1.y*p3.y)*v2.x/v1.x)/(v2.y-v2.x*v1.y/v1.x);
p.x= p3.x+v1.y*(p3.y-p.y)/v1.x;
}
int main(){
int n;
Point p1, p2, p3, p;
scanf("%d",&n);
while( n-- ){
scanf("%lf%lf%lf%lf%lf%lf",&p1.x,&p1.y,&p2.x,&p2.y,&p3.x,&p3.y);
Orthocenter(p1,p2,p3,p);
printf("%.4lf %.4lf\n",p.x,p.y);
}
return 0;
}
PS.顺手copy了点性质,可是wa到没心情再去证明了……
1:垂心
三角形三边上的高的交点称为三角形的垂心。三角形垂心有下列有趣的性质:设△ABC的三条高为AD、BE、CF,其中D、E、F为垂足,垂心为H。
性质1 垂心H关于三边的对称点,均在△ABC的外接圆上。
性质2 △ABC中,有六组四点共圆,有三组(每组四个)相似的直角三角形,且AH·HD=BH·HE=CH·HF。
性质3 H、A、B、C四点中任一点是其余三点为顶点的三角形的垂心(并称这样的四点为一垂心组)。
性质4 △ABC,△ABH,△BCH,△ACH的外接圆是等圆。
性质5 在非直角三角形中,过H的直线交AB、AC所在直线分别于P、Q,则 AB/AP·tanB+ AC/AQ·tanC=tanA+tanB+tanC。
性质6 三角形任一顶点到垂心的距离,等于外心到对边的距离的2倍。
性质7 设O,H分别为△ABC的外心和垂心,则∠BAO=∠HAC,∠ABH=∠OBC,∠BCO=∠HCA。
性质8 锐角三角形的垂心到三顶点的距离之和等于其内切圆与外接圆半径之和的2倍。
性质9 锐角三角形的垂心是垂足三角形的内心;锐角三角形的内接三角形(顶点在原三角形的边上)中,以垂足三角形的周长最短。
2:内心
三角形的内切圆的圆心简称为三角形的内心,内心有下列优美的性质:
性质1 设I为△ABC的内心,则I为其内心的充要条件是:到△ABC三边的距离相等。
性质2 设I为△ABC的内心,则∠BIC=90°+12∠A,类似地还有两式;反之亦然。
性质3 设I为△ABC内一点,AI所在直线交△ABC的外接圆于D。I为△ABC内心的充要条件是ID=DB=DC。
性质4 设I为△ABC的内心,BC=a,AC=b,AB=c,I在BC、AC、AB上的射影分别为D、E、F;内切圆半径为r,令p= (1/2)(a+b+c),则(1)S△ABC=pr;(2)r=2S△ABC/a+b+c ;(3)AE=AF=p-a,BD=BF=p-b,CE=CD=p-c;(4)abcr=p·AI·BI·CI。
性质5 三角形一内角平分线与其外接圆的交点到另两顶点的距离与到内心的距离相等;反之,若I为△ABC的∠A平分线AD(D在△ABC的外接圆上)上的点,且DI=DB,则I为△ABC的内心。
性质6 设I为△ABC的内心,BC=a,AC=b,AB=c,∠A的平分线交BC于K,交△ABC的外接圆于D,则 AI/KI =AD/DI =DI/DK = (b+c)/a。
3:外心
三角形的外接圆的圆心简称三角形的外心.外心有如下一系列优美性质:
性质1 三角形的外心是三角形三条边垂直平分线的交点;三角形的外心到三顶点的距离相等,反之亦然。
性质2 设O为△ABC的外心,则∠BOC=2∠A,或∠BOC=360°-2∠A(还有两式)。
性质3 设三角形的三条边长,外接圆的半径、面积分别为a、b、c,R、S△,则R=abc/4S△。
性质4 过△ABC的外心O任作一直线与边AB、AC(或延长线)分别相交于P、Q两点,则AB/AP ·sin2B+ AC/AQ·sin2C=sin2A+sin2B+sin2C。
性质5 锐角三角形的外心到三边的距离之和等于其内切圆与外接圆半径之和。
4:重心
性质1 设G为△ABC的重心,△ABC内的点Q在边BC、CA、AB边上的射影分别为D、E、F,则当Q与G重合时QD·QE·QF最大;反之亦然。
性质2 设G为△ABC的重心,AG、BG、CG的延长线交△ABC的三边于D、E、F,则S△AGF=S△BGD=S△CGE;反之亦然。
性质3 设G为△ABC的重心,则S△ABG=S△BCG=S△ACG= (1/3)S△ABC;反之亦然。
posted on 2009-07-02 22:34
古月残辉 阅读(794)
评论(0) 编辑 收藏 引用 所属分类:
计算几何