GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
Projection.hh
Go to the documentation of this file.
1
3{
4 float start;
5 float end;
6};
7
9{
10 LineRange x;
11 LineRange y;
12};
13
15{
16 LineRange x;
17 LineRange y;
18 LineRange z;
19};
20
21float LineRangePoint(const LineRange &r, float m)
22{
23 return r.start + m*(r.end-r.start);
24}
25Point2d PlaneRangePoint(const PlaneRange &r, float mx, float my)
26{
27 float x = LineRangePoint(r.x, mx);
28 float y = LineRangePoint(r.y, my);
29 Point2d p;
30 p.x = x;
31 p.y = y;
32 return p;
33}
34Point CubeRangePoint(const CubeRange &r, float mx, float my, float mz)
35{
36 float x = LineRangePoint(r.x, mx);
37 float y = LineRangePoint(r.y, my);
38 float z = LineRangePoint(r.z, mz);
39 Point p(x,y,z);
40 return p;
41}
42
43std::pair<Point2d, Point2d> Projection(Point p)
44{ // equation (x,y1=y2, z)
45 Point2d p1;
46 p1.x = p.x;
47 p1.y = p.y;
48 Point2d p2;
49 p2.x = p.z;
50 p2.y = p.y;
51 return std::make_pair(p1,p2);
52}
53
54Point IntersectCurve(Function<float, float> &f1, Function<float,float> &f2, float y) // f1 :: y->x, f2 :: y->z
55{
56 Point p1;
57 p1.x = f1.Index(y);
58 p1.y = y;
59 p1.z = f2.Index(y);
60 return p1; // (x,z)
61}
62
63
64
65class Curve2dFunction : public Function<float,float>
66{
67 Curve2dFunction(Curve<Point2d> &c, float y, float num) : c(c), y(y), num(num) { }
68 // TODO, NEEDS solving equations for floats
69 float Index(float x) const
70 {
71 ChooseX2d xx(c);
72 ChooseY2d yy(c);
73 float pos = FindRoot(xx, num);
74
75 }
76private:
78 float y;
79 float num;
80};
float FindRoot(Function< float, float > &f, float x)
Definition Equalizer.hh:1756
Point IntersectCurve(Function< float, float > &f1, Function< float, float > &f2, float y)
Definition Projection.hh:54
Point CubeRangePoint(const CubeRange &r, float mx, float my, float mz)
Definition Projection.hh:34
Point2d PlaneRangePoint(const PlaneRange &r, float mx, float my)
Definition Projection.hh:25
std::pair< Point2d, Point2d > Projection(Point p)
Definition Projection.hh:43
float LineRangePoint(const LineRange &r, float m)
Definition Projection.hh:21
Definition Equalizer.hh:1738
Definition Equalizer.hh:1747
Definition Projection.hh:15
Definition EffectI.hh:30
Definition EffectI.hh:11
virtual B Index(A a) const =0
Definition Projection.hh:3
Definition Projection.hh:9
int f2(char c)
Definition test.cpp:51
Definition VectorTools.hh:910
float x
Definition VectorTools.hh:911
float y
Definition VectorTools.hh:911
Definition Parser.cc:60
float x
Definition Parser.cc:60
float y
Definition Parser.cc:60
float z
Definition Parser.cc:60
num
Definition view.php:2821