poj 1408(計算幾何)

2021-07-16 00:23:05 字數 996 閱讀 5512



題目大意:

有乙個1*1的正方形,分別給出下,上,左,右邊每個邊上的n個點,對邊對應點連線,問這些線段相交的最大的四邊形面積是多少(面積最大的定義是必須當前面積內沒有更小的四邊形內含)。

解題思路:

1、我們可以用乙個矩陣來儲存所有的點,四邊上每個點是輸入的,內部的每個點通過線段交點的計算可以計算出來。

2、然後列舉任意i-1,i,j-1,j四個點計算四邊形的面積,求最大值。在計算四邊形面積的時候四邊形可以轉換成兩個三角形來計算,這兩個三角形的面積是通過向量的叉積來計算的。兩個向量的叉積可以算出以這兩個向量為鄰邊的四邊形的面積,注意除以2.

#include #include struct node

point[35][35];

double max(double a, double b)

double xmult(node a,node b,node c)

void init(int n)

node intersection(node a,node b ,node c, node d) //求兩條直線的交點

int main()

for(i=1; i<=n; i++)

for(i=1; i<=n; i++)

for(i=1; i<=n; i++)

for(j=1; j<=n; j++)

}for(i=1; i<=n+1; i++)

}printf("%.6f\n",maxarea);

}return 0;

}

兩直線交點 四邊形面積 poj1408

兩直線交點 四邊形面積 題意 1 1的正方形上每條邊上有n個點,每相互 平行的邊上,對應的第i個點相連,正方形會分割成多個 四邊形,求最大四邊形的面積 include include struct node point 35 35 double max double a,double b doubl...

poj1696 計算幾何

運用叉積判斷是否是逆時針,因為同一直線上也行,所以有n個植物就可以吃掉n個植物 include include include include include define dist a,b sqrt 1.0 a.x b.x a.x b.x 1.0 a.y b.y a.y b.y define cr...

poj1106 計算幾何

求在可以旋轉的給定圓心和半徑的半圓中最多點的個數 include include include include include define dist a,b sqrt 1.0 a.x b.x a.x b.x 1.0 a.y b.y a.y b.y define cross a,b,c 1.0 b...