hdu1115(计算多边形几何重心)】的更多相关文章

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1115 题意:给出一些点,求这些点围成的多边形的重心: 思路: 方法1:直接分别求所有点的x坐标的平均值和y坐标的平均值,即答案:不过这个方法的计算精度不是很高,要求高精度时用另一个方法: 方法2: 用公式:x = (xi*si*+...xn*sn)/(si+...+sn): y = (yi*si*+...yn*sn)/(si+...+sn): 方法2的代码: #include <iostream>…
1.质量集中在顶点上.n个顶点坐标为(xi,yi),质量为mi,则重心(∑( xi×mi ) / ∑mi, ∑( yi×mi ) / ∑mi) 2.质量分布均匀.这个题就是这一类型,算法和上面的不同. 特殊地,质量均匀的三角形重心:(( x0 + x1 + x2 ) / 3,Y = ( y0 + y1 + y2 ) / 3) 以(0,0)为顶点三角剖分之后求三角形重心,把重心连起来转换成质量集中在顶点上的情况求解即可 #include<iostream> #include<cstdio&…
point gravity_center(point* p,int n) {    double area=0.0;    point ZERO;    ZERO.x = 0;    ZERO.y = 0;    point ret = ZERO;    p[n]=p[0];    for (int i=0; i<n; ++i)   {    ret.x+=cross(p[i],p[i+1],ZERO)*(p[i].x+p[i+1].x);    ret.y+=cross(p[i],p[i+1]…
题意:已知一多边形没有边相交,质量分布均匀.顺序给出多边形的顶点坐标,求其重心. 分析: 求多边形重心的题目大致有这么几种: 1,质量集中在顶点上.n个顶点坐标为(xi,yi),质量为mi,则重心 X = ∑( xi×mi ) / ∑mi Y = ∑( yi×mi ) / ∑mi 特殊地,若每个点的质量相同,则 X = ∑xi / n Y = ∑yi / n 2,质量分布均匀.这个题就是这一类型,算法和上面的不同. 特殊地,质量均匀的三角形重心: X = ( x0 + x1 + x2 ) / 3…
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5370 Accepted Submission(s): 2239 Problem Description There are many secret openings in the floor which are covered by a big heavy…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1115# 大意:给你个n,有n个点,然后给你n个点的坐标,求这n个点形成的多边形的重心的坐标. 直接套模板,我也不知道什么意思.注意在POJ上面定义double时,输出f,如果输出lf则WA,HDU上面输出lf能A. #include <iostream> #include <string.h> #include <stdio.h> #include <algorith…
Lifting the Stone Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1115 Description There are many secret openings in the floor which are covered by a big heavy stone. When the stone is lifted up…
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 230 Accepted Submission(s): 130   Problem Description There are many secret openings in the floor which are covered by a big heavy…
题目:http://poj.org/problem?id=1265 Sample Input 2 4 1 0 0 1 -1 0 0 -1 7 5 0 1 3 -2 2 -1 0 0 -3 -3 1 0 -3 Sample Output Scenario #1: 0 4 1.0 Scenario #2: 12 16 19.0 注意:题目给出的成对的数可不是坐标,是在x和y方向走的数量. 边界上的格点数:一条左开右闭的线段(x1, x2)->(x2, y2)上的格点数为:gcd( abs(x2-x1…
利用叉积计算多边形的面积 我们都知道计算三角形的面积时可以用两个邻边对应向量积(叉积)的绝对值的一半表示,那么同样,对于多边形,我们可以以多边形上的一个点为源点,作过该点并且过多边形其他点中的某一个的多条射线,这样就可以把该多边形变为多个三角形,然后利用叉积求面积即可. 不过要注意,对于三角形可以简单的用叉积的绝对值的一半表示,但对于多边形不可随意将它分割成的几个三角形对应的叉积的绝对值相加,要有一定顺序才可. 对于三角形,有 [该图片来源:https://www.cnblogs.com/xie…
Lifting the Stone 题目链接: http://acm.hust.edu.cn/vjudge/contest/130510#problem/G Description There are many secret openings in the floor which are covered by a big heavy stone. When the stone is lifted up, a special mechanism detects this and activates…
http://acm.hdu.edu.cn/showproblem.php?pid=1115 引用博客:https://blog.csdn.net/ysc504/article/details/8812339 //①质量集中在顶点上 // n个顶点坐标为(xi,yi),质量为mi,则重心 // X = ∑( xi×mi ) / ∑mi // Y = ∑( yi×mi ) / ∑mi // 特殊地,若每个点的质量相同,则 // X = ∑xi / n // Y = ∑yi / n //②质量分布均…
[一道练习题] 面基 时间限制:1000ms   内存限制:65536kb 通过率:107/134 (79.85%)    正确率:107/319 (33.54%) 题目描述 按顺时针或逆时针顺序输入一个简单多边形的每个顶点坐标,求这个多边形的面积. 在几何形状中,简单多边形是由直线,非相交的线段或“边”组成的扁平形状,其成对连接以形成封闭路径.(百度百科) 输入 第一行一个整数nn,表示顶点数 接下来n行,每行22个整数x,yx,y表示一个顶点坐标 输出 对于每组数据,输出一行,一个浮点数表示…
D2D不仅可以绘制,还可以对多个几何图形对象进行空间运算.这功能应该在GIS界比较吃香. 这些计算包括: 合并几何对象,可以设置求交还是求并,CombineWithGeometry 边界,加宽边界,查询边界.Widen.GetBounds.GetWidenedBounds 几何对象填充的区域是否包含指定点,FillContainsPoint 笔画是否包含点,StrokeContainsPoint 几何对象与指定几何对象之间的交集,CompareWithGeometry 创建仅包含直线和(可选)三…
1091: [SCOI2003]切割多边形 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 356  Solved: 157[Submit][Status][Discuss] Description 有一个凸p边形(p<=8),我们希望通过切割得到它.一开始的时候,你有一个n*m的矩形,即它的四角的坐标分别为(0,0), (0,m), (n,0), (n,m).每次你可以选择一条直线把当前图形切割成两部分,保留其中一个部分(另一部分扔掉)切割线的长度…
给个多边形 计算面积 输出要四舍五入 直接用向量叉乘就好 四舍五入可以+0.5向下取整 #include<cstdio> #include<algorithm> #include<cstring> #define N 10005 #define eps 1e-8 using namespace std; struct point { double x,y; inline double operator *(const point &rhs) const { re…
题意:给一个多边形(有可能是凹多边形).问有多少种可以使得它稳定放置的方式.当然稳定的原则就是重心做垂线在支撑点之内. 解法:由于有可能是凹多边形,所以先求出多边形的凸包,这是在放置时候会接触地面的全部点. 然后将重心与每天凸边推断是否稳定. 代码: /****************************************************** * @author:xiefubao *************************************************…
Input 输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2... xn, yn),为了简化问题,这里的所有坐标都用整数表示. 输入数据中所有的整数都在32位整数范围内,n=0表示数据的结束,不做处理.   Output 对于每个测试实例,请输出对应的多边形面积,结果精确到小数点后一位小数. 每个实例的输出占一行.   Sample Input…
上一篇介绍了使用leaflet绘制圆形,那如何计算圆形的面积呢? 1.使用数学公式计算,绘制好圆形后,获取中心点以及半径即可 2.使用第三方工具计算,如turf.js. 这里turf的area方法入参为geojson对象 3.使用超图的地图服务做面积计算,见下文范例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图形绘制并计算面积</title&g…
最近业务上有一个需求,给出多边形面积. Google了一下,发现国内论坛给的算法都是你抄我我抄你,也不验证一下是否正确, 从 博客园到csdncsdn 然后传播到国内各个角落...真是无力吐槽了. 直接纯英文Google.发现了一个非常快捷的面积算法.直接附上链接 鞋带公式 这个算法,算面积是不是就很简单了: def polygon_area(points): """返回多边形面积 """ area = 0 q = points[-1] for…
[摘要:var earthRadiusMeters = 6371000.0; var metersPerDegree = 2.0 * Math.PI * earthRadiusMeters / 360.0; var radiansPerDegree = Math.PI / 180.0; var degr] var earthRadiusMeters = 6371000.0; var metersPerDegree = 2.0 * Math.PI * earthRadiusMeters / 360…
//利用曲线逼近,计算逼近曲线的长度 //首先创建一个逼近曲线 vector<Point2f> approx; approxPolyDP(contours[i], approx, 2, true); arcLength(contours[i], false); double dstLength = arcLength(approx, true);…
ST_Centroid(geometry); geometry :a specified ST_Geometry e.g.: select ST_AsText(ST_Centroid('0103000020E610000001000000050000000EBF9B6ED9775E40B96DDFA3FE723C4019E6046D72775E400CAD4ECE50743C40ED832C0B26785E40B6D9588979763C40A471A8DF85785E409605137F147…
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Description There are many secret openings in the floor which are covered by a big heavy stone. When the stone is lifted up, a special mecha…
Problem Description There are many secret openings in the floor which are covered by a big heavy stone. When the stone is lifted up, a special mechanism detects this and activates poisoned arrows that are shot near the opening. The only possibility i…
import arcpy # Create an Array object. # array = arcpy.Array() # List of coordinates. # coordList = ['1.0;1.0','1.0;10.0','10.0;10.0','10.0;1.0'] # For each coordinate set, create a point object and add the x- and # y-coordinates to the point object,…
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7674    Accepted Submission(s): 3252 Problem Description There are many secret openings in the floor which are covered by a big…
转自:[几何]计算不规则多边形的面积.中心.重心 最近项目用到:在不规则多边形的中心点加一个图标.(e.g: xx地区发生暴雪,暴雪区域是多边形,给多边形中心加一个暴雪的图标) 之前的设计是,计算不规则多边形范围矩形bounds的中心点.这个比较简单,对于一些圆,矩形,凸多边形都比较适合.但是遇到凹多边形就会出现问题,比如一个月牙型的不规则多边形,bounds的中心点,就落到月牙外了.就有点难以接受了. 经过讨论,决定将中心改为重心. 下面上代码, 计算不规则多边形的中心: public sta…
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=1115">http://acm.hdu.edu.cn/showproblem.php? pid=1115 Lifting the Stone Problem Description There are many secret openings in the floor which are covered by a big heavy stone. When the stone is lift…
This file is implementation of Common Common Computational Geometry Algorithms.Please please pay attention to input according to the specified data type. 个人实现的一些计算几何中常见的算法,包括点,线,多边形等:所有算法只依赖于C++标准库,不用包含任何其他第三方库,包含此头文件即可使用.使用时请注意按照规定的数据类型进行输入,目前只使用C++…