【发布时间】:2017-11-14 04:08:53
【问题描述】:
我对 SVG 图形非常陌生。我正在尝试在 svg 矩形内创建多个 SVG 多边形。
我面临在大多边形内创建较小多边形的挑战。
我的多边形是多面的,而不仅仅是三角形和矩形。如何获得内部多边形的点,我有父多边形的点以及父子多边形之间的间距
<svg width="120" height="120" viewBox="0 0 120 120"
xmlns="http://www.w3.org/2000/svg">
<polygon id="poly_depth1" points="60,20 100,40 100,80 60,100 20,80 20,40" fill="blue"/>
</svg>
考虑上面的例子,我有一个 id 为 poly_depth1 的多边形,我想在这个多边形内创建另一个 10px 的多边形。我想使用纯 JavaScript 或 D3 创建这个子多边形。多边形应该保持相同的形状。
【问题讨论】:
-
“10px inside”是什么意思?这还不清楚。你试过什么?有很多关于 Stack Overflow 和网络上其他地方的教程,解释了如何在 Javascript 中创建 SVG 形状(使用 vanilla Javascript 或 D3 等库)。
-
"10px" inside 表示外部和内部多边形之间的差距。我用谷歌搜索了很多,并没有从网上得到任何帮助。这可能是纯几何问题。我需要帮助编写 javascript 函数,该函数将为我提供内部多边形的 x、y 点。像 getInnerPolyPoints(OuterPolyPoints,depth) {};深度是我想要我的内部多边形的内部多少。
-
对于任意多边形,这将是非常困难的。但是,如果你可以说它总是一个六边形,或者总是一个正多边形,那会简单很多。
-
多边形是任意的..形状和大小都不是固定的..但它会是规则的多边形,如 3 面、4 面、5 面等,而不是弯曲的。我试着写逻辑,但是失败的。我希望有人可以帮助我用 javascript 编写该逻辑,或者任何编程语言都可以,我会将其转换为 javascript。
-
嘿技术人员..请帮助...仍然没有找到我的问题的答案
标签: javascript css d3.js svg polygons