python - 绘图/图像中的一个函数/对象是否可视地位于另一个函数/对象中
问题描述
对于这个问题,我需要使用Python或Matlab 。
我有以下图表和方程式,它们也可以在 desmos 上找到。
如何确定红色圆圈 1是在区域 A还是区域 B中?
当前方法:
使用大量 if 语句来确定圆相对于每个区域的位置,但这会导致程序混乱,如果区域的形状发生变化,则需要进行大量仔细的重新编码。
生成位于每个区域中的所有点 (x,y) 的集合,然后检查圆边界处的点是否包含在其中一个集合中。...但这似乎非常幼稚和低效。
笔记:
真正的问题涉及从分段函数创建的更复杂的形状,但我认为这将是一个很好的起点。
解决方案
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
,都在极坐标中。计算不同theta
s 的半径,并比较它们。
圆的极坐标可以通过求解得到
为了r
推荐阅读
- sql - MS SQL Server:存储 mm-dd--year hh-mm-ss am/pm 会杀死 datetime 的时间
- angular - 显示来自 azure blob 存储的 Pdf
- javascript - 给定数字的函数返回范围内的数字
- azure-ad-b2c - 在 Azure AD B2C Rest Api 中按自定义字段筛选用户
- neo4j - 将数据从 Neo4j 迁移到 OrientDb 时出错
- javascript - Material UI Select,如果所有项目都被选中,则保持滚动在顶部
- python-3.x - GPU:0 上的 CUDA 运行时隐式初始化失败。状态:未知错误
- javascript - 当存档未定义时,不要包含在承诺中
- c# - 处理图像的 C# 类型
- content-management-system - 扩展类Contao中的新闻类别过滤问题