在视觉上是一个功能/对象在绘图/图像中的另一个功能/对象内部

时间:2018-10-31 03:57:00

标签: python matlab plot calculus

对于这个问题,我需要使用 Python Matlab

我下面有以下曲线图和方程式,on desmos也可用。

如何确定红色圆圈1 是在区域A 还是区域B 中?

当前方法:

  1. 使用大量的if语句找出圆相对于每个区域的位置,但这会使程序变得混乱,如果区域的形状发生变化,则需要进行大量仔细的重新编码。

  2. 生成一组位于每个区域中的所有点(x,y),然后检查圆的边界处的点是否包含在这些集合中的一个中。 ...但是这看起来非常幼稚且效率低下。

注意:

真正的问题涉及由分段函数创建的更复杂的形状,但是我认为这将是一个很好的起点。

One Function Inside Another IMAGE?

1 个答案:

答案 0 :(得分:0)

import numpy as np

f1 = lambda theta : 3 / np.cos(2/5 * np.arcsin(np.sin(5*2*theta)))
c1 = lambda theta : np.sqrt(0.1)

inside, outside = False, False
for theta in np.linspace(0, 2*np.pi, 100):
    if c1(theta) <= f1(theta):
        inside = True
    if c1(theta) >= f1(theta):
        outside = True

if inside and outside:
    print('intersect')
elif inside:
    print('inside')
else:
    print('outside')

给出两个都位于极坐标中的区域f1和一个圆c1。计算不同theta的半径,并进行比较。

可以通过求解获得圆的极坐标

enter image description here

r