谁能解释一下 convex
路径是如何计算的?我需要绘制一些 cubic
和一些线条,但路径显示为非 convex
。然而,当我只留下 lines
或 cubic
时,它就是 convex
。问题是我需要一些非规则形状的背景,并且需要 Convex path
用于阴影轮廓,但无法获得如何将绘图 cubic
与一些线连接起来以制作 凸路径
如果可能的话
最佳答案
A path is convex if it has a single contour, and only ever curves in a single direction.
凸面意味着它在一个方向上保持弯曲/旋转,并且仅在一个方向上。你真的必须确保你所有的角度和曲线加起来。如果你的曲线连接到一条线,它必须有相同的角度或“更凸”,我希望下面的 2 张图片能解决这个问题。
下图不是凸的。这也可能是你的问题。直线连接到曲线,但曲线与直线的角度不同,它会改变它连接的方向。查看线在哪里下降,但它没有继续向下运动,而是突然再次上升。它不会保持一个方向,而是会在直线和曲线相交的地方改变一下。
上图为清晰起见进行了放大,但即使直线和曲线之间的连接出现小错误也会引发错误。
下一条线连接到一条角度更陡的曲线。这是凸的,不会有问题。查看整个轮廓如何在一个方向上保持单一运动,这取决于您跟随它的方向,它会不断向左/向右转动。
我回答是因为我最近遇到了类似的问题,我感受到了你的痛苦。我建议用笔和纸对数学进行双重和三次检查,并使用小的 epsilon 值来解释舍入误差等......你真的必须确定数学,因为如果你的直线和曲线连接只是稍微偏离它将抛出该异常。
对不起我的绘画技巧不好
关于android - 凸路径 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49264082/