Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа4 / surface
.h#include "line.h"
class Surface
{
public:
Surface() : ready(false) {}
Surface(const SpLine& bc1, const SpLine& bc2,
const SpLine& bc3)
{
SetSurface(bc1, bc2, bc3);
}
void SetSurface(const SpLine bc1, const SpLine bc2,
const SpLine& bc3)
{
ready = true;
U = bc1;
V = bc2;
W = bc3;
}
Point GetPoint(double u, double v)
{
assert(ready);
Point r1 = V.P[0] - V.P[1];
Point r2 = V.P[3] - V.P[2];
Point pt[4];
pt[0] = U.GetPoint(u);
pt[3] = W.GetPoint(u);
pt[1] = pt[0] - r1;
pt[2] = pt[3] - r2;
SpLine bc(pt[0], pt[1], pt[2], pt[3]);
Point result = bc.GetPoint(v);
return result;
}
private:
bool ready;
SpLine U, V, W;
};
Соседние файлы в папке Лабораторная работа4