【用积分求抛物线与直线围成的面积】

news2024/9/22 15:49:28

文章目录


一、Problem Discription

The Area

二、Sample Input and Sample Output

Sample Input and Sample Output


三、数学分析与推导计算

1. 根据抛物线顶点坐标 P 1 ( x 1 , y 1 ) P_1(x_1, y_1) P1(x1,y1)以及另一个点的坐标 P 2 ( x 2 , y 2 ) P_2(x_2, y_2) P2(x2,y2),求出抛物线方程

顶点坐标为(b, c)的顶点式抛物线方程式如下
y = a ( x − b ) 2 + c y=a(x-b)^2+c y=a(xb)2+c
此处顶点坐标为 P 1 ( x 1 , y 1 ) P_1(x_1, y_1) P1(x1,y1),可得 b = x 1 b=x_1 b=x1, c = y 1 c=y_1 c=y1.
因此
y = a ( x − x 1 ) 2 + y 1 y=a(x-x_1)^2+y_1 y=a(xx1)2+y1
再代入 P 2 ( x 2 , y 2 ) P_2(x_2, y_2) P2(x2,y2),得到
a = ( y 2 − y 1 ) ( x 2 − x 1 ) 2 a=\frac {(y_2 - y_1)} {(x_2 - x_1)^2} a=(x2x1)2(y2y1)

2. 根据直线上两点坐标 P 2 ( x 2 , y 2 ) P_2(x_2, y_2) P2(x2,y2) P 3 ( x 3 , y 3 ) P_3(x_3, y_3) P3(x3,y3),求出直线方程(直线的斜率和截距方程)

k = y 3 − y 2 x 3 − x 2 k=\frac{y_3 - y_2}{x_3 - x_2} k=x3x2y3y2
因此
y = k x + d y=kx+d y=kx+d
再代入 P 2 ( x 2 , y 2 ) P_2(x_2, y_2) P2(x2,y2),得到
d = y 2 − k x 2 d=y_2 - kx_2 d=y2kx2

3. 根据求出的直线方程和抛物线方程,以及直线和抛物线交点坐标,用积分求阴影部分的面积

( a ( x − b ) 2 + c − ( k x + d ) ) d x ( a(x-b)^2+c - (kx+d))dx (a(xb)2+c(kx+d))dx为被积表达式,在闭区间 [ x 2 , x 3 ] [x_2,x_3] [x2,x3]上作定积分,便可得所求阴影部分的面积。
A = ∫ x 2 x 3 ( a ( x − b ) 2 + c − ( k x + d ) ) d x A=\int_{x_2}^{x_3} ( a(x-b)^2+c - (kx+d))dx A=x2x3(a(xb)2+c(kx+d))dx
A = [ 1 3 a x 3 − 1 2 ( 2 a b + k ) x 2 + ( a b 2 + c − d ) x ] x 2 x 3 A=\Big[\frac {1} {3} ax^3 - \frac {1} {2} (2ab+k)x^2 + (ab^2+c-d)x\Big]_{x_2} ^{x_3} A=[31ax321(2ab+k)x2+(ab2+cd)x]x2x3

四、编码计算求解

代码如下(参考)

#include <iostream>
#include <iomanip>
using namespace std;

double a, b, c, k, d;
// y=a(x-b)^2+c
// y=kx+d
double integral(double x) {
    return a*x*x*x/3.0 - (2*a*b+k)*x*x/2.0 + (a*b*b+c-d)*x;
}
int main() {
	double x1, y1, x2, y2, x3, y3;
    int t;
    cin >> t;
    for(int i=0; i<t; i++){
        cin >> x1 >> y1;
        cin >> x2 >> y2;
        cin >> x3 >> y3;
        b = x1;
        c = y1;
        a = (y2-y1)/((x2-x1)*(x2-x1));
        k = (y3-y2)/(x3-x2);
        d = y2-k*x2;
        double ans = integral(x3) - integral(x2);
        //printf("%.2lf\n", ans);
        cout << fixed << setprecision(2) << ans << endl;
    }
    return 0;
}

测试如下

2
5.00 5.00
0.00 0.00
10.00 0.00
33.33
10.00 10.00
1.00 1.00
14.00 8.222222
40.69

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1404685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机中MCU跑RTOS相比裸机的优势

经常有读者问关于RTOS的问题&#xff0c;比如&#xff1a;我现在要不要学习RTOS&#xff1f; 学习RTOS有什么好处&#xff1f; 我的项目要不要跑RTOS&#xff1f; 问这些问题&#xff0c;其实归根结底还是对RTOS理解的不够&#xff0c;项目开发的经验还不足等。针对这部分朋友…

PyTorch 内 LibTorch/TorchScript 的使用

PyTorch 内 LibTorch/TorchScript 的使用 1. .pt .pth .bin .onnx 格式1.1 模型的保存与加载到底在做什么&#xff1f;1.2 为什么要约定格式&#xff1f;1.3 格式汇总1.3.1 .pt .pth 格式1.3.2 .bin 格式1.3.3 直接保存完整模型1.3.4 .onnx 格式1.3.5 jit.trace1.3.6 jit.scrip…

品牌价值的累积与倍增:指数函数的含义及其在企业运营中的应用

品牌的价值日益凸显。品牌价值的累积与倍增不仅是企业追求的目标&#xff0c;也是市场竞争的重要标志。指数函数作为一种数学模型&#xff0c;对于描述品牌价值的增长具有重要意义。本文将深入探讨指数函数的含义及其在企业运营中的应用&#xff0c;并分析如何通过持续创新、品…

Unity 抽象工厂模式(实例详解)

文章目录 简介实例1实例2 简介 抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一种方式来封装一组相关或相互依赖对象的创建过程&#xff0c;而无需指定具体类。这种模式常用于系统中有多组相关产品族&#xff0c;且客户端需要使用不同产品族中的对象时。 在Unity中&a…

canvas绘制旋转的椭圆花

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

Java 设计者模式以及与Spring关系(四) 代理模式

目录 简介: 23设计者模式以及重点模式 代理模式&#xff08;Proxy Pattern&#xff09; 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁&#xff0c;但不推荐) 2.基于CGLIB实现 spring中应用 …

第137期 Oracle的数据生命周期管理(20240123)

数据库管理137期 2024-01-23 第137期 Oracle的数据生命周期管理&#xff08;20240123&#xff09;1 ILM2 Heat Map3 ADO4 优点5 对比总结 第137期 Oracle的数据生命周期管理&#xff08;20240123&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Orac…

图灵日记之java奇妙历险记--异常包装类泛型

目录 异常概念与体系结构异常的分类异常的处理防御式编程异常的抛出异常的捕获异常声明throwstry-catch捕获并处理 自定义异常类 包装类基本数据类型及其对应包装类装箱和拆箱 泛型泛型使用类型推导 裸类型说明 泛型的编译机制泛型的上界语法 异常概念与体系结构 在java中,将程…

《SPSS统计学基础与实证研究应用精解》视频讲解:SPSS数据排序

《SPSS统计学基础与实证研究应用精解》4.6 视频讲解 视频为《SPSS统计学基础与实证研究应用精解》张甜 杨维忠著 清华大学出版社 一书的随书赠送视频讲解4.6节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。本书旨在手把手教会使…

智能机器人与旋量代数(9)

Chapt 3. 螺旋运动与旋量代数 3.1 螺旋运动 螺旋运动是关于一条空间直线的一个旋转运动&#xff0c;并伴随沿此直线的一个平移。是一种刚体绕空间轴 s s s旋转 θ \theta θ角&#xff0c;再沿该轴平移距离 d d d的复合运动&#xff0c;类似螺母沿螺纹做进给运动的情形。 一…

x-cmd pkg | dasel - JSON、YAML、TOML、XML、CSV 数据的查询和修改工具

目录 简介首次用户快速实验指南基本功能性能特点竞品进一步探索 简介 dasel&#xff0c;是数据&#xff08;data&#xff09;和 选择器&#xff08;selector&#xff09;的简写&#xff0c;该工具使用选择器查询和修改数据结构。 支持 JSON&#xff0c;YAML&#xff0c;TOML&…

SQL提示与索引终章

✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL-进阶篇 &#x1f4dc; 感谢大家的关注&#xff01; ❤️ 可以关注黑马IT&#xff0c;进行学习 目录 &#x1f680;SQL提示 &#x1f680;覆盖索引 &#x1f680;前缀索引 &…

科技、文化与旅游的融合创新:智慧文旅的未来之路

在当今社会&#xff0c;科技、文化与旅游的融合已经成为文旅产业转型升级的重要趋势。这种融合不仅有助于提升文旅产业的核心竞争力&#xff0c;更有助于推动产业的数字化转型和可持续发展。 本文将深入探讨科技、文化与旅游的融合创新&#xff0c;以及智慧文旅场景的解决方案…

Unity3d引擎中使用AIGC生成的360全景图(天空盒)

前言 在这里与Skybox AI一起&#xff0c;一键打造体验无限的360世界&#xff0c;这是这个AIGC一键生成全景图的网站欢迎语。 刚使用它是23年中旬&#xff0c;在没有空去给客户实地拍摄全景图时&#xff0c;可以快速用它生成一些相关的全景图&#xff0c;用作前期沟通的VR de…

【第十四课】并查集(acwing-837连通块中点的数量 / c++代码 / 思路详解)

目录 思路 代码如下 一些解释 思路 由于这道题是在并查集这个知识点下面&#xff0c;所以自然我们直接将无向图及之间连线的表示模型化为我们并查集的模板(或许其实也并不难想到?)&#xff0c;要解释一下的话就是&#xff1a;我们将无向图中的每个顶点当作一个集合&…

JSON简单了解

文章目录 1、JSON介绍2、ES6模版字符串3、JS对象转化为JSON字符串3.1、手动JS对象转化为JSON字符串3.2、自动JS对象转化为JSON字符串 4、JS对象和java互相转换 1、JSON介绍 JSON 概念&#xff1a;JavaScript Object Notation。JavaScript 对象表示法&#xff0c;简单理解JSON是…

C++参悟:数值运算相关

数值运算相关 一、概述二、常用数学函数1. 基础运算1. 浮点值的绝对值&#xff08; |x| &#xff09;2. 浮点除法运算的余数3. 除法运算的有符号余数4. 除法运算的有符号余数和最后三个二进制位5. 混合的乘加运算6. 两个浮点值的较大者7. 两个浮点值的较小者8. 两个浮点值的正数…

个人云服务器docker搭建部署前后端应用-myos

var code "87c5235c-b551-45bb-a5e4-9593cb104663" mysql、redis、nginx、java应用、前端应用部署 本文以单台云服务器为例&#xff1a; 1. 使用腾讯云服务器 阿里或其他云服务器皆可&#xff0c;类似 安装系统&#xff0c;现在服务器系统都集成安装了docker镜像&a…

仓库管理系统

仓库管理系统 项目环境要求 1.设备支持&#xff1a;Windows7、Windows8或Windows10&#xff1b; 2.数据库&#xff1a;Mysql 8.0&#xff1b; 3.软件支持&#xff1a;eclipse、navicat 需求分析 需求分析阶段的根本任务是要明确仓库管理系统功能需求&#xff0c;以便提出整个系…

Mapbox加载浙江省天地图服务和数据处理

1. 加载影像服务 通过浙江省天地图官网申请所需服务&#xff0c;使用token获取服务数据 由于浙江省天地图使用的坐标系是 cgcs2000&#xff0c;需要使用 的框架对应为 cgcs2000/mapbox-gl&#xff0c;通过cdn引入或npm下载 影像服务地址为&#xff1a; ‘https://ditu.zjzw…