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

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

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

9710

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 为我们需要的轮廓线多边形 这里有个两向量夹角的方法要实现,这里不具体展开了。

13010

GEE训练教程——如何确定几何形状的中心点坐标和相交的坐标

简介 在GEE中,可以使用.geometry()方法来获取几何形状的中心点坐标和相交的坐标。...首先,使用.geometry()方法获取几何形状的几何信息,然后使用.centroid()方法获取几何形状的中心点坐标。...返回几何体最高维度分量的中心点。低维组件将被忽略,因此包含两个多边形、三条线和一个点的几何体的中心点等同于仅包含两个多边形的几何体的中心点。...单个点的凸面形是点本身,相邻点的凸面形是一条直线,其他所有点的凸面形是一个多边形。需要注意的是,如果一个退化多边形的所有顶点都在同一条直线上,那么该多边形将生成一条线段。 ...,根据多边形来选取出相交点的坐标。

10410

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: # 当前点到道路的最近点

44810

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); // 查找线几何的长度(因为这是一个多边形,所以你得到零

20210
领券