我有一个在Illustrator中绘制的路径,我需要将路径分成100 px的部分。我无法弄清楚逻辑。一条线由2个点x1,y1和x2,y2组成。这是一条直线。我的线可能有角度/曲线,所以我需要做什么,找出2个像素之间的距离。这是我的线和部分的图解说明,我需要选择/提取:
答案 0 :(得分:0)
您的问题有两个方面:
要回答第一个问题,定义路径的基元类型很重要。假设有一系列Bezier立方体,您将采用de Casteljau算法:它允许您从原始控制点构造对应于给定Bezier弧的所需部分的控制点。然后,将获得路径的一部分作为初始贝塞尔曲线的起始部分,然后(可能)获得整个贝塞尔曲线的序列,最后获得最后贝塞尔曲线的结束部分。
要回答第二个问题,假设您需要准确的答案,则需要求助于沿路径的弧长数值积分。请参阅此帖:https://math.stackexchange.com/a/1171564/65203。
对于简单的近似,您可以展平曲线(将其近似为折线)并计算累积的段长度(如果曲线渲染器允许您访问此信息,则甚至可以计算像素数。)
这个过程并非无足轻重。