actionscript-3 - AS3 如何根据用户用鼠标画线的位置找到贝塞尔曲线的控制点
问题描述
我正在尝试创建一条贝塞尔曲线,其中鼠标首先单击的起点和鼠标释放的终点。控制点应该是距离起点和终点最远的点,有没有办法在不将所有鼠标位置存储在数组中的情况下做到这一点。
我试过只找到最右边或最左边的点,但我意识到当它从左到右绘制时这不起作用(看到最远的点是向上或向下)我可以尝试同时实现这两个但我不是确定这会很好,因为终点通常是最远的点
解决方案
使用这种方法,您肯定需要将鼠标位置存储在一个数组中。
想象一下点击屏幕的右中,然后移动鼠标大致向后画两个 W,然后在屏幕的左中松开鼠标。
显然,控制点应该在 W 的底部点之一上,但是哪一个呢?您必须测量起点和终点与每个候选人之间的距离,以便确定真正最远的点在哪里。
建议:拥有一种明确声明控制点的机制可能会有所帮助。也许单击一次以设置控制点,然后单击并拖动以定义曲线的端点?或者跟踪画布上的点击:第一个是起点,第二个是控制点,第三个是终点。根据项目的限制,可能有很多选择。
推荐阅读
- flutter - 颤振错误:值可以为“空”的表达式必须先进行空检查,然后才能取消引用
- python - 如何用两个值的总和在特定列中填充 NA?
- angular - 获取以日期为参数的请求 Angular 8 (ts) + .NET Core
- javascript - 无法使用 Screen Capture API 录制音频
- java - Java证书链验证-适用于自签名证书和委托签名证书失败
- linux - 权限被拒绝(公钥),在 Linux AWS 服务器上我可以修复它吗?
- python - 从 lambda DynamoDB 获取字符串值
- twilio - Twilio Say vs Play 动词表现
- java - Java LongCache 返回错误值
- php - PHP分页显示页码两次