首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

平面几何:内接或外切于圆的正多边形

求和圆内接的正多边形 方法参数有: center:圆心位置; start:正多边形上的一个点,和 center 的距离即圆的半径; count:多边形边数。 返回值为多边形上连续的点数组。...或者用矩阵的方式表达,可读性更好,但通常需要引入一个矩阵库,下面是 pixi.js 的写法: const rotate = (p: Point, center: Point, rad: number)...求和圆外切的正多边形 外切要求的效果如下,start 为多边形其中一边的中点,其他同上。 思路是计算一个新的起点 start,然后应用前的的外切方法。...如果你不知道线性插值是什么,可以看我的这篇文章: 《平面几何算法:点到直线和圆的最近点》 算法实现: /** * 计算和圆外切的正多边形 * @param center 圆心 * @param...外切正多边形,可以转换为内接,只需要用三角函数和线性插值计算等价的内接下的起点。 我是前端西瓜哥,关注我,学习更多平面几何知识。

8910

iOS多边形马赛克的实现(下)

上一篇里我们详述了多边形马赛克的实现步骤,末尾提出了一个思考:如何在涂抹时让马赛克逐块显示呢? 再回顾一下多边形马赛克的实现。首先进行图片预处理,将原图转成bitmap后生成铺满马赛克的全图。...试想一下,如果上述步骤不变,要想让多边形马赛克一块一块的显示出来,首先得计算手指移动时经过了哪些马赛克块。具体来说,也就是在每一次touchMove的回调都需要计算若干个圆形与哪些多边形马赛克相交。...所谓的重心,指的是图片有效区域的中心,而不是整张图的中心点。以拼图马赛克为例 ? 给左图设置的重心是(0.25, 0.5),右图的重心是(0.75, 0.5)。...因此这里我们将平均rgb值改为直接取该马赛克区域重心的颜色,以简化整个绘制的过程。以正方形马赛克为例,下面两图分别是取平均值和重心(正方形的中心点)颜色所生成的全图马赛克效果。 ?...可以看到取中心点生成的马赛克图片似乎更鲜活一些。当然如果一定要取马赛克区域的平均rgb值也是可以的,在预处理的时候事先计算好每个马赛克块的平均颜色即可。 ?

1.6K130

给定一个边与边可能相交的多边形它的轮廓线

最近遇到一个需求,给定一个多边形(边与边可能相交),这个多边形的轮廓线。 需要注意的是,轮廓线多边形内不能有空洞,使用的不是常见的非零绕数规则(nonzero)以及奇偶规则(odd-even)。...整体思路 计算多边形各边的交点,求出一个有多边形点和交点信息的邻接表。 从最下方的点开始,找出与其相邻节点中夹角最小的点保存到路径中,不断重复这个行为,直到点又回到起点位置。...: // 多边形的邻接表,size 为多边形点的数量 function getAdjList(size: number) { const adjList: number[][] = []; for...所以我们首先要做的是 求出目标多边形上的所有交点,并更新邻接表,得到一个额外带有交点信息的多边形邻接表。 我们来看看具体要怎么实现。 交点以及更新邻接表 这里需要一个两线段交点的算法。...,超过最大循环次数 ${MAX_LOOP}`); } // outlineIndices 为我们需要的轮廓线多边形 这里有个两向量夹角的方法要实现,这里不具体展开了。

11210

Part3-1.获取高质量的阿姆斯特丹建筑立面图像(附完整代码)

1) 简化建筑物 2)使用Shapely获取建筑各边的中心点 2.2 方法二:用ArcGIS Pro和ArcPy处理建筑并获取中心点 1)简化建筑物 2) 获取建筑各边中心点 3.1 使用geopandas...计算建筑物各边的中心点:遍历建筑物的所有边,计算每条边的中心点。如果建筑物的每条边由点A和点B定义,那么中心点C的坐标是 ((A.x + B.x) / 2, (A.y + B.y) / 2)。...每个 midpoints 值都是一个 MultiPoint 对象,包含一个多边形或多多边形的所有边的中点。...,计算并存储中心点 # 遍历poly中所有的多边形,part为每个单独的多边形 for part in polygon: # 遍历每个边...center_points = gdf2.loc[sample, "midpoints"].geoms # 从MultiPoint中获取所有的点 for point in center_points: # 当前点到道路的最近点

36610

Google Earth Engine(GEE)——JavaScript基本功能介绍(单个几何特征的简单计算)

一条线的长度 var linLen = lineString.length(maxError); 几何的周长 var geoPeri = geometry.perimeter(maxError);...这个一般会用到边界的最大框选,filterbounds一般会用来进行边界的筛选也是通过矩形的方式 var bounGeo = geometry.bounds(maxError); 寻找可以包围几何的最小多边形...// 设置影像的中心点 Map.setCenter(-72.6978, 41.6798, 8); // 加载美国地图 var countyData = ee.FeatureCollection('TIGER...Map.addLayer(bound, {color: 'yellow'}, 'Bounds'); 3.同样,但不限于矩形,凸包 ( convexHull()) 是一个覆盖几何体末端的多边形。...// 找到计算的矢量集合并计算面积 var ar = countyConnectDiss.geometry().area(100); print(ar); // 查找线几何的长度(因为这是一个多边形,所以你得到零

16310

地理特征POI、AOI、路径轨迹

AOI是POI更高一级的抽象,由多边形围栏边界和特征数据组成。 如高德地图搜索某个地点得到的面数据,就是一个AOI 4 路径 路径是GIS里面最复杂的特征了,属于线数据。...高德地图上两个位置之间的导航线路就是路径了 5 开发常用 上面说了点、线、面的特征,为了更好地理解,下面通过一个小示例,可视化地去体验数据特征 准备工作: • 了解高德地图API的使用 高德开放平台JS...100%; height: 100%; } <script src="https://webapi.amap.com/loader.<em>js</em>...3D 模式,请设置 viewMode: '3D', zoom: 11, //初始化地图层级 center: [116.397428, 39.90923], //初始化地图<em>中心点</em>...//线宽 strokeStyle: "solid", //线样式 }); map.add(polyline); //面标记 // 多边形轮廓线的节点坐标数组

1K10
领券