c语言编程: 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中。

如题所述

第1个回答  2011-05-18
你好!

有的是思路……

请参考:

http://www.cppblog.com/w2001/archive/2008/09/23/31694.html追问

可以帮着编一下吗?

第2个回答  2011-05-18
从该点往无穷远延伸,看看和几条边相交即可。
第3个回答  2011-05-18
判断点是否在多边形内的算法有不少啊,网上都有现成的代码,比如这篇

速求c语言编程 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一 ...
double px[MAX_POINT], py[MAX_POINT]; \/\/n个点的坐标int n;double x, y;\/\/输入n个点和,x,yvoid input(){ int i; printf("Input n: \\n"); scanf("%d", &n); printf("Input %d points's coordinate: \\n", n); for (i = 0; i < n; i++) scanf("%lf %lf", px + i, py ...

速求c语言编程 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一 ...
c = !c;} return c;} 参数说明:nvert: 多边形的顶点数 vertx, verty: 顶点X坐标和Y坐标分别组成的数组 testx, testy: 需要测试的点的X坐标和Y坐标

C语言 输入N个点坐标判断这N个点是否可以构成凸多边形的源程序
用转角法,记录转角是否等于2pi

C语言程序,输入N个点的坐标,判断能否构成凸多边形
输出两个数组c[0..m ,0..n]和b[1..m ,1..n]。其中c[i,j]存储Xi与Yj的最长公共子序列的长度,b[i,j]记录指示c[i,j]的值是由哪一个子问题的解达到的,这在构造最长公共子序列时要用到。最后,X和Y的最长公共子序列的长度记录于c[m,n]中。 程序如下: #include<stdio.h> #include<string.h>...

已知任意一个多边形的各个顶点的坐标,怎么去求该多边形的面积?(写...
要计算一个多边形的面积,我们可以利用向量叉乘的概念。对于一个多边形,我们可以选择其中一个顶点作为参考点,通常选择原点(0,0),然后将原点与多边形的其他顶点依次相连,形成多个三角形。每个三角形的面积可以通过计算两条边的向量叉乘的一半得到。多边形的总面积则是所有三角形面积的和。在C语言中,我们...

c语言 输入n个点的坐标 求能组成多少个三角形 用结构体解答。。_百度知...
int x;\/\/x坐标值 int y;\/\/y坐标值 }POINT, * pPoint;pPoint setPt(int n);\/\/要求用户输入三角形的坐标信息 void showCoorInfo(pPoint pt, int n);\/\/显示各个点的坐标信息 int getNumofTan(pPoint pt, int n);\/\/获取可以组成的多边形的个数 bool isLine(POINT pt1, POINT pt2, ...

C语言编程求多边形面积, (1)输入任意三点以上坐标,计算此多边形面
输入边数 n, 输入 多边形各顶点 x,y 坐标,逆时针顺序 (保证 叉乘积 为 正)。各顶点 x,y 坐标 减去 a[0][0]。以 a[0][0] 为主 计算各三角形面积并累加。include <stdio.h> include <stdlib.h> main( ){ int i,j,n;double s=0;double a[15][2];scanf("%d",&n);for(...

已知任意一个多边形的各个顶点的坐标,怎么去求该多边形的面积?(写...
用叉乘(或者叫向量积)设多边形的点按某顺序依次是(x1,y1),(x2,y2),...,(xn,yn)我们任选一个点和每条边相连,相邻的边做叉乘再除以2(构成三角形的有向面积),一般我们选原点(0,0)则面积S=(x1y2-x2y1)\/2+(x2y3-x3y2)\/2+...+(xny1-x1yn)\/2这里S是有向面积 还要取绝对...

根据坐标点怎么计算地块面积
假设有n个角点,坐标分别为(X1,Y1)……(Xn,Yn)那角点依次连线围成的面积就是S=((X2-X1)* (Y2+Y1)+(X2-X2)* (Y3+Y2)+(X4-X3)* (Y4+Y3)+……+(Xn-Xn-1)* (Yn+Yn-1)+(X1-Xn)* (Y1+Yn))\/2,计算结果的绝对值便是面积,如果顺时针计算就是正值,逆时针计算就是负值。这是本人证明...

一个多边形给出各点坐标,用c语言求各内角角度
假设这个多边形有5个点 A( a1, a2, a3),B( b1, b2, b3),C( c1, c2, c3),D( d1, d2, d3),E( e1, e2, e3).向量BA = ( b1 - a1, b2 - a2, b3 - a3). 将BA转化成标准向量 NBA = Normalize( BA)向量BC = ( b1 - c1, b2 - c2, b3 - c3). 将BC转化成标准...

相似回答