乙個很簡單的問題看了好久,但就是提交不過,也看不出是哪齣了問題
問題為:判斷乙個多邊形是否是凸多邊形
我的思路是這樣的:
建立x,y這兩個陣列用來存放座標,計算兩個向量,然後讓計算它們的叉積,如果叉積小於零,說明後乙個向量在前乙個向量的右側,即順時針方向,只要有乙個是這樣的情況,則不符合條件。然後就是叉積大於零,符合條件,計數加一。等於零共線,直接跳過。最後,要是計數大於3,就說明是凸邊形,因為三角形肯定是凸邊形。
我覺得思路沒啥問題呀,想不通
以下**:
#include#include using namespace std;
double eps = 1e-10;
int main()
double x[10000],y[10000];
for(int i=1;i<=n;i++)
if(n==1||n==2)
double x[10000],y[10000];
for(int i=1;i<=n;i++)
if(n==1||n==2)
} }
}
驗證多邊形是否為凸多邊形
驗證多邊形是否為凸多邊形 2108 shape of hdu include define debug 0 int crossmulti int x0,int y0,int x1,int y1,int x2,int y2 int main int n,i int f x,f y 第1個點 int s...
Matlab生成多邊形,並且判斷多邊形是否相交
隨機生成若干個點,就可以生成多邊形。嚴格來說,是要判斷產生的點是否共線的,但是這樣概率太低,所以我就沒有判斷。生成的點不能直接連起來,因為點的順序有可能是錯亂的,所以首先要進行順序判斷,方法是計算角度。找到平面內某一點,計算多邊形每乙個點到這個點連線和x軸的夾角,對這個夾角進行排序,就可以得到點的順...
劃分凸多邊形
時間限制 800ms 記憶體限制 65535k 提交次數 0 通過次數 0 題型 程式設計題 語言 g gcc vc 問題描述 乙個正凸n邊形,可以用n 3條互不相交的對角線將正n邊形分成n 2個三角形。現在要求讀入n邊形的n n 20 輸出不同劃分方法的總數 要求解的是劃分方法數,而不需要輸出各種...