Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
LEFEBVREJP email
radix
Commits
3d6fd6d3
Commit
3d6fd6d3
authored
Oct 03, 2018
by
LEFEBVREJP email
Browse files
Further work on chaikins method.
parent
c9137829
Pipeline
#16067
failed with stages
in 359 minutes and 20 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
radixalgorithm/chaikins.i.hh
View file @
3d6fd6d3
...
...
@@ -16,9 +16,18 @@ std::vector<std::pair<data_type, data_type>> chaikins(
size_t
sequence
)
{
std
::
vector
<
std
::
pair
<
data_type
,
data_type
>>
result
(
control_polygon
.
size
()
*
(
sequence
+
1
));
for
(
size_t
s
i
=
0
;
s
i
<
sequence
;
++
si
)
(
sequence
));
for
(
size_t
p
i
=
0
;
p
i
<
control_polygon
.
size
();
pi
+=
2
)
{
std
::
pair
<
data_type
,
data_type
>
p1
=
translate
(
control_polygon
[
pi
]);
std
::
pair
<
data_type
,
data_type
>
p2
=
translate
(
control_polygon
[
pi
+
1
]);
std
::
pair
<
data_type
,
data_type
>
qi
=
std
::
make_pair
(
p1
.
first
*
.75
+
p2
.
first
*
.25
,
p1
.
second
*
.75
+
p2
.
second
*
.25
);
std
::
pair
<
data_type
,
data_type
>
ri
=
std
::
make_pair
(
p1
.
first
*
.25
+
p2
.
first
*
.75
,
p1
.
second
*
.25
+
p2
.
second
*
.75
);
result
[
pi
]
=
qi
;
result
[
pi
+
1
]
=
ri
;
}
return
result
;
}
...
...
radixalgorithm/tests/tstChaikins.cc
View file @
3d6fd6d3
...
...
@@ -22,9 +22,17 @@ TEST(RadixChaikins, Simple)
return
std
::
make_pair
(
10.
f
*
float
(
point
.
first
),
10.
f
*
float
(
point
.
second
));
};
std
::
vector
<
std
::
pair
<
float
,
float
>>
result
=
std
::
vector
<
std
::
pair
<
float
,
float
>>
result
s
=
chaikins
<
float
>
(
control_polygon
,
tranlate
);
size_t
i
=
0
;
for
(
const
auto
&
point
:
results
)
{
std
::
cout
<<
i
<<
". ["
<<
point
.
first
<<
","
<<
point
.
second
<<
"]"
<<
std
::
endl
;
i
++
;
}
std
::
vector
<
std
::
pair
<
float
,
float
>>
blessed
{
{
10.
f
,
20.
f
},
{
10.
f
,
30.
f
},
{
10.
f
,
40.
f
},
{
20.
f
,
40.
f
},
{
30.
f
,
40.
f
},
{
40.
f
,
40.
f
},
{
40.
f
,
30.
f
},
{
50.
f
,
30.
f
},
{
60.
f
,
30.
f
},
{
70.
f
,
30.
f
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment