解题思路:我们已知三个点分别是抛物线顶点,直线交于抛物线的两点。求出两条线的解析式然后用定积分公式就解决了。那么,难点来了,怎么求这个直线和抛物线的解析式呢?直线的解析式我们已知两点,用两点斜率公式求出斜率k,然后回待直线方程中求出与y轴的交点的纵坐标L,之后看看抛物线,因为知道顶点横坐标,即抛物线的对称轴,x1=-b/2*a,如果求出a,b之后我们就可以带入假设的抛物线坐标方程y=ax^2+bx+c中,就求出c。a怎么求呢?起初我是联立两条线的方程后作差,即:

/*ax2^2+bx2+c=kx2+l    ①
ax3^2+bx3+c=kx3+l    ②
由①-②:
a(x2^2-x3^2)+b(x2-x3)=k(x2-x3)
==> a(x2+x3)(x2-x3)+b(x2-x3)=k(x2-x3)
==> (x2-x3)(a(x2+x3)+b)=k(x2-x3)
两边同时消去(x2-x3):
a(x2+x3)+b=k    ③
又 x1=-b/(2a) ==> b=-2ax1     ④
由③,④得:
a=k/(x2+x3-2x1)   (x2+x3!=2x1)  ==>直线斜率不为0*/

但是当直线斜率为0时分母就会为0,显然不成立。这时候怎么求这个a呢?后来想要用矩阵化成最简式,然后对应的a,b,c的解就能够得出来了,不过计算量好复杂,ps。后来看了别人求抛物线的方程才知道我一开始就偏了。既然知道顶点的坐标,直接设顶点式:y=a(x-x1)^2+y1,然后待如一点就求出a了,其实这里的a和y=ax^2+bx+c的a是等同的,所以直接改一下a的求法就AC了。a=(y2-y1)/((x2-x1)^2)  !!

还有注意的点就是算式子的时候我下面代码求面积注释的那种写法不能用,可能乘完再除和除完乘的精度不一样使得答案不一样

AC代码如下:

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<algorithm>
#include<queue>
#include<map>
#include<math.h>
using namespace std;double S(double x1,double y1,double x2,double y2,double x3,double y3)
{double k,l,a,b,c,s;k=1.0*(y2-y3)/(x2-x3);l=y2-k*x2;//a=1.0*k/(x2+x3-2*x1);  当斜率为0时不成立a=1.0*(y2-y1)/((x2-x1)*(x2-x1));b=-2*a*x1;c=y1-a*x1*x1-b*x1;//s=1.0*x3*(x3*(a*x3/3.0+(b-k)/2.0)+c-l)-1.0*x2*(x2*(a*x2/3.0-(b-k)/2.0)+c-l);s=(1.0*a*x3*x3*x3/3.0+(b-k)*x3*x3/2.0+(c-l)*x3)-(1.0*a*x2*x2*x2/3.0+(b-k)*x2*x2/2.0+(c-l)*x2);return s;
}int main()
{double x1,y1,x2,y2,x3,y3,a,b,c,k,l,s;int t;cin>>t;while(t--){cin>>x1>>y1>>x2>>y2>>x3>>y3;//y=k*x+l   y=a*x^2+b*x+cs=S(x1,y1,x2,y2,x3,y3);printf("%.2lf\n",s);}return 0;
}

积分公式的东西就不说了

HDU1071微积分公式求曲线面积相关推荐

  1. 使用行列式公式求多边形面积

    namespace SKJZ {namespace lib{public struct Point { public float x, y;}public class Polygon{/// < ...

  2. HDU4386-海伦公式求四边形面积

    题意:给出四条边长求四条边长最大面积. 不难发现凸四边形的面积最大,并且该四边形的端点在一个圆上,如果a+b+c<=d (d为最长边),那么不能组成四边形输出-1,其他情况根据公式s=sqrt( ...

  3. 【无标题】java求等腰梯形面积

    由于学校即将进行java期末考试,为了应对复习需要,需要一个通过上底,下底,斜边求等腰梯形的面积.其他文章都是通过求高的方式求等腰梯形面积的,所以我苦思良久,写下了这段代码.我通过勾股定理间接求梯形的 ...

  4. 求封闭曲线面积vc代码_圆锥曲线综合5个类型,逐一突破

    (一)求圆锥曲线方程 求圆锥曲线方程分为五个类型,求解策略一般有以下几种: ①几何分析+方程思想: ②设而不求+韦达定理 ③定义+数形结合: ④参数法+方程思想 类型1--待定系数法 待定系数法本质就 ...

  5. c#中计算三角形面积公式_高中数学|向量公式之用平面向量求三角形面积

    高中数学|数列求和的几种策略 点击上方蓝字关注"公众号" 向量公式之 用平面向量求三角形面积 在学习向量时,我们能体会到向量的表达形式的多样化和直观性,而这些特点使解题更加简洁,可 ...

  6. python输入正方形面积公式_scanf()函数的调用:编写求正方形面积的通用程序

    #includevoid main(){ int a, area; scanf("%d",&a); //等待用户从键盘输入一个整数// area=a*a; printf(& ...

  7. 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧

    已知三个点坐标求 三角形面积 由A-->B-->C-->A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)*(下面行列式) |x1 y1 1| |x2 y2 ...

  8. 17种求三角形面积的公式,从平面到立体

    现在网络上和老师可能都给孩子们总结了很多有关三角形面积公式,但都是缺篇少量的.今天小编给大家分享的这份三角形面积计算公式绝对可以颠覆你对三角形面积计算的认识,以后遇到类似的题目只要直接套用公式即可.我 ...

  9. 坐标系中求三角形面积的三种方法(鞋带公式、海伦公式、三角形面积公式)

    力扣每日一题: 力扣https://leetcode.cn/problems/largest-triangle-area/ 一.鞋带公式 1.1 鞋带公式定义 Shoelace公式,也叫高斯面积公式, ...

  10. 输入三角形的三c语言程序,请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出...

    导航:网站首页 > 请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出 请问c语言中 从键盘输入三角形的3边 调 ...

最新文章

  1. Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合
  2. ajax(jquery)前后台传数组(Springmvc后台)
  3. string转换成enum
  4. linux用户和用户组
  5. 宅在家里写数据库中DQL(查询)
  6. opencv stereo match sample
  7. matplotlib 无法显示中文字体的解决方法
  8. 打造自己的 nodejs 静态文件服务器(帖子内容,直接复制别人的)
  9. Docker版本Omnibus Gitlab 加Lets Encrypt免费SSL一键搭建
  10. 7.Docker技术入门与实战 --- 端口映射与容器互联
  11. 手电筒安卓_王思聪吃热狗数字时钟app安卓android苹果ios
  12. 高级项目经理的企业需求、企业地位
  13. Exp3 免杀原理与实践 20164323段钊阳
  14. 《C语言入门经典》Ivor Horton第十章练习题1
  15. 异常:egret获取引擎列表失败
  16. python300行代码_Python:游戏:300行代码实现俄罗斯方块
  17. 线程实用解析--------(六)Control.Invoke()和Control.BeginInvoke()
  18. Mac android studio 环境搭建和真机运行
  19. mybatis按姓名或手机号搜索
  20. Openssl Aes加解密使用示例

热门文章

  1. 如何使用JGIT在远程仓库获取提交详情记录
  2. 微信小程序如何实现点击链接跳转到手机自带浏览器
  3. Anaconda / Miniconda 镜像 - 清华大学开源软件镜像站
  4. 量子测量 量子计算 量子通讯 概述
  5. SOLD2算法详解之2: 特征点检测,点NMS(CVPR 2021)
  6. latex 插图 上下放_专辑插图中上下文中的文本
  7. HIBOX/OPENBOX接收JBS、蜻蜓的遥控器设置
  8. 92套AE抖音快闪模板(精品)
  9. android view viewgroup 区别,Android笔记:View ViewGroup 对比
  10. JAVA日期转换函数(包括:日期、周数的计算)