hdu1071(拋物線弓形面積阿基公尺德演算法)

2022-02-20 03:22:18 字數 1280 閱讀 7689

題意:給出拋物線的頂點和它與一直線的兩交點,求他們圍成的面積;

思路:可以直接求出他們的方程式,再積分,這個方法就不說了;

偶然看見另乙個解法,覺得蠻有意思的,就記一下好了。。

設 y=a*x*x+b*x+c;代入已知的三個點座標,用行列式解三元三次方程組解出a, b, c;

直線的斜率可以通過p2, p3兩點求出, k=(y3-y2)/(x3-x2);

對y=a*x*x+b*x+c求導得:y*=2*a*x+b=k;

可以解出x,反代入拋物線方程式中求出y;

現在我們已經求出了切點p(x, y),接下來還需要求一下三角形面積pp2p3面積s;

已知三點求三角形面積我們可以通過構造梯形再減去兩個直角三角形面積得到;

推導初的面積公式為:s=(x*y2+y*x3+x2*y3-x*y3-y*x2-y2*x3)/2;

**:

1 #include 2 #include 3 #include 4

#define pi 3.1415926

5#define inf 10000

6using

namespace

std;78

double matrix(int n, double a[3][3])

1314

int main(void

);21

double matrix2[3][3]=;

22double matrix3[3][3]=;

23double matrix4[3][3]=;

24double a=matrix(3

, matrix1);

25double b=matrix(3

, matrix2);

26double c=matrix(3

, matrix3);

27double d=matrix(3

, matrix4);

28 a/=d;

29 b/=d;

30 c/=d;

31double k=(y3-y2)/(x3-x2);

32double x=(k-b)/(2*a);

33double y=a*x*x+b*x+c;

34double cnt=(x*y2+y*x3+x2*y3-x*y3-y*x2-y2*x3)/2

;35 printf("

%.2lf\n

", cnt*4/3

);36}37

return0;

38 }

hdu1071 拋物線弓形面積阿基公尺德演算法

題意 給出拋物線的頂點和它與一直線的兩交點,求他們圍成的面積 思路 可以直接求出他們的方程式,再積分,這個方法就不說了 偶然看見另乙個解法,覺得蠻有意思的,就記一下好了。設 y a x x b x c 代入已知的三個點座標,用行列式解三元三次方程組解出a,b,c 直線的斜率可以通過p2,p3兩點求出...

cad拋物線曲線lisp CAD能畫拋物線嗎?

方法一 1.在excel生成座標x,y列 x為分段值控制曲線精度,y為公式計算的對應值 2.假定excel中x數值在a列,y數值在b列,生成acad的pline繪圖資料,方法如下 1 在新的列單元 如c列 輸入公式 an bn n為資料的行號 按次辦法將an及bn單元格中的資料在cn單元格中形成 x...

拋物線交點式公式 拋物線公式大全

拋物線方程是指拋物線的軌跡方程,是一種用方程來表示拋物線的方法。在幾何平面上可以根據拋物線的方程畫出拋物線。拋物線在合適的座標變換下,也可看成二次函式影象。拋物線方程公式 一般式 ax2 bx c a b c為常數,a 0 頂點式 y a x h 2 k a h k為常數,a 0 交點式 兩根式 y...