KIKI... 2022-11-24 19:59 采纳率: 83.3%
浏览 6
已结题

关于c#的问题:请问这是这是原因导致的(开发工具-visualstudio)

请问这是这是原因导致的?
公式如下:

img

using System;
namespace ConsoleApp2
{
    class Point
    {
        public double x;
        public double y;
    }
    class AbstractCalculation
    {
        public virtual Point Crosscal(Point pa, Point pb, double a, double b)
        {
            throw new Exception("TODO");
        }
    }
    class JLJH : AbstractCalculation
    {
        public override Point Crosscal(Point pa, Point pb, double a, double b)
        {
            double Dab = Math.Sqrt((pa.x - pb.x) * (pa.x - pb.x) + (pa.y - pb.y) * (pa.y - pb.y));
            double Za = Math.Acos((Dab * Dab + a * a - b) / (2 * Dab * a));
            double Zb = Math.Acos((Dab * Dab + b * b - a * a) / (2 * Dab * b));
            double Zab = Math.Atan((pb.y - pa.y) / (pb.x - pa.x));
            double Zap = Zab - Za;
            double Zbp = Zap + Zb;
            double xp1 = pa.x + a * Math.Cos(Zap);
            double yp1 = pa.y + a * Math.Sin(Zap);
            double xp2 = pb.x + b * Math.Cos(Zbp);
            double yp2 = pb.y + b * Math.Sin(Zbp);
            Point resultP = new Point();
            resultP.x = (xp1 + xp2)/2;
            resultP.y = (yp1 + yp2)/2;
            return resultP;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Point paa = new Point();
            paa.x = 1.0;
            paa.y = 1.0;
            Point pbb = new Point();
            pbb.x = 5.5;
            pbb.y = 6.6;
            double aa = 45;
            double bb = 63;
            Point resultPP = new Point();
            //距离交会计算
            AbstractCalculation ac = new JLJH();
            resultPP = ac.Crosscal(paa, pbb, aa, bb);

            Console.WriteLine($"x:{resultPP.x} x:{resultPP.y}");
            Console.ReadKey();
        }
    }
}

运行画面如下

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-11-24 20:17
    关注

    Dab变量值有问题,调用Math.Acos返回nan了,后续操作nan都是得到nan

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试