zoukankan      html  css  js  c++  java
  • 二次函数积分面积【数学】

    题目:现在有一条二次曲线,直到这条二次曲线的顶点P,还知道这条曲线上的一点B,B点相对于对称轴的对称点是A点。

    让你求二次曲线与AB连线围成的面积。【简单积分】【韦达定理:x1+x2=-b/a; x1*x2=c/a 】【平移】

    如上图所示:

    代码:

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <iostream>
    #include <string>
    #include <algorithm>
    #define LL long long int
    
    using namespace std;
    
    struct point
    {
        double x, y;
    };
    
    int main()
    {
        point p, b; //p点是顶点坐标 b点是线段上一点
        point a;
        while(~scanf("%lf %lf %lf %lf", &p.x, &p.y, &b.x, &b.y))
        {
            a.x=-1.0*b.x;
            a.y=b.y; //对称点
    
            //根据积分的特性 在任意位置进行的积分 不一定等于面积
            //
            double dd, ff;
            dd=p.x-0.0; // dd<0 在y轴左边 否则右边
            ff=b.y-0.0; // ff<0 在x轴下边 否则上边
            //修改点坐标
            if(dd<=0.0)
            {
                p.x=0.0;
                a.x+=dd; b.x+=dd;
            }else{
                p.x=0.0;
                a.x-=dd; b.x-=dd;
            }
    
            if(ff<=0.0)
            {
                a.y=0.0; b.y=0.0;
                p.y+=ff;
            }else{
                a.y=0.0; b.y=0.0;
                p.y-=ff;
            }//平移坐标
    
            double A, B, C; //方程的参数
            A = p.y/(-1.0*b.x*b.x);
            B = 0.0;
            C = p.y;
            double ans=0.0;
            ans = (1.0/3.0*A*b.x*b.x*b.x + C*b.x) - 0;
            ans = ans*2.0;
            printf("%lf
    ", ans );
        }
        return 0;
    }
    
  • 相关阅读:
    JSON基础知识
    Java 环境配置
    接口测试基础知识
    Fiddler初学笔记
    es6数组方法findIndex()
    sass+less相关
    前端库/框架/插件相关
    知名博主相关
    CSS相关
    移动Web相关
  • 原文地址:https://www.cnblogs.com/yspworld/p/4564478.html
Copyright © 2011-2022 走看看