#质心法#
在几何学中,质心法是找出平面多边形或空间多面体的几何中心的方法。质心,或重心,是一个几何对象所有点位置向量的平均值。对于一个由多个顶点组成的平面图形,质心的坐标是所有顶点坐标的算术平均。更形象地,质心是一个物理模型在重力作用下能平衡支撑的点,若我们假想在此点支撑整个形状,它将保持平衡。直观上,质心可以视为形状的“中心”,但并非总是与形状的几何中心相符合,除非该形状是均质的。计算质心在解决静力学问题、设计结构以及艺术创作中构图时都非常有用。在更高级的应用中,如使用曲线和曲面时,计算质心可能需要使用积分法来考虑物体的连续质量分布。
质心法在MicroCity中如何运用
设置相机为正交投影
scene.setenv({camtype='ortho'})
遍历每个国家
设定 obj 为一个包含多个子对象的集合 对于每一个子对象(即 country),在 obj 集合中进行以下操作: 初始化点的数量 pointCount 为 0 初始化三个坐标轴上的总和(cxSum,cySum,czSum)为 0 获取 country 对象的所有坐标点 对每个坐标点进行迭代,将其坐标值(x, y, z)加到对应的总和变量(cxSum, cySum, czSum)上 同时将点的数量 pointCount 增加 计算质心坐标,方法是把每个坐标轴的总和变量(cxSum, cySum, czSum)分别除以点的数量 pointCount 这将给出质心的 x, y, z 坐标 将计算得到的质心坐标存储或者输出,以便后续使用或分析
获取土地的顶点坐标
for i, country in ipairs(obj:getchildren()) do
计算质心坐标
质心(又称重心)是一个几何对象上所有点的平均位置。对于一组离散的点,可以通过将所有点的坐标分别求和然后除以点的总数来找到质心的坐标。
对于三维空间中的质心,你需要计算X、Y和Z坐标的平均值。首先,分别计算所有点X坐标的和、所有点Y坐标的和以及所有点Z坐标的和。接下来,将每个坐标和除以点的数量,得到各个坐标轴的平均值。这三个平均值(X、Y和Z)就构成了三维空间中质心的坐标。
例如,如果你有一组点,每个点都有X、Y和Z三个坐标值,你首先将所有点的X坐标加起来得到X总和,同理得到Y总和和Z总和。如果你有N个点,那么质心的X坐标是X总和除以N,Y坐标是Y总和除以N,Z坐标是Z总和除以N。这样计算得到的点(质心的X坐标,质心的Y坐标,质心的Z坐标)就是整个点集的平均位置,即质心。
将需要的东西放在质心上
例如将国家名称放到中心处
创建一个标签对象,并设置其文本为 data['NAME'],颜色为黑色,大小为 2 将标签对象设置到位置 (centerX, centerY, centerZ)。将国家的名字放在国土面积的质心处。
要将所需标签放置到质心上,您首先需要计算组成对象的所有点的质心坐标。这包括单独对X、Y和Z轴上的所有点坐标求和,然后将每个和除以点的总数来获取平均坐标。计算出的这个坐标点(X平均,Y平均,Z平均)即表示质心的位置。
一旦质心坐标计算完成,你需要创建一个带有所需文本的标签对象。接着,你将这个标签的位置属性设置为质心的坐标。这样做将使标签正好出现在组成对象的所有点的平均位置上,即质心所在的位置。这种方法适用于多个点形成的物体,无论是在二维空间还是三维空间中。标签的文字可以代表该物体的名称或任何相关信息,而放置在质心上可以使这些信息的展示更为均衡和中心化。