三次埃尔米特曲线 C++代码
时间: 2023-08-26 09:05:11 浏览: 42
以下是三次埃尔米特曲线 C 代码:
```c
#include <graphics.h>
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
// 设置起点和终点
int x1 = 100, y1 = 100, x4 = 400, y4 = 400;
// 设置控制点
int x2 = 150, y2 = 250, x3 = 350, y3 = 150;
// 绘制三次埃尔米特曲线
setcolor(RED);
moveto(x1, y1);
for (float t = 0.0; t <= 1.0; t += 0.001) {
float x = pow(1-t, 3)*x1 + 3*t*pow(1-t, 2)*x2 + 3*pow(t, 2)*(1-t)*x3 + pow(t, 3)*x4;
float y = pow(1-t, 3)*y1 + 3*t*pow(1-t, 2)*y2 + 3*pow(t, 2)*(1-t)*y3 + pow(t, 3)*y4;
lineto(x, y);
}
getch();
closegraph();
return 0;
}
```
在此示例中,我们使用 `pow()` 函数来计算曲线上每个点的坐标。在循环中,我们使用 `t`(从0到1变化)来计算 `x` 和 `y` 坐标,并使用 `moveto()` 和 `lineto()` 函数来绘制曲线。