C語言怎麼判斷座標座標是否構成矩形

2022-04-07 18:36:05 字數 2653 閱讀 4346

1樓:

找到4個向量,兩兩互相垂直,用向量點積判斷。

也可以用兩組互相平行,向量成比例,加上一組互相垂直。

2樓:匿名使用者

設四個點d1(x1, y1), d2(x2, y2), d3(x3, y3), d4(x4, y4)

然後利用勾股定理:

if((x1-x4)^2+(y1-y4)^2+(x2-x1)^2+(y2-y1)^2 ==

(x3-x2)^2+(y3-y2)^2+(x3-x4)^2+(y3-y4)^2)

printf("是矩形\n");

3樓:de番茄炒西紅柿

判斷四個點是否重重,計算中點的位置,然後判斷中點到四個點的距離是否相等

4樓:康

你好,步驟如下:

計算4個點的重心,然後依次對4個座標排序,排序方式最簡單的就是按每個點與重心的向量角進行點排序。

排序好後依次計算每相鄰三個點構成的兩條直線是否垂直,也是求向量夾角。

4個夾角都在90±5°內就是矩形了,精度你可以自己把握。

5樓:榖樑躍

**:#include

typedef struct point;

int is_rectangle(point a,point b,point c,point d)elseelse if(ac_x == 0)else if((ac_y/ac_x)*(ab_y/ab_x) != -1)else{

printf("無法構成矩形\n");

return 0;

執行結果:

6樓:匿名使用者

當我們面對問題的時候首先不能頭大,回顧初中所學的知識,如何判斷一個四邊形是否是正方形:

正方形判定定理 :

1:有一個角是直角的菱形是正方形 2:一組鄰邊相等的矩形是正方形 3:對角線互相垂直的矩形是正方形

4:四邊相等,有一個角是直角的四邊形是正方形(先證菱形)

5:一組鄰邊相等且有一個角是直角的平行四邊形是正方形(先證菱形)

6:四邊均相等,對角線互相垂直平分且相等的平面四邊形(先證菱形)

以上紅色文字不用閱讀 :)

為了使本篇文章不成為數學證明題,以上證明過程略.

當你看完紅字後會感覺一頭霧水,這裡直接給出程式中判定較為簡單的方法:

鄰邊相等且對角線相等的四邊形是正方形.

我們將由四個座標點組成的線段進行排序;,預設最長的兩條線為對角線,剩下的為四邊形的四條邊;

因為這六條線是有序的,所以將前兩條線(相鄰邊)和後兩條線(對角線)進行比較;

滿足"鄰邊相等且對角線相等"就可以判定這四個點能否構成正方形了;

分析完問題,理清脈絡後就會發現問題並不難;接下來進行在程式設計上的抽象:

給定的是座標;所以用一個長度為2的一維陣列進行儲存;

int p1,int p2,int p3,int p4;

為了區分四個點;所以用一個二維陣列point [n ] [ m] 來儲存上面的一維陣列;

其中n表示是四個點中的哪一個點,m中下標為0表示相應點中的x座標;下標為1表示相應點中的y座標;

所以這個二維陣列長度應該為point [4 ] [ 2];

int p=,,,};

別忘了再建立一個陣列用來儲存線段的長度;

int len=new int[6];

接下來就是最重要的一步;進行各個線段長度的計算;

for(int i=0;i<=3;i++)

}然後將這個陣列排序;並且分別比較相鄰邊和對角線長度是否相等就行了,

注意避免座標重疊問題,應該保證對角線長度大於邊的長度.

最後附上源**

public class is_square ,,,};

int cnt=0;

int len=new int[6];

for(int i=0;i<=3;i++)

}//陣列排序 最長的是對角線

arrays.sort(len);

//相鄰兩邊相等,對角線相等的四邊形是正方形;

>len[1])

return false;}}

c++程式設計!已知矩形,判斷輸入的點是否包含在該矩形內。

7樓:清晨復日暮

給你個c語言~

你自己改改吧~

#include

int a[2]=;

int b[2]=;

int c[1000];

int i,j,x,y;

int judge(int h,int k)void main()

for(j=0;j

while(1);}

8樓:匿名使用者

#include

using namespace std;

int judge(int x,int y)else

}int main()

{int n;

cin>>n;

while(n--)

{int x,y;

cin>>x>>y;

if(judge(x,y)==1)

{cout<<"in"<

cad中怎麼對調xy座標?因為測量座標與cad座標是相反的

測量座標復系中有一p點,則其坐制標 y,x 為了更好理解用 a,b 表示,那麼cad數學座標系中同一p點,其座標仍然為 a,b 也就是 y,x 在數學座標系中表示為 x,y 測量座標中的y和數學座標中的y是不同兩個座標系的定義,也就是說此y非彼y,此x非彼x,y x,x y 所以說只是數值是反的。本...

如何用向量的座標來判斷兩個向量是否共線

設a 抄x1,y1 b x2,y2 如果襲x2 x1 baiy2 y1,也就是x1y2 x2y1,則共線。分四種情 du況 橫座標都為0的兩zhi個向量共線。縱坐dao標都為0的倆個向量共線。0向量 橫 縱座標都是0 與任何向量共線。橫座標之比等於縱座標之比的兩個向量共線 其中,比值為正則同向,比值...

c語言輸入三角形三邊abc判斷是否能構成三角形

include void main else printf n輸入錯誤!include int main include include int main void while a b 0 a c 0 b c 0 if fabs a b c else printf no return 0 inclu...