https://www.zhihu.com/question/29565629
https://baike.baidu.com/item/%E8%B4%9D%E5%A1%9E%E5%B0%94%E6%9B%B2%E7%BA%BF/1091769?fr=aladdin
它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。注意,贝塞尔曲线上的所有控制点、节点均可编辑。这种“智能化”的矢量线条为艺术家提供了一种理想的图形编辑与创造的工具。
Sub t5()
Dim pts(1 To 4, 1 To 2) As Single
pts(1, 1) = 10
pts(1, 2) = 50
pts(2, 1) = 200
pts(2, 2) = 120
pts(3, 1) = 150
pts(3, 2) = 210
pts(4, 1) = 310
pts(4, 2) = 220
Worksheets("sheet4").Shapes.AddCurve SafeArrayOfPoints:=pts
End Sub
Sub t6()
Dim pts(1 To 10, 1 To 2) As Single
pts(1, 1) = 10 '
pts(1, 2) = 50 '这种分类是错误的
pts(2, 1) = 200
pts(2, 2) = 120
pts(3, 1) = 150
pts(3, 2) = 210
pts(4, 1) = 310
pts(4, 2) = 220
pts(5, 1) = 110
pts(5, 2) = 280
pts(6, 1) = 190
pts(6, 2) = 220
pts(7, 1) = 150
pts(7, 2) = 210
pts(8, 1) = 310
pts(8, 2) = 220
pts(9, 1) = 110
pts(9, 2) = 280
pts(10, 1) = 190
pts(10, 2) = 210
Worksheets("sheet5").Shapes.AddCurve SafeArrayOfPoints:=pts
End Sub
Sub t5()
Dim pts(1 To 4, 1 To 2) As Single
pts(1, 1) = 0 '第1个点的X坐标
pts(1, 2) = 150 '第1个点的Y坐标
pts(2, 1) = 150 '第2个点的X坐标
pts(2, 2) = 0
pts(3, 1) = 200 '第3个点的X坐标
pts(3, 2) = 300
pts(4, 1) = 400
pts(4, 2) = 150
Worksheets("sheet4").Shapes.AddCurve SafeArrayOfPoints:=pts
End Sub