画布油漆,贝塞尔曲线,圆弧最高点

时间:2018-06-22 05:34:50

标签: android canvas path curve

我在努力完成自己的数学工作时遇到困难,我有一个贝塞尔曲线,而我试图在最高峰上画一个圆,当它的水平线是直线时,它很好,但是一旦我弯曲了直线(cubicTo),并使用PathMeasure.getPosTan(..),它偏离了最高峰。请参阅下面的图片和代码

straight Line

curved line

arcPath.cubicTo(0f, height.toFloat(), mArcPeakX, mArcPeakY, width.toFloat(), height.toFloat())

以及画圆圈的部分

arcPathMeasure.getPosTan(mArcPeakX, positionArray, null)

canvas.drawCircle(0f, height.toFloat(), 10f, paint)
canvas.drawCircle(positionArray[0],  positionArray[1], 10f, paint)
canvas.drawCircle(width.toFloat(), height.toFloat(), 10f, paint)

我不知道我缺少什么数学运算,但是一旦直线弯曲,圆弧就会前进,并且不会画在圆弧/曲线的峰值上。

0 个答案:

没有答案