如何获得polybezier曲线段的起点?

问题描述

我为d =这样曲线 “M 8.6934523,43.845239Ç0,0 -3.0238096,-6.236608 -3.2127975,-11.90625Ç5.2916666,26.269345 6.047619,17.197916 10.961309,13.418155 15.875,9.6383926 20.032738,8.315476 28.537201,9.0714284”

并且需要在绝对坐标段开始的地方分割曲线(“C 5.2916666,26.26.9345 ....”)。我必须将该段表示为视图“m x,y C 5.2916666,26.26.9345 ....”中的另一条曲线。解决方案为“m 0,0 C 5.2916666,26.26.9345 ....”在这种情况下不适合:(并且作为上一段的最后一个控制点的起点不起作用(我相信这是因为切换到绝对坐标)。

我应该以某种方式计算上一段的起点吗?或者有没有相应的文献(文档中没有数据,除了这种曲线叫做polybezier)?

解决方法

首先,您需要将 d 属性更改为所有绝对坐标(全部大写)。为此,我正在使用此转换器:https://codepen.io/leaverou/pen/RmwzKv

接下来,为了按您需要的点分割它,您需要使用上一个命令的最后2个值来移动到新曲线的命令

svg{width:45vw}
<svg viewBox="5 8 24 35">
<path d="M8.6934523,43.845239C8.6934523,43.845239,5.669642700000001,37.608631,5.4806548,31.938989
C5.2916666,26.269345,6.047619,17.197916,10.961309,13.418155C15.875,9.6383926,20.032738,8.315476,28.537201,9.0714284"/>
</svg>




<svg viewBox="5 8 24 35">
<path d="M8.6934523,31.938989"/>
<path fill="red" d="M5.4806548,31.938989C5.2916666,9.0714284"/>
</svg>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...