我需要创建一个适合给定几何形状的等边三角形网格。
我有一张包含几何图形的图像,它可能包含孔或细路径。我需要创建一个类似于此图像的网格:
圆的直径是可变的,需要覆盖整个几何体。这些点不必位于几何体上。
最佳答案
你可以把三角形网格看成是一个倾斜的矩形网格
例如,这使您能够将每个圆的状态存储在二维矩阵中,并使用简单的嵌套循环进行处理。当然,您必须将这些逻辑坐标转换为用于绘图的几何平面坐标。
const double Sin30 = 0.5;
static readonly double Cos30 = Math.Cos(30*Math.PI/180);
for (int xLogical = 0; xLogical < NX; xLogical++) {
for (int yLogical = 0; yLogical < NY; yLogical++) {
double xGeo = GridDistance * xLogical * Cos30;
double yGeo = GridDistance * (yLogical + xLogical * Sin30);
...
}
}
关于c# - 在几何体上创建等边三角形网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451740/