visual-c++ - 给定两条曲线(都由某些点组成),确定一条曲线在另一条曲线上的点数
解决方案
我假设黑色曲线是 x 单调的(否则“一个高于另一个”术语可能不明确)。
一种简单的方法是将黑色曲线视为折线,并为p
红色曲线上的每个点找到q
折线上具有相同 x 坐标的点。那么绿点是那些p
y 坐标大于它们对应的 y 坐标的点q
。
找到q
与给定p
数量相对应的点以越过折线的线段并识别具有一个端点具有较小 x 坐标而另一个端点具有较大 x 坐标的线段。一旦有了这样的段, y 值q
就只是一个线性插值。
由于折线是 x 单调的,所以点的 x 坐标是排序的。因此,可以使用对数二进制搜索有效地完成对相应段的搜索。
推荐阅读
- javascript - PDF Blob 未显示带有 rest api、Angular 6 的内容
- php - php数据库单例不返回第二个结果
- javascript - 带有 Vue.js 的 jQuery - $(this) 在方法中不起作用
- java - Java 中的向下转换抛出 ClassCastException
- laravel - 如何在 Windows 中更改 Laravel 5 的默认 url
- javascript - Webflow 视频背景 - 静音/取消静音按钮
- excel - 将地理时间格式转换为 HH:MM:SS
- azure - Kubernetes 设置 Eviction Thresholds, system-reserved , kube-reserved
- r - 尝试使用 SMOTE 创建平衡训练集时出错
- javascript - 我只想显示两行第一行是标题和其他下拉选择的选项