首页 > 解决方案 > 绘图/图像中的一个函数/对象是否可视地位于另一个函数/对象中

问题描述

对于这个问题,我需要使用PythonMatlab 。

我有以下图表和方程式,它们也可以在 desmos 上找到

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

当前方法:

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

  2. 生成位于每个区域中的所有点 (x,y) 的集合,然后检查圆边界处的点是否包含在其中一个集合中。...但这似乎非常幼稚和低效。

笔记:

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

另一个图像中的一个功能?

标签: pythonmatlabplotcalculus

解决方案


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')

给定一个 regionf1和一个 circle c1,都在极坐标中。计算不同thetas 的半径,并比较它们。

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

在此处输入图像描述

为了r


推荐阅读