我有两点即时通讯画一条线(x1,y1
和x2,y2
)之间的路径中的点,但我需要知道的x3,y3
坐标是gapSize
从点x2,y2
了。关于如何解决这个问题的任何想法(该程序是用Objective-C编写的,如果这有帮助的话)?如何找到一条线
Q
如何找到一条线
0
A
回答
5
您可以简单地计算为
double rads = atan2(y2 - y1, x2 - x1);
然后你得到的坐标如下弧度的角度:
double x3 = x2 + gapSize * cos(rads);
double y3 = y2 + gapSize * sin(rads);
这是你的意思?
1
计算P1和P2之间的距离:d=sqrt((y2-y1)^2 + (x2-x1)^2)
x2 = (d*x1 + gapSize*x3)/(d+gapSize)
然后
所以x3 = (x2 * (d+gapSize) - d*x1)/gapSize
同样,y3 = (y2 * (d+gapSize) - d*y1)/gapSize
很抱歉的数学。我没有尝试编码,但它听起来是正确的。我希望这有帮助。
1
有很多方法可以做到这一点。最简单的(对我来说)如下。因为我不能拼写C,所以我会用数学的方法来写它。
因此,我们希望找到点C = {x3,y3},给定点A = {x1,y1},B = {X2,Y2}。
的点之间的距离是
d = ||B-A|| = sqrt((x2-x1)^2 + (y2-y1)^2)
沿着线点A单位矢量是由
V = (B - A)/d = {(x2 - x1)/d, (y2-y1)/d}
给定一个新的点,从乙在于gapSize的距离,在该单位矢量的方向是
C = B + V*gapSize = {x2 + gapSize*(x2 - x1)/d, y2 + gapSize*(y2 - y1)/d}
相关问题
- 1. 找到一条线,在Python
- 2. 如何找到一个线串并删除整条生产线
- 3. 如何找到一条线上的反射线?
- 4. PHP如何找到一条直线从一个文本文件
- 5. 找到一条线上的点
- 6. Python找到一条曲线长度
- 7. 找到一条线的交点
- 8. 找到两条线,并与一个
- 9. 找到最靠近的一条线
- 10. 如何使用正则表达式找到第一条和最后一条线?
- 11. 如何通过3D点找到一条线?
- 12. 如何找到一条线的反正切?
- 13. 如何找到一条线在JTS中相交?
- 14. 如何在程序集8086中找到一条线?
- 15. 我如何找到一组线条的最大值
- 16. 如何找到一条线上的所有网格?
- 17. 如何在一条线上找到最佳位置点?
- 18. 如何在一条线上找到均匀分布的点?
- 19. 如何在文本文件中找到一条线
- 20. OpenCV:如何合并多条线到一条曲线
- 21. 找到一条线和一条QPainterPath之间的交点
- 22. Matlab找到两条曲线的切线
- 23. 如何找到选择整条生产线的寻找只从线在Python
- 24. 找到一条线的模式和打印线
- 25. 如何跳过一条线?
- 26. 如何打破一条线?
- 27. 如何找到一个点位于一条线或多边形内
- 28. 如何找到mulpitple条件
- 29. 如何阻止一条线段与另一条线段相交?
- 30. 如何在线条图中找到弧线或打开的曲线?
完美,正是我所需要的! – Manuel