matlab - 计算此翼型的法线向量
问题描述
给定翼型点的 61x2 矩阵中的 XY 坐标数据集。我将如何沿着翼型的每个点创建法线向量。到目前为止,我已经绘制了翼型:
解决方案
让我们假设您的翼型是闭合的。
要计算每个点的法线,您可以平均每个段的法线。
这应该解决后沿问题……</p>
我想你的数据是x, y
xtmp1 = [x, x(1)]
ytmp1 = [y, y(1)]
xtmp2 = [x(end), x]
ytmp2 = [y(end), y]
nx = (diff(ytmp1)+diff(ytmp2))/2.0
ny = -(diff(xtmp1)+diff(xtmp2))/2.0
nx
将包含法线的 x 分量,ny
并将包含法线的 y 分量
当然,如果你想要等长的法线,你可以标准化结果
ntmp = 1.0 ./ sqrt(nx.*nx+ny.*ny)
nx = nx .* tmp
ny = ny .* tmp
如建议的那样,您还可以标准化每个段的正常值,然后平均
xtmp1 = [x, x(1)]
ytmp1 = [y, y(1)]
xtmp2 = [x(end), x]
ytmp2 = [y(end), y]
nxF = diff(ytmp1)
nyF = -diff(xtmp1)
nxB = diff(ytmp2)
nyB = -diff(xtmp2)
ntmp = 1.0 ./ sqrt(nxF.*nxF+nyF.*nyF)
nxF = nxF .* tmp
nyF = nyF .* tmp
ntmp = 1.0 ./ sqrt(nxB.*nxB+nyB.*nyB)
nxB = nxB .* tmp
nyB = nyB .* tmp
nx = (nxF+nxB)/2.0
ny = (nyF+nxB)/2.0
然后归一化nx
和ny
推荐阅读
- c# - ASP.NET Core 的 Microsoft 身份验证方案是什么?
- javascript - 动态组件给出类型错误:无法读取未定义的属性“__esModule”
- sql-server - Powershell命令作为变量,带或不带括号外的前导$?
- blazor - Github 可以成功执行工作流,但 GitHub Pages 得到`404 File not found error`
- excel - 根据日期重命名添加的工作表
- sql-server - 无法使用 IP 地址访问链接服务器
- orchardcms - 尝试添加 OrchardCms 时出现错误
- javascript - 旧画布的 Fabric.js 残留物仍然存在
- c# - 通用方法 public T Method() 其中 T : BaseViewModel 总是返回 NULL
- python - TemplateDoesNotExist 位于 /learning_logs/index.html