日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C# 编程实现非自相交多边形质心

發(fā)布時(shí)間:2024/4/13 C# 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 编程实现非自相交多边形质心 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

計(jì)算公式公式:?http://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon

多邊形的質(zhì)心

一個(gè)非自相交的n個(gè)頂點(diǎn)的多邊形(x0,y0), (x1,y1), ..., (xn?1,yn?1) 的質(zhì)心 (Cx,?Cy):

A是多邊形的有向面積:

.

在這些公式中,頂點(diǎn)被假定為沿多邊形周長(zhǎng)編號(hào)。此外,頂點(diǎn)(xn,yn)與(x0,y0)是相同的,意味著 對(duì)最后一次循環(huán)的i + 1?會(huì)回到i = 0.
注意,如果點(diǎn)按順時(shí)針?lè)较蜻M(jìn)行編號(hào),按上述方法計(jì)算,會(huì)出現(xiàn)一個(gè)無(wú)法預(yù)知的結(jié)果;但在這種情況下質(zhì)心坐標(biāo)也會(huì)是正確的。

In these formulas, the vertices are assumed to be numbered in order of their occurrence along the polygon's perimeter. Furthermore, the vertex (?xn,?yn?) is assumed to be the same as (?x0,?y0?), meaning?i + 1?on the last case must loop around to?i = 0. Note that if the points are numbered in clockwise order the areaA, computed as above, will have a negative sign; but the centroid coordinates will be correct even in this case.

?

對(duì)于那些難以理解這些公式∑符號(hào),下面給出C#的實(shí)現(xiàn)代碼:

?

class Program {static void Main(string[] args){List<Point> vertices = new List<Point>();vertices.Add(new Point() { X = 1, Y = 1 });vertices.Add(new Point() { X = 1, Y = 10 });vertices.Add(new Point() { X = 2, Y = 10 });vertices.Add(new Point() { X = 2, Y = 2 });vertices.Add(new Point() { X = 10, Y = 2 });vertices.Add(new Point() { X = 10, Y = 1 });vertices.Add(new Point() { X = 1, Y = 1 });Point centroid = Compute2DPolygonCentroid(vertices);}static Point Compute2DPolygonCentroid(List<Point> vertices){Point centroid = new Point() { X = 0.0, Y = 0.0 };double signedArea = 0.0;double x0 = 0.0; // Current vertex Xdouble y0 = 0.0; // Current vertex Ydouble x1 = 0.0; // Next vertex Xdouble y1 = 0.0; // Next vertex Ydouble a = 0.0; // Partial signed area// For all vertices except lastint i=0;for (i = 0; i < vertices.Count - 1; ++i){x0 = vertices[i].X;y0 = vertices[i].Y;x1 = vertices[i+1].X;y1 = vertices[i+1].Y;a = x0*y1 - x1*y0;signedArea += a;centroid.X += (x0 + x1)*a;centroid.Y += (y0 + y1)*a;}// Do last vertexx0 = vertices[i].X;y0 = vertices[i].Y;x1 = vertices[0].X;y1 = vertices[0].Y;a = x0*y1 - x1*y0;signedArea += a;centroid.X += (x0 + x1)*a;centroid.Y += (y0 + y1)*a;signedArea *= 0.5;centroid.X /= (6*signedArea);centroid.Y /= (6*signedArea);return centroid;} }public class Point {public double X { get; set; }public double Y { get; set; } }

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/thunderpanda/p/6233250.html

總結(jié)

以上是生活随笔為你收集整理的C# 编程实现非自相交多边形质心的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天插综合网 | 黄色91免费观看 | 亚洲AV成人无码久久 | 色在线视频 | 亚洲观看黄色网 | freesex性hd公交车上 | www一区 | 亚洲精品一区二区三区影院忠贞 | 精品3p| 精品国产视频一区二区 | 中文字幕一区二区三区四区不卡 | 热久久免费 | 夜久久| 中文字幕在线观 | 成人av在线影院 | 91网站免费在线观看 | 日日夜夜天天 | 日韩在线视频观看 | 国产无遮挡免费视频 | 国产稀缺精品盗摄盗拍 | 黄色av大全 | 韩国明星乱淫(高h)小说 | 美女人人操 | 国产精品伊人久久 | 中文字幕一区二区三区人妻四季 | 国偷自产视频一区二区久 | 影音先锋久久久 | 欧美日韩高清一区二区三区 | 亚洲AV无码久久精品色三人行 | 卡一卡二在线视频 | 国色天香av | 手机在线一区 | 色多多黄色 | 欧美高清在线一区 | 男女拍拍拍网站 | 国产欧美在线精品日韩 | 在线黄色网页 | 伊人中文字幕在线观看 | 久久激情综合网 | 国产视频欧美视频 | 欧美色老头old∨ideo | 国产视频久久久久 | 操极品美女 | 三级全黄的视频 | 欧美福利视频一区 | 永久免费不卡在线观看黄网站 | 国产午夜一级 | 懂色av蜜臀av粉嫩av | 波多野结av衣东京热无码专区 | 国产精品2020 | 91精品久久久久久久久久久 | 色呦呦一区二区 | 高跟av | 国产乱子伦视频一区二区三区 | 1000部拍拍拍18勿入免费视频 | 一个色亚洲| 亚州av在线 | 国产在线观看xxx | 97超碰资源总站 | 男人天堂手机在线 | 在线天堂一区 | 亚洲成人动漫在线观看 | 欧美性受xxxx狂喷水 | 天堂网在线资源 | 久久久久久久一区二区三区 | 涩色网站 | 国产黄色免费看 | 中文字幕久久久久 | 国产av天堂无码一区二区三区 | 久草福利资源站 | 欧美黄片一区 | 香蕉色视频 | 年代下乡啪啪h文 | 国产精品久久久久久久久免费桃花 | 91看视频 | 精品国产午夜福利在线观看 | 操极品女神 | 在线观看黄色av网站 | 处女朱莉| 国产另类专区 | 顶弄h校园1v1 | 熟女一区二区三区四区 | 久久99久久久久 | 日本毛片网站 | 女同动漫免费观看高清完整版在线观看 | 制服丝袜先锋 | 亚洲欧美日韩色图 | 国产精品815.cc红桃 | 国产亚洲毛片 | 久久久久亚洲AV成人无码国产 | 99精品视频网站 | 亚洲一级二级三级 | 色哟哟国产精品 | 无码人妻丰满熟妇区五十路 | 久久久ww | 国产av国片精品 | 免费在线观看不卡av | 1级片在线观看 | 精品人妻大屁股白浆无码 |