C++C#Delphi计算区域合并相交等-创新互联
在区域计算中,有时候需要区域的合并,相交,差值等需求。
创新互联建站是一家集网站建设,大厂企业网站建设,大厂品牌网站建设,网站定制,大厂网站建设报价,网络营销,网络优化,大厂网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。这里推荐一个 Clipper2 库, 可以快速高效实现
AngusJohnson/Clipper2: Polygon Clipping and Offsetting - C++, C# and Delphi (github.com)
此库有 C++, C#, Delphi 版本,都比较好用。
//C++
Paths64 subject, clip, solution;
subject.push_back(MakePath("100, 50, 10, 79, 65, 2, 65, 98, 10, 21"));
clip.push_back(MakePath("98, 63, 4, 68, 77, 8, 52, 100, 19, 12"));
solution = Intersect(subject, clip, FillRule::NonZero);
//C#
Paths64 subj = new Paths64();
Paths64 clip = new Paths64();
subj.Add(Clipper.MakePath(new int[] { 100, 50, 10, 79, 65, 2, 65, 98, 10, 21 }));
clip.Add(Clipper.MakePath(new int[] { 98, 63, 4, 68, 77, 8, 52, 100, 19, 12 }));
Paths64 solution = Clipper.Intersect(subj, clip, FillRule.NonZero);
//Delphi
var
subject, clip, solution: TPaths64;
begin
SetLength(subject, 1);
subject[0] := MakePath([100, 50, 10, 79, 65, 2, 65, 98, 10, 21]);
SetLength(clip, 1);
clip[0] := MakePath([98, 63, 4, 68, 77, 8, 52, 100, 19, 12]);
solution := Intersect( subject, clip, frNonZero);
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:C++C#Delphi计算区域合并相交等-创新互联
地址分享:http://scjbc.cn/article/cepggs.html