我已经有了一个导体,conductor = np.array([[-2.5, -5], [5, -5], [5, 5], [-2.5, 5]])
窗口尺寸 window_width = 20.0 window_height = 20.0
网格大小 l1 = 4 l2 = 4 该导体由这四个坐标点连成的矩形表示假设原点处于窗口的中心针对导体,然后对整个给定的窗口实现l1l2网格化,并且计算导体在每个单元网格中覆盖面积的占比(单元网格中导体的部分/单元网格面积),输出为一个l1l2二维矩阵J,其中矩阵J的每个元素J【a】【b】为精度为0.01的浮点数,表示导体在该网格内覆盖面积占该单元网格的面积比,用python实现
Python实现二维图像网格化
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题:如何对一个矩形导体进行网格化,并计算导体在每个单元网格中的覆盖面积占比? 解答:- 首先,我们需要计算出每个单元网格的边长,根据给定的窗口尺寸和网格大小,可以得到单元网格的边长为 dx = window_width / l1 dy = window_height / l2
- 然后,我们可以根据导体的四个顶点坐标来计算出导体所在的矩形的左下和右上角的坐标 x_min = min(conductor[:,0]) y_min = min(conductor[:,1]) x_max = max(conductor[:,0]) y_max = max(conductor[:,1])
- 接下来,我们可以循环遍历所有的单元网格,对于每个单元网格,计算出它的左下角坐标以及它的面积,并计算出导体所在的矩形与该单元网格的交集的面积,最终得到该网格中导体的占比。 J = np.zeros((l1, l2)) # 初始化矩阵J for i in range(l1): for j in range(l2): # 计算单元网格的左下角坐标 x1 = x_min + i * dx y1 = y_min + j * dy # 计算单元网格的面积 area = dx * dy # 计算导体所在的矩形与该单元网格的交集的面积 x_overlap = max(0, min(x1+dx,x_max)-max(x1,x_min)) y_overlap = max(0, min(y1+dy,y_max)-max(y1,y_min)) overlap_area = x_overlap * y_overlap # 计算导体在该单元网格中覆盖面积占比 J[i,j] = overlap_area / area
- 最终得到的矩阵J就是每个单元网格中导体在其中的覆盖面积占比。 Python代码实现: import numpy as np conductor = np.array([[-2.5, -5], [5, -5], [5, 5], [-2.5, 5]]) window_width = 20.0 window_height = 20.0 l1 = 4 l2 = 4 dx = window_width / l1 dy = window_height / l2 x_min = min(conductor[:,0]) y_min = min(conductor[:,1]) x_max = max(conductor[:,0]) y_max = max(conductor[:,1]) J = np.zeros((l1, l2)) for i in range(l1): for j in range(l2): x1 = x_min + i * dx y1 = y_min + j * dy area = dx * dy x_overlap = max(0, min(x1+dx,x_max)-max(x1,x_min)) y_overlap = max(0, min(y1+dy,y_max)-max(y1,y_min)) overlap_area = x_overlap * y_overlap J[i,j] = overlap_area / area print(J)
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
- ¥15 matlab自定义损失函数
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy
- ¥15 求往届大挑得奖作品(ppt…)
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图