有没有办法(如规划算法)绘制连续的折线以填充特定形状(如三角形)?
数据挖掘
机器学习
深度学习
算法
opencv
2022-03-03 20:55:12
1个回答
简单地对三角形应用几何计算以获得更小的三角形,其顶点可用于折线,这不是更容易吗?
你有一个三角形。
shp = Triangle[];
Graphics[{LightGray, shp}]
A ScalingTransformabout theRegionCentroid可以执行TransformedRegion以获得更小的内部三角形。下面,shp内部三角形按因子 0.8、0.6 和 0.4 缩放。
scaledShps =
TransformedRegion[shp,
ScalingTransform[{#, #},
RegionCentroid@shp]] & /@ Range[.8, .4, -.2];
SeedRandom[456]
Graphics[{LightGray, shp, Riffle[Hue /@ RandomReal[1, Length@scaledShps], scaledShps]}]
每个scaledShps都有顶点作为第一个参数。将这些和它们收集到一个单一的.Map (/@) FirstFlattenLine
Graphics[{
LightGray, shp,
Orange, Thick, Line@Flatten[First /@ scaledShps, 1]
}]
通过增加缩放因子的数量来获得更多层。例如,从 0.95 到 0.05,步长为 -.05
scaledShps =
TransformedRegion[shp,
ScalingTransform[{#, #},
RegionCentroid@shp]] & /@ Range[.95, .05, -.05];
Graphics[{
LightGray, shp,
Orange, Thick, Line@Flatten[First /@ scaledShps, 1]
}]
Wolfram 最近发布了一个免费的 Wolfram 引擎,可以从多种语言(Python、C、...)中调用,因此您可以直接在您的项目中使用上述代码。
希望这可以帮助。
其它你可能感兴趣的问题




