首页 > 解决方案 > 将给定公式转换为 vb.net

问题描述

我有一个给定的数学公式,需要将其转换为 VB.NET 代码,但我没有得到预期的结果。正如我在文档中发现的那样,我必须转换角度才能Math.Sin 正常工作。

在此处输入图像描述

Dim locC1 = 1
Dim locC2 = 0.5
Dim locA1 = 30
Dim locA2 = 60

Dim locOldAxisToAngleConversion = (Math.PI / 180) * locA1
Dim locNewAxisToAngleConversion = (Math.PI / 180) * locA2
Dim locCylSinus1 = locC1 * Math.Sin(2 * locOldAxisToAngleConversion)
Dim locCylSinus2 = locC2 * Math.Sin(2 * locNewAxisToAngleConversion)
Dim locCylCosinus1 = locC1 * Math.Cos(2 * locOldAxisToAngleConversion)
Dim locCylCosinus2 = locC2 * Math.Cos(2 * locNewAxisToAngleConversion)
Dim locFraction = (locCylSinus1 + locCylSinus2) / (locCylCosinus1 + locCylCosinus2)
Dim locNewAxis = 0.5 * Math.Atan((Math.PI / 180) * locFraction)
Return Convert.ToInt32(locNewAxis)

给定数据的结果应该是 39.6,但我无法获得它。

标签: vb.netmath

解决方案


我找到了解决方案 - 基于@meowgoesthedog 的信息

Dim locNewAxis = 0.5 * (180 / Math.PI) * Math.Atan(locFraction)

最后一行代码起到了作用。谢谢


推荐阅读