青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

求多邊形的核。用半平面交算法。


/*************************************************************************
Author: WHU_GCC
Created Time: 2007-8-25 15:43:03
File Name: pku1279.cpp
Description: 
***********************************************************************
*/

#include 
<iostream>
#include 
<cmath>
using namespace std;
#define out(x) (cout << #x << ": " << x << endl)
const int maxint = 0x7FFFFFFF;
typedef 
long long int64;
const int64 maxint64 = 0x7FFFFFFFFFFFFFFFLL;
template 
<class T> void show(T a, int n) {for (int i = 0; i < n; ++i) cout << a[i] << ' '; cout << endl; }
template 
<class T> void show(T a, int r, int l) {for (int i = 0; i < r; ++i) show(a[i], l); cout << endl; }

#define EPS 1e-10
#define MaxN 3001

struct point
{
    
double x, y;
}
;

struct cp
{
    
int n;
    point p[MaxN];
}
;

point intersectL(
double a1, double b1, double c1, double a2, double b2, double c2)
{
    point ret;
    ret.y 
= (a1 * c2 - c1 * a2) / (b1 * a2 - a1 * b2);
    
if (fabs(a2) < EPS)
        ret.x 
= -(b1 * ret.y + c1) / a1;
    
else
        ret.x 
= -(b2 * ret.y + c2) / a2;
    
return ret;
}


bool isEqual(point inpA, point inpB)
{
    
return (fabs(inpA.x - inpB.x) < EPS && fabs(inpA.y - inpB.y) < EPS);
}


double Cross(point inpA, point inpB, point inpC)
{
    
return (inpB.x - inpA.x) * (inpC.y - inpA.y) - (inpC.x - inpA.x) * (inpB.y - inpA.y);
}


void Get_line(point inpA, point inpB, double &a1, double &b1, double &c1)
{
    a1 
= inpB.y - inpA.y;
    b1 
= inpA.x - inpB.x;
    c1 
= inpA.y * (inpB.x - inpA.x) - inpA.x * (inpB.y - inpA.y);
}


cp cut(point inpA, point inpB, cp incp)
{
    cp ret;
    point cross;
    
int i, j;
    
double t1, t2;
    
double a1, b1, c1, a2, b2, c2;
    
    ret.n 
= 0;
    
for (i = 0; i < incp.n; i++)
    
{
        j 
= i + 1;
        t1 
= Cross(inpA, inpB, incp.p[i]);
        t2 
= Cross(inpA, inpB, incp.p[j]);
        
if (t1 < EPS && t2 < EPS)
        
{
            ret.p[ret.n
++= incp.p[i];
            ret.p[ret.n
++= incp.p[j];
        }

        
else if (t1 > EPS && t2 > EPS)
            
continue;
        
else
        
{
            Get_line(inpA, inpB, a1, b1, c1);
            Get_line(incp.p[i], incp.p[j], a2, b2, c2);
            cross 
= intersectL(a1, b1, c1, a2, b2, c2);
            
            
if (t1 < EPS)
            
{
                ret.p[ret.n
++= incp.p[i];
                ret.p[ret.n
++= cross;
            }

            
else
            
{
                ret.p[ret.n
++= cross;
                ret.p[ret.n
++= incp.p[j];
            }

        }

    }

    
if (ret.n == 0return ret;
    
    
for (i = 1, j = 1; i < ret.n; i++)
        
if (!isEqual(ret.p[i - 1], ret.p[i]))
            ret.p[j
++= ret.p[i];

    ret.n 
= j;
    
if (ret.n != 1 && isEqual(ret.p[ret.n - 1], ret.p[0])) ret.n--;
    ret.p[ret.n] 
= ret.p[0];
    
return ret;
}


int main()
{
    
int ca;
    
int n;
    cp input, ret;
    
for (scanf("%d"&ca); ca--;)
    
{
        scanf(
"%d"&n);
        input.n 
= n;
        
for (int i = 0; i < n; i++)
            scanf(
"%lf%lf"&input.p[i].x, &input.p[i].y);
        input.p[input.n] 
= input.p[0];
        
        ret 
= input;
        
for (int i = 0; i < input.n; i++)
            ret 
= cut(input.p[i], input.p[i + 1], ret);
        
        
double area = 0.0;
        
for (int i = 0; i < ret.n; i++)
            area 
+= ret.p[i].x * ret.p[(i + 1% n].y - ret.p[(i + 1% n].x * ret.p[i].y;
        printf(
"%.2lf\n", abs(area / 2.0));
    }

    
return 0;
}
posted on 2007-08-25 15:56 Felicia 閱讀(674) 評論(4)  編輯 收藏 引用 所屬分類: 計算幾何
Comments
  • # re: [計算幾何]pku1279
    Hailer
    Posted @ 2007-09-06 00:11
    頂~~~~~~~  回復  更多評論   
  • # re: [計算幾何]pku1279
    ゞ望也打↘嗝
    Posted @ 2007-09-25 22:24
    感謝啊!  回復  更多評論   
  • # re: [計算幾何]pku1279
    Felicia
    Posted @ 2007-09-26 09:48
    @ゞ望也打↘嗝
    you are welcome  回復  更多評論   
  • # re: [計算幾何]pku1279
    Orz_WHU
    Posted @ 2010-04-16 23:46
    為什么看你的博客時,在屏幕左上角,總是出現谷歌的一個廣告,擋住一部分內容,怎么樣不讓那個廣告出來呀?  回復  更多評論   
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国内精品久久久久影院色| 亚洲女爱视频在线| 国产欧美日韩一区| 亚洲精品免费在线播放| 久久亚洲综合网| 亚洲综合三区| 欧美性色aⅴ视频一区日韩精品| 激情综合中文娱乐网| 小嫩嫩精品导航| 一本色道久久88综合日韩精品| 欧美ed2k| 99精品欧美一区二区三区 | 91久久国产自产拍夜夜嗨| 亚洲欧美日韩一区二区三区在线| 欧美精品日韩| 中文日韩欧美| 一本色道久久加勒比88综合| 欧美日韩成人| 亚洲综合好骚| 午夜在线a亚洲v天堂网2018| 国产欧美在线观看一区| 欧美在线播放高清精品| 亚洲女同性videos| 国产一区二区三区在线观看免费| 久久久国产精品一区二区中文| 欧美一区2区三区4区公司二百| 国产亚洲欧美中文| 另类亚洲自拍| 久久精品导航| 亚洲欧美日韩国产中文| 国产三级精品在线不卡| 久久久久久久91| 久久久噜噜噜久久中文字免| 亚洲国产精品一区二区三区| 亚洲国产精品久久久久秋霞不卡| 欧美精品一区二区高清在线观看| 一区二区三区久久网| 亚洲天天影视| 1000部国产精品成人观看| 亚洲欧洲日韩综合二区| 国产精品vip| 久久露脸国产精品| 欧美黄色小视频| 欧美一二三视频| 久久深夜福利免费观看| 99在线热播精品免费99热| 亚洲午夜免费视频| 在线观看av一区| 99国产麻豆精品| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲区在线播放| 国产香蕉久久精品综合网| 欧美freesex交免费视频| 欧美日韩亚洲一区二区| 久久久久九九视频| 欧美日韩不卡视频| 久久手机精品视频| 欧美日韩国产高清视频| 久久久国产视频91| 欧美日韩在线免费观看| 久久久久久久999精品视频| 欧美伦理在线观看| 麻豆精品传媒视频| 国产精品一区=区| 亚洲日韩第九十九页| 国产一区二区三区直播精品电影 | 国产精品videosex极品| 欧美成人亚洲| 国产婷婷色一区二区三区四区| 欧美影院成人| 中文精品99久久国产香蕉| 91久久精品日日躁夜夜躁国产| 欧美天天视频| 欧美肥婆bbw| 国产欧美一区二区精品仙草咪| 欧美国产高潮xxxx1819| 国产精品免费aⅴ片在线观看| 欧美成人日韩| 海角社区69精品视频| 亚洲午夜激情在线| 亚洲美女在线看| 久久综合久色欧美综合狠狠| 欧美一级片久久久久久久| 欧美日韩精品欧美日韩精品一| 欧美a级大片| 伊人男人综合视频网| 亚洲欧美综合| 先锋影音国产一区| 国产精品久久午夜夜伦鲁鲁| 99国产精品久久久久久久成人热| 最新中文字幕亚洲| 免费观看久久久4p| 久久影院亚洲| 影音先锋成人资源站| 欧美一区二区女人| 欧美亚洲视频在线观看| 欧美午夜电影在线| 一区二区三区视频观看| 亚洲图片自拍偷拍| 欧美视频在线观看免费网址| 日韩一本二本av| 这里只有精品电影| 欧美日韩精品一区二区在线播放| 亚洲精品护士| 亚洲一二三区精品| 国产精品美女久久久免费| 一区二区三区欧美日韩| 亚洲一区二三| 国产色婷婷国产综合在线理论片a| 亚洲欧美日韩综合| 久久精品国产成人| 一区二区三区无毛| 嫩草国产精品入口| 亚洲精品国精品久久99热| 亚洲综合二区| 欧美影院久久久| 亚洲午夜精品视频| 国产精品入口福利| 欧美一区亚洲一区| 欧美成人免费在线观看| 99精品视频一区| 国产精品久久福利| 欧美一区二区三区免费看| 欧美成人一区二免费视频软件| 亚洲乱码精品一二三四区日韩在线 | 亚洲午夜久久久久久久久电影院 | 亚洲激情一区二区三区| 欧美视频在线免费看| 亚洲先锋成人| 欧美成人免费一级人片100| 日韩一区二区精品葵司在线| 国产精品萝li| 美女任你摸久久| 亚洲午夜精品| 欧美成人有码| 午夜精品视频在线观看| 亚洲电影欧美电影有声小说| 欧美日韩国产精品专区| 久久国产精品久久久久久久久久 | 亚洲免费电影在线观看| 久久久久国产精品人| 亚洲精品色婷婷福利天堂| 国产精品视频午夜| 欧美国产第一页| 欧美大秀在线观看| 欧美激情视频一区二区三区免费 | 中文一区字幕| 国产视频一区在线观看一区免费| 久热re这里精品视频在线6| 亚洲午夜国产成人av电影男同| 欧美不卡三区| 久久精品国产精品亚洲| 在线一区二区三区四区| 亚洲第一精品在线| 国产欧美一区二区精品婷婷 | 韩日精品在线| 国产精品福利在线观看网址| 欧美成人免费小视频| 久久精品理论片| 亚洲女同性videos| 欧美日韩一区综合| 亚欧成人在线| 亚洲天堂久久| 亚洲精品乱码久久久久久久久| 久久久久久久综合日本| 亚洲一区免费视频| 99riav久久精品riav| 1024国产精品| 一区二区三区在线免费观看| 国产日韩av高清| 国产精品区一区二区三| 欧美日韩欧美一区二区| 欧美精品国产一区| 欧美v日韩v国产v| 老司机精品导航| 久久一区中文字幕| 久久手机精品视频| 久久香蕉国产线看观看av| 久久精品国产96久久久香蕉| 午夜伦欧美伦电影理论片| 亚洲在线一区二区三区| 亚洲小说区图片区| 亚洲一区二区三区色| 亚洲一区日韩| 亚洲欧美日韩一区二区三区在线| 亚洲欧美激情诱惑| 亚洲欧美日韩综合国产aⅴ| 午夜久久一区| 久久精品亚洲国产奇米99| 久久精品综合| 美女主播一区| 亚洲免费观看| 亚洲视频在线播放| 9i看片成人免费高清| 亚洲视频1区| 亚洲一级免费视频| 欧美在线播放视频| 久久这里有精品视频| 欧美黄网免费在线观看| 亚洲精品欧美激情|