已知正方形对角线两点求另外两点

正方形,已知 (x0,y0) 和(x2,y2)  可以根据下列关系求(x1,y1),(x3,y3)

x1+x3 = x0+x2;

x1-x3  =  y2-y0;

y1+y3 =  y0+y2;

y1-y3 =  x0-x2;

node[0].p[1].x = ((node[0].p[0].x+node[0].p[2].x)+(node[0].p[2].y-node[0].p[0].y))/2;

node[0].p[1].y = ((node[0].p[0].y+node[0].p[2].y)+(node[0].p[0].x-node[0].p[2].x))/2;

node[0].p[3].x = ((node[0].p[0].x+node[0].p[2].x)-(node[0].p[2].y-node[0].p[0].y))/2;

node[0].p[3].y = ((node[0].p[0].y+node[0].p[2].y)-(node[0].p[0].x-node[0].p[2].x))/2;

同理已知矩形三点求另外一点

node[0].p[3].x = node[0].p[2].x + (node[0].p[0].x - node[0].p[1].x);
node[0].p[3].y = node[0].p[2].y + (node[0].p[0].y - node[0].p[1].y);

具体见POJ3449

时间: 2024-08-02 11:02:27

已知正方形对角线两点求另外两点的相关文章

poj 2002(好题 链式hash+已知正方形两点求另外两点)

Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 18493   Accepted: 7124 Description A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angles. It is also a polygon such that rotating abou

已知一个数组,求数组中心元素

/** * */package Student_System;import java.util.*;import java.util.*;/**Homework11 * *Homework1101 *已知一个数组,求数组中心元素 * @author 读你一世 * * QQ: 1816274408 *2017年4月11日上午10:25:03 * */public class Homework1101 { public static void main(String[] args){ Scanner

已知前序中序求后序-二叉树

writer:pprp 思路很容易理解,但是实现还是有一点难度,容易错 参考书目:<算法竞赛宝典> 代码如下: //已知前序中序,求后序 #include <iostream> using namespace std; //a是前序,b是中序 void hwg(string a,string b) { int ll,lr; for(unsigned int i = 0; i < b.length(); i++) { if(a[0] == b[i]) //找到根节点 { ll

Codeforce 459A - Pashmak and Garden (已知两点求另外两点构成正方形)

Pashmak has fallen in love with an attractive girl called Parmida since one year ago... Today, Pashmak set up a meeting with his partner in a romantic garden. Unfortunately, Pashmak has forgotten where the garden is. But he remembers that the garden

已知三角形三边长求面积

不知道有没有问题…… #include<stdio.h> #include<math.h> #include<conio.h> float areatri(float a,float b,float c); float main() { float a,b,c; float s; char d; loop: printf("输入三角形三边长,以空格隔开\n"); scanf("%f %f %f",&a,&b,&am

HLG2040二叉树遍历已知前中,求后

二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 users) Rating: Special Judge: No Description 给出一棵二叉树的中序和前序遍历,输出它的后序遍历. Input 本题有多组数据,输入处理到文件结束. 每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点. 接下来的一行每行包括n个整数,表示这棵树的中序遍

已知三点,求三角形面积

已经知道三角形三点A(X1,Y1) B(X2,Y2) C(X3,Y3) \[ \vec{AB} = (X2-X1,Y2-Y1) \] \[ \vec{AC} = (X3-X1,Y3-Y1) \] \[ ||n|| = \vec{AB} \times \vec{AC} = |\vec{AB}|\cdot|\vec{AB}|*Sin<\vec{AB},\vec{AC}> \] \[ 因为 |\vec{AB}|*Sin<\vec{AB},\vec{AC}> 为三角形的高 \] \[ 所以

已知三点求圆心与半径

已知三点求圆心与半径  [email protected] http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求圆心和圆半径的方法(当然三个点不能共线,共线的三个点不能构成圆). 原理:相互连接三个点,选取其中的任意两条直线,通过对这两条直线的中心做垂线,两条垂线的交点就是圆心,以此点为圆心,以此点到任意一点的距离为半径画圆. 三个点分别计为pt1, pt2, pt3:取直线p1p2和p1p3(也可以取其他直线

[无需建树]已知前序或后序和中序遍历结果,输出前序或后序或层次遍历的方法汇总

最近刷PAT老是碰到这种憨批题目,这种题目在算法面试中也是常客了,主要分为4类 已知前序 中序,求后序 已知前序 中序,求层次 已知后序 中序,求前序 已知前序 中序,求层次 而这四种题目如果要做出来的话,通通不需要建树,因为建树也是按照一定的递归顺序来的,就算是层次遍历,也可以在递归途中保存一些信息来获得. 我们先给出一颗二叉树 可以得到以下信息 前序:4,1,3,2,6,5,7 中序:1,2,3,4,5,6,7 后序:2,3,1,5,7,6,4 层次:4,1,6,3,5,7,2 前序&中序-