添加单目估距。

This commit is contained in:
xinyang
2019-07-10 13:09:42 +08:00
parent 5c6d96425b
commit 747fb58eb8
12 changed files with 12554 additions and 12542 deletions

View File

@@ -15,7 +15,8 @@
/* */ /* */
/*===========================================================================*/ /*===========================================================================*/
#define LOG_LEVEL LOG_NONE //#define LOG_LEVEL LOG_NONE
#include <log.h> #include <log.h>
#include <options/options.h> #include <options/options.h>
#include <show_images/show_images.h> #include <show_images/show_images.h>
@@ -35,32 +36,33 @@ std::map<string, int> name2id = { //装甲板名
}; };
ArmorFinder::ArmorFinder(uint8_t &color, Serial &u, const string &paras_folder, const uint8_t &use) : ArmorFinder::ArmorFinder(uint8_t &color, Serial &u, const string &paras_folder, const uint8_t &use) :
serial(u), serial(u),
enemy_color(color), enemy_color(color),
state(STANDBY_STATE), state(STANDBY_STATE),
classifier(paras_folder), classifier(paras_folder),
contour_area(0), contour_area(0),
use_classifier(use), use_classifier(use),
boxid(-1), boxid(-1),
tracking_cnt(0) tracking_cnt(0) {
{
} }
extern int box_distance;
void ArmorFinder::run(cv::Mat &src) { void ArmorFinder::run(cv::Mat &src) {
cv::Mat src_use = src.clone(); // 实际参与计算的图像对象 cv::Mat src_use = src.clone(); // 实际参与计算的图像对象
if(show_armor_box){ // 根据条件显示当前目标装甲板 if (show_armor_box) { // 根据条件显示当前目标装甲板
showArmorBox("box", src, armor_box, boxid); showArmorBox("box", src, armor_box, boxid);
cv::waitKey(1); cv::waitKey(1);
} }
// stateSearchingTarget(src_use); // for debug // stateSearchingTarget(src_use); // for debug
// return; // return;
switch (state){ switch (state) {
case SEARCHING_STATE: case SEARCHING_STATE:
if(stateSearchingTarget(src_use)){ if (stateSearchingTarget(src_use)) {
if((armor_box & cv::Rect2d(0, 0, 640, 480)) == armor_box) { // 判断装甲板区域是否脱离图像区域 if ((armor_box & cv::Rect2d(0, 0, 640, 480)) == armor_box) { // 判断装甲板区域是否脱离图像区域
if(!classifier || !use_classifier){ /* 如果分类器不可用或者不使用分类器 */ if (!classifier || !use_classifier) { /* 如果分类器不可用或者不使用分类器 */
cv::Mat roi = src_use.clone()(armor_box), roi_gray; /* 就使用装甲区域亮点数判断是否跟丢 */ cv::Mat roi = src_use.clone()(armor_box), roi_gray; /* 就使用装甲区域亮点数判断是否跟丢 */
cv::cvtColor(roi, roi_gray, CV_RGB2GRAY); cv::cvtColor(roi, roi_gray, CV_RGB2GRAY);
cv::threshold(roi_gray, roi_gray, 180, 255, cv::THRESH_BINARY); cv::threshold(roi_gray, roi_gray, 180, 255, cv::THRESH_BINARY);
contour_area = cv::countNonZero(roi_gray); contour_area = cv::countNonZero(roi_gray);
@@ -69,14 +71,14 @@ void ArmorFinder::run(cv::Mat &src) {
tracker->init(src_use, armor_box); tracker->init(src_use, armor_box);
state = TRACKING_STATE; state = TRACKING_STATE;
tracking_cnt = 0; tracking_cnt = 0;
LOGM(STR_CTR(WORD_LIGHT_CYAN, "into track")); // LOGM(STR_CTR(WORD_LIGHT_CYAN, "into track"));
} }
} }
break; break;
case TRACKING_STATE: case TRACKING_STATE:
if(!stateTrackingTarget(src_use) || ++tracking_cnt>100){ // 最多追踪100帧图像 if (!stateTrackingTarget(src_use) || ++tracking_cnt > 100) { // 最多追踪100帧图像
state = SEARCHING_STATE; state = SEARCHING_STATE;
LOGM(STR_CTR(WORD_LIGHT_YELLOW ,"into search!")); // LOGM(STR_CTR(WORD_LIGHT_YELLOW, "into search!"));
} }
break; break;
case STANDBY_STATE: case STANDBY_STATE:
@@ -85,42 +87,46 @@ void ArmorFinder::run(cv::Mat &src) {
} }
} }
bool sendTarget(Serial& serial, double x, double y, double z) { bool sendTarget(Serial &serial, double x, double y, double z) {
static short x_tmp, y_tmp, z_tmp; static short x_tmp, y_tmp, z_tmp;
static time_t last_time = time(nullptr); static time_t last_time = time(nullptr);
static int fps; static int fps;
uint8_t buff[8]; uint8_t buff[8];
time_t t = time(nullptr); time_t t = time(nullptr);
if (last_time != t) { if (last_time != t) {
last_time = t; last_time = t;
cout << "fps:" << fps << ", (" << x << "," << y << "," << z << ")" << endl; cout << "fps:" << fps << ", (" << x << "," << y << "," << z << ")" << endl;
fps = 0; fps = 0;
} }
fps += 1; fps += 1;
x_tmp = static_cast<short>(x * (32768 - 1) / 100); x_tmp = static_cast<short>(x * (32768 - 1) / 100);
y_tmp = static_cast<short>(y * (32768 - 1) / 100); y_tmp = static_cast<short>(y * (32768 - 1) / 100);
z_tmp = static_cast<short>(z * (32768 - 1) / 1000); z_tmp = static_cast<short>(z * (32768 - 1) / 1000);
buff[0] = 's'; buff[0] = 's';
buff[1] = static_cast<char>((x_tmp >> 8) & 0xFF); buff[1] = static_cast<char>((x_tmp >> 8) & 0xFF);
buff[2] = static_cast<char>((x_tmp >> 0) & 0xFF); buff[2] = static_cast<char>((x_tmp >> 0) & 0xFF);
buff[3] = static_cast<char>((y_tmp >> 8) & 0xFF); buff[3] = static_cast<char>((y_tmp >> 8) & 0xFF);
buff[4] = static_cast<char>((y_tmp >> 0) & 0xFF); buff[4] = static_cast<char>((y_tmp >> 0) & 0xFF);
buff[5] = static_cast<char>((z_tmp >> 8) & 0xFF); buff[5] = static_cast<char>((z_tmp >> 8) & 0xFF);
buff[6] = static_cast<char>((z_tmp >> 0) & 0xFF); buff[6] = static_cast<char>((z_tmp >> 0) & 0xFF);
buff[7] = 'e'; buff[7] = 'e';
return serial.WriteData(buff, sizeof(buff)); return serial.WriteData(buff, sizeof(buff));
} }
#define DISTANCE_HEIGHT_5MM (113.0) // 单位: m*pixel
#define DISTANCE_HEIGHT DISTANCE_HEIGHT_5MM
bool ArmorFinder::sendBoxPosition() { bool ArmorFinder::sendBoxPosition() {
auto rect = armor_box; auto rect = armor_box;
double dx = rect.x + rect.width/2 - 320 - 10; double dx = rect.x + rect.width / 2 - 320;
double dy = rect.y + rect.height/2 - 240 - 20; double dy = rect.y + rect.height / 2 - 240 - 20;
double yaw = atan(dx / FOCUS_PIXAL) * 180 / 3.14159265459; double yaw = atan(dx / FOCUS_PIXAL) * 180 / PI;
double pitch = atan(dy / FOCUS_PIXAL) * 180 / 3.14159265459; double pitch = atan(dy / FOCUS_PIXAL) * 180 / PI;
double dist = DISTANCE_HEIGHT / armor_box.height;
// cout << yaw << endl; // cout << yaw << endl;
return sendTarget(serial, yaw, -pitch, 0); return sendTarget(serial, yaw, -pitch, dist);
} }

View File

@@ -94,7 +94,7 @@ static double nonZeroRateOfRotateRect_opt(const cv::Mat &bin, const cv::RotatedR
} }
static bool isValidLightBlob(const cv::Mat &bin, const cv::RotatedRect &rect) { static bool isValidLightBlob(const cv::Mat &bin, const cv::RotatedRect &rect) {
return (lw_rate(rect) > 1.8) && return (lw_rate(rect) > 1.5) &&
// (rect.size.width*rect.size.height < 3000) && // (rect.size.width*rect.size.height < 3000) &&
(rect.size.width * rect.size.height > 1) && (rect.size.width * rect.size.height > 1) &&
// (nonZeroRateOfRotateRect_opt(bin, rect) > 0.8); // (nonZeroRateOfRotateRect_opt(bin, rect) > 0.8);
@@ -262,13 +262,14 @@ bool ArmorFinder::stateSearchingTarget(cv::Mat &src) {
std::vector<cv::Rect2d> boxes_number[15]; // 装甲板候选区放置在对应id位置 std::vector<cv::Rect2d> boxes_number[15]; // 装甲板候选区放置在对应id位置
armor_box = cv::Rect2d(0, 0, 0, 0); // 重置目标装甲板位置 armor_box = cv::Rect2d(0, 0, 0, 0); // 重置目标装甲板位置
boxid = -1; // 重置目标装甲板id
cv::split(src, channels); /************************/ cv::split(src, channels); /************************/
if (enemy_color == ENEMY_BLUE) /* */ if (enemy_color == ENEMY_BLUE) /* */
color = channels[0]; /* 根据目标颜色进行通道提取 */ color = channels[0]; /* 根据目标颜色进行通道提取 */
else if (enemy_color == ENEMY_RED) /* */ else if (enemy_color == ENEMY_RED) /* */
color = channels[2]; /************************/ color = channels[2]; /************************/
cv::threshold(color, src_bin, 190, 255, CV_THRESH_BINARY); // 二值化对应通道 cv::threshold(color, src_bin, 170, 255, CV_THRESH_BINARY); // 二值化对应通道
imagePreProcess(src_bin); // 开闭运算 imagePreProcess(src_bin); // 开闭运算
if (!findLightBlobs(src_bin, light_blobs)) { if (!findLightBlobs(src_bin, light_blobs)) {
return false; return false;

View File

@@ -1,11 +1,11 @@
/*******************************************************************/ /**********************************************************************/
/* ____ _ _____ _ _ ____ __ __ ______ __ */ /* ____ _ _____ _ _ ____ __ __ ______ __ */
/*/ ___| | |_ _| | | | | _ \| \/ | / ___\ \ / / */ /* / ___| | |_ _| | | | | _ \| \/ | / ___\ \ / / */
/*\___ \ _ | | | | | | | |_____| |_) | |\/| |_____| | \ \ / / */ /* \___ \ _ | | | | | | | |_____| |_) | |\/| |_____| | \ \ / / */
/* ___) | |_| | | | | |_| |_____| _ <| | | |_____| |___ \ V / */ /* ___) | |_| | | | | |_| |_____| _ <| | | |_____| |___ \ V / */
/*|____/ \___/ |_| \___/ |_| \_\_| |_| \____| \_/ */ /* |____/ \___/ |_| \___/ |_| \_\_| |_| \____| \_/ */
/* */ /* */
/*******************************************************************/ /**********************************************************************/
#include <iostream> #include <iostream>
#include <thread> #include <thread>
@@ -27,7 +27,7 @@ using namespace std;
mcu_data mcuData = { // 单片机端回传结构体 mcu_data mcuData = { // 单片机端回传结构体
0, // 当前云台yaw角 0, // 当前云台yaw角
0, // 当前云台pitch角 0, // 当前云台pitch角
SMALL_ENERGY_STATE, // 当前状态,自瞄-大符-小符 ARMOR_STATE, // 当前状态,自瞄-大符-小符
0, // 云台角度标记位 0, // 云台角度标记位
1, // 是否启用数字识别 1, // 是否启用数字识别
ENEMY_RED, // 敌方颜色 ENEMY_RED, // 敌方颜色
@@ -43,6 +43,8 @@ ArmorFinder armorFinder(mcuData.enemy_color, serial, PROJECT_DIR"/tools/para/",
// 能量机关主程序对象 // 能量机关主程序对象
Energy energy(serial, mcuData.enemy_color); Energy energy(serial, mcuData.enemy_color);
int box_distance = 0;
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
process_options(argc, argv); // 处理命令行参数 process_options(argc, argv); // 处理命令行参数
thread receive(uartReceive, &serial); // 开启串口接收线程 thread receive(uartReceive, &serial); // 开启串口接收线程
@@ -120,7 +122,6 @@ int main(int argc, char *argv[]) {
energy.runBig(gimble_src); energy.runBig(gimble_src);
} }
} }
// cv::waitKey(3);
}); });
} while (ok); } while (ok);
delete video_gimble; delete video_gimble;

View File

@@ -54,9 +54,9 @@ def save_para(folder, paras):
save_bias(fp, paras[7]) save_bias(fp, paras[7])
STEPS = 5000 STEPS = 10000
BATCH = 30 BATCH = 30
LEARNING_RATE_BASE = 0.01 LEARNING_RATE_BASE = 0.005
LEARNING_RATE_DECAY = 0.99 LEARNING_RATE_DECAY = 0.99
MOVING_AVERAGE_DECAY = 0.99 MOVING_AVERAGE_DECAY = 0.99
@@ -103,7 +103,7 @@ def train(dataset, show_bar=False):
_, loss_value, step = sess.run( _, loss_value, step = sess.run(
[train_op, loss, global_step], [train_op, loss, global_step],
feed_dict={x: images_samples, y_: labels_samples, keep_rate:0.7} feed_dict={x: images_samples, y_: labels_samples, keep_rate:0.5}
) )
if i % 100 == 0: if i % 100 == 0:
@@ -204,5 +204,9 @@ def train(dataset, show_bar=False):
if __name__ == "__main__": if __name__ == "__main__":
dataset = generate.DataSet("/home/xinyang/Workspace/dataset/box_cut") import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
dataset = generate.DataSet("/home/xinyang/Workspace/box_cut")
train(dataset, show_bar=True) train(dataset, show_bar=True)
input("press enter to continue...")

View File

@@ -1,7 +1,7 @@
6 6
1.0992107 -0.044632435
-0.074966855 -0.02473628
0.6112759 -0.0030768034
0.15176532 0.24577394
0.7093666 0.74099255
0.0066502886 0.83760846

View File

@@ -2,453 +2,453 @@
6 6
5 5
5 5
-0.5127243 -0.26535293
-0.35076743 -0.7057052
-0.94582695 -1.0125909
-1.1496089 -1.3340354
-0.21747248 -1.495565
-0.697151 -0.17923793
-0.31303257 -0.44294497
-0.84063727 -0.727623
-0.60029787 -0.8330653
-0.08752324 -1.1030264
-0.6912181 0.22618154
-0.48108417 0.09645194
-0.877474 0.007988933
-0.56862247 -0.06676202
0.15221412 0.04132599
-0.80212265 0.32757846
-0.460906 0.40264332
-0.67574793 0.43659902
-0.573153 0.19945726
-0.20908366 0.17344357
-0.6616608 0.47801965
-0.30440795 0.38276014
-0.55335987 0.09048866
-0.72610176 -0.06334416
-0.6385564 0.18430263
0.76122427 -0.0821216
0.81860757 -0.014996407
0.5464134 0.20701231
0.58383447 0.488899
0.4142986 0.58319753
0.77620906 0.11771286
0.9103861 0.1965253
0.6147042 0.6358752
0.6851236 0.64802784
0.5385627 0.60001755
0.72658443 0.2554345
0.7194319 0.4315062
0.7030224 0.6018779
0.5585485 0.648897
0.36230496 0.49093586
0.51258016 0.4392625
0.6475413 0.47829357
0.48098332 0.5859732
0.35653463 0.40362874
0.42475638 0.5647167
0.26459572 0.37936094
0.30253762 0.38751897
0.2607581 0.33950707
0.083096296 0.26118782
0.26166555 0.24458277
-0.9131472 -0.296597
-1.5060923 -0.05955656
-1.3316747 -0.08669927
-0.8584581 0.2948263
-0.4393547 0.21256281
-0.51872504 -0.21364267
-0.93602306 -0.11149765
-0.7819688 0.051804803
-0.4840393 0.30273178
-0.27869374 0.37230775
0.11241833 -0.20215505
-0.22918689 0.0075573116
-0.23048288 0.0852658
-0.050663527 0.4057793
-0.17580733 0.43914732
0.57349825 -0.19324225
0.5720818 -0.24100459
0.55744994 0.05862832
0.12896755 0.15438421
0.007070846 0.16637161
1.2535337 -0.30359998
1.1082574 -0.25569716
0.83476424 -0.27166495
0.28564626 -0.105328314
-0.05619757 -0.22731523
-0.681288 -0.49984613
-0.680671 -0.48510763
-0.8557866 -0.61559784
-0.5097621 -0.455915
-0.23541005 -0.5008321
-0.49887782 -0.2473407
-0.64544016 -0.5829683
-0.6693754 -0.31992865
-0.47900042 -0.4633471
-0.30171666 -0.4102413
-0.29214832 -0.37923393
-0.5003537 -0.53175026
-0.58870244 -0.37793508
-0.51416445 -0.22095646
-0.23301734 -0.311128
-0.53337747 -0.3536778
-0.4110472 -0.35127252
-0.5953254 -0.3305521
-0.53674793 -0.3529858
-0.3959848 -0.4037293
-0.7821416 -0.04839398
-0.59215885 -0.22108248
-0.7776034 -0.33264476
-0.63905334 -0.48446456
-0.2501917 -0.3995877
-0.731315 -0.13429332
-0.7205139 0.010297872
-0.73552233 0.011609504
-0.8656195 0.31906354
-0.6493437 0.37465036
-0.48103082 -0.29219627
-0.64334613 0.14352046
-0.43961945 0.20362744
-0.6016135 0.50884646
-0.40041798 0.5390908
-0.27768084 -0.33872694
-0.2570607 0.20858169
-0.2724738 0.43735874
-0.2884815 0.8135085
-0.14519088 0.883336
-0.47138828 -0.5109052
-0.3118455 0.12871116
-0.3317675 0.5575856
-0.4970204 0.7935451
-0.17755331 0.9575268
-0.61731154 -0.23053701
-0.7118463 0.27344263
-0.6186997 0.7943212
-0.41463384 1.1113379
-0.27342835 1.2588514
0.11280696 -0.33160424
-0.027138332 -0.44694212
-0.6500771 -0.6180945
-1.3383414 -0.50343496
-1.6513624 -0.49336222
0.15870772 -0.35408464
0.10310151 -0.28353223
-0.4998225 -0.30269137
-1.3604605 -0.4561699
-1.8239882 -0.29882556
0.41981518 -0.34760386
0.23697153 -0.37878114
-0.1876976 -0.26912686
-0.75823486 -0.35775197
-1.4496676 -0.30568978
0.7480236 -0.20146766
0.53772146 -0.19798744
0.32832542 -0.114498556
-0.20044523 -0.19717412
-0.744269 -0.3251374
0.5854269 -0.26690894
0.7915991 -0.22016314
0.46373495 -0.11541117
0.19664662 -0.4957958
-0.24780232 -0.26541355
0.6508635 -0.15326017
0.577399 -0.70882344
-0.7515515 -0.96359867
-2.703382 -1.3611866
-3.039032 -1.605483
0.8525215 -0.17858846
0.6836974 -0.54938656
-0.3311209 -0.7686302
-1.7767388 -0.93810904
-2.5821877 -0.9051225
0.8349875 0.4606456
0.798852 0.20901297
0.086425625 0.08945545
-0.67867047 0.038989723
-1.8428398 -0.115543194
1.2035539 0.6883734
1.1889999 0.61636794
0.7316317 0.32829562
-0.3872895 0.20456453
-1.4929688 0.20381331
1.2547168 0.7490181
1.3532602 0.39298984
0.7932933 0.15692492
-0.62973267 0.24636583
-1.9478854 0.059405174
0.21208195 0.20725746
0.18403792 0.07551979
0.054463003 0.17064182
-0.15276414 0.2592053
0.20949952 0.037809186
0.23891807 0.5007032
0.17854711 0.5921481
-0.06374925 0.46789166
0.1451161 0.44644225
0.034864046 -0.16052496
0.26884222 0.76230866
0.21525136 1.1162679
-0.06312853 0.8799321
0.0147968 0.6447877
0.11538528 -0.12332682
0.056850336 0.96165085
-0.0066543873 1.0181384
-0.11392982 0.7748322
-0.39074197 0.40093315
-0.009082649 -0.17099509
-0.07041612 0.99313635
-0.27938405 0.86373013
-0.53290427 0.5271114
-0.46564633 0.19454676
-0.1038565 -0.3509476
-2.7360635 -0.1295465
-2.2902381 0.040321454
-1.5043008 0.3640776
-0.47565868 0.64294934
0.43513355 0.6150852
-1.887743 -0.13365914
-1.3883648 0.37921637
-0.72364897 0.58487916
0.2942578 0.8379385
0.5935792 0.80104876
-0.80072504 0.08945268
-0.3620903 0.5208987
0.30662987 0.6399664
0.6962239 0.9313748
0.8277674 0.727166
0.31633973 0.32375735
0.69582015 0.34653613
1.1589135 0.47853357
1.0656666 0.70951927
0.8970892 0.43087223
0.8714312 -0.06955103
1.6066691 0.25875103
1.6423852 0.33873367
1.3843498 0.30608082
0.70298105 -0.13635787
0.16647044 0.13803233
-0.19141927 0.28747115
0.06161116 0.09032165
-0.13610205 0.23143204
0.022933247 0.15198255
0.3518144 0.33351222
0.22493687 0.29324102
0.3335425 0.2810298
0.17380953 0.2014299
0.489461 0.15906747
0.29505125 0.16468719
0.23336394 0.14636204
0.3280449 0.21616192
0.48822153 -0.07501595
0.6122305 0.051478628
0.40447977 0.19850366
0.27890772 0.22271842
0.3578474 0.18884134
0.52127045 0.15053163
0.38970685 0.24925515
0.18272732 0.4595929
0.18300931 0.38655618
0.2970602 0.33695856
0.13007997 -0.0036128734
0.3009802 0.27201694
0.21420936 -1.6174891
0.18111303 -1.9922305
-0.006488328 -2.3272042
0.0036541307 -1.9256268
0.009143832 -1.0908865
0.5293987 -1.7973217
0.61027414 -1.6579907
0.5113341 -1.2995247
0.4642546 -1.1465281
0.35471886 -0.48869833
0.84580845 -1.5161873
0.703846 -1.1474293
0.7211845 -0.77356946
0.97343826 -0.31425732
0.768236 -0.0842949
0.92116314 -1.421809
0.91014177 -0.97220546
0.8906536 -0.22721007
0.7103699 0.32407415
0.81534237 0.78474
0.59721285 -1.1922634
0.76894915 -0.2569034
0.9786482 0.26291567
0.56162304 0.8414706
0.58830947 1.0613292
1.4212193 0.26537752
1.2045107 0.28515804
0.12655553 0.49493128
-1.0669162 0.2746711
-2.0093904 0.4618041
1.4223398 0.18835413
1.0714712 0.48679847
-0.052089177 0.40990183
-1.0957986 0.40310138
-2.114745 0.5737828
1.5610827 0.314077
1.0007412 0.45565963
0.30377847 0.67614084
-0.59364986 0.58846754
-1.6301248 0.5533275
1.5753381 0.26463762
1.3631456 0.58933157
0.9847575 0.4422484
0.09240083 0.72205955
-1.071189 0.6562793
1.6423446 0.38016358
1.5190983 0.5109702
1.1077387 0.6050644
0.34539416 0.51327455
-0.61813635 0.62387556
-0.7005647 -0.20957199
-0.54221815 -0.26713985
-1.5592585 -0.28107443
-2.4405499 -0.21876617
-2.1811392 -0.35003185
-0.627011 -0.021499274
-0.31241018 -0.0388137
-1.1484959 0.08301973
-1.7542328 -0.16515742
-1.6388324 -0.019640207
-0.45500362 0.48126337
-0.024473518 0.35784498
-0.3944269 0.6316221
-0.75780237 0.60507864
-1.0935078 0.56277966
-0.2103359 0.72748935
0.38125098 0.68196446
0.00046585256 0.7725131
-0.36479756 0.9470406
-1.1601311 0.8038939
0.19282074 0.66260797
0.4312236 0.6362943
0.252357 0.5626031
-0.33207127 0.63324505
-1.2589971 0.72245634
-0.7244115 -0.21365394
-0.7344274 -0.050509058
-0.5687022 0.18727057
-0.37509185 0.3795752
0.13250336 0.08598284
-0.6894008 0.18318965
-0.3669812 0.41517955
-0.43533182 0.5451678
-0.2783045 0.4539975
-0.11804902 0.14336124
-0.68226725 0.47360942
-0.6880633 0.6023904
-0.57178533 0.8907177
-0.5920177 0.6135433
-0.09155524 -0.083363906
-0.7462904 0.520175
-0.8839723 0.7762996
-0.7533695 0.78594536
-0.6023744 0.1535025
-0.37469205 -0.12464853
-1.085584 0.55197346
-1.1513206 0.6019034
-1.1520022 0.43728784
-0.87824655 0.22015835
-0.5624067 -0.10016391
-1.6576195 -0.37234303
-1.4470688 -0.21788402
-0.8884038 -0.069026746
-0.2505403 0.38284898
0.17347772 0.46291703
-1.1138643 -0.18933883
-1.0841924 -0.0055836956
-0.5865495 0.17120112
0.029103624 0.67414814
0.34480488 0.36604956
-0.4835728 -0.21642251
-0.3733231 -0.0020923675
0.13488956 0.29437903
0.30707127 0.655453
0.51268774 0.15999483
0.035971884 -0.20707773
0.3245176 0.093115255
0.60676646 0.039280005
0.69677067 0.38063106
0.41149148 -0.08487721
0.5813579 -0.2464354
1.0202353 -0.15109244
1.03151 0.008156065
0.7790667 -0.098950535
0.46908122 -0.25589183
0.36013788 0.34116971
0.27479073 0.49442118
0.2624006 0.3288226
-0.020600509 0.4230213
0.35767564 0.5274078
0.64802307 0.38836172
0.50982404 0.60774535
0.6158538 0.48195976
0.38689435 0.45634
0.3291019 0.51337606
0.8272585 0.37289608
0.69756824 0.59142894
0.63423824 0.5145212
0.65290684 0.5743503
0.5858387 0.3382855
0.6370019 0.2915532
0.6784572 0.5126788
0.43127632 0.6693436
0.44825375 0.47435033
0.46886912 0.36676422
0.5687188 0.5540745
0.45616633 0.47298318
0.37996903 0.43606922
0.29647112 0.55755913
0.2043913 0.42405662
-0.24145731 0.19024207
-0.46544155 -0.24330424
-0.62147945 -0.8413141
-0.8826915 -1.3050599
-0.7966154 -0.9353443
0.08726857 -0.04821775
0.09046432 -0.020758992
-0.29822 -0.23648737
-0.37579864 -0.8334299
-0.52853876 -0.3288347
0.32306126 -0.101417385
0.15829168 0.4130533
0.10857028 0.09203318
-0.013951714 -0.33096743
-0.35195756 0.120293826
0.23894385 0.40757722
0.18110916 0.60691446
0.12564722 0.5142748
0.065700814 0.4240398
0.0819493 0.6308685
0.07809689 0.47334412
0.1876159 0.95910263
-0.16780216 1.2020584
-0.24810323 1.0166252
-0.29170018 1.2008622
-0.14610599 -0.07017936
0.34555063 -0.28324926
0.058622867 -0.12652548
-0.59602225 -0.06534151
-0.95331144 0.02374597
-0.033994026 -0.04692783
0.20366722 -0.0799945
0.035348356 -0.158656
-0.65933955 0.11941808
-0.6995426 0.15835033
0.1555722 -0.20685264
0.6422814 0.012674191
0.52531075 0.13336684
0.0053241914 0.12745433
-0.25184304 0.13254702
0.39133748 -0.15907513
0.9488818 -0.059560474
0.8056857 0.19050983
0.71539056 0.34929165
0.30902287 0.23619038
0.46792307 -0.38507864
0.96752924 0.04556722
1.2117271 -0.15311493
0.8794963 0.22623715
0.6939028 0.15412743

View File

@@ -1,11 +1,11 @@
10 10
0.14412592 0.25584885
-0.07423735 -0.027994525
-0.049142662 -0.037440807
0.19558677 0.9338683
0.12699787 -0.03670198
0.10220198 0.3839173
1.1084645 0.24677922
-0.102667846 -0.053136256
0.9059092 0.13250303
0.65017 -0.34382173

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,17 @@
16 16
0.25629708 0.41653347
-0.032522578 0.51872575
-0.14084667 0.33438778
0.5625487 -0.80387104
1.7736332 -0.45116505
-0.89979994 -0.4066231
-0.8327153 0.4157174
-0.0015706721 0.1406135
1.0403447 0.077455126
0.21188897 0.4869977
-0.21003345 -0.054409754
-0.123272754 1.3223877
-0.15712602 0.6638544
2.9992483 0.5473232
0.9306246 -0.37075064
-0.21879409 0.106434464

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,16 @@
15 15
2.9608855 1.2299714
0.48027807 0.52228546
0.6098448 -0.054097723
0.6845462 -0.03168516
-2.3924253 -1.4363378
-0.51168174 -0.418729
0.11268586 0.08757081
0.605966 0.07111051
-1.7118223 -0.23180878
-0.9332867 -0.26251948
-0.60581064 -0.38850868
0.47835764 0.24825566
-1.8917097 -0.5820692
-0.15730774 0.17491941
-0.5549108 -0.17262118

View File

@@ -1,242 +1,242 @@
16 16
15 15
0.067641154 0.06848485
0.10578058 -0.1205382
0.16411996 0.05659599
0.20287563 -0.1198935
0.24025424 0.30640158
0.109507106 0.05018961
0.12222239 -0.09606579
0.071233526 -0.03249446
-0.2886257 -0.07550278
-0.10079892 0.033637468
-0.06812541 -0.028482905
-0.16702725 0.3187486
-0.15010971 -0.07612031
-0.19164395 -0.051758178
-0.07202363 -0.04251964
-0.035642263 0.017287323
-0.05917981 0.083228625
0.0028539933 0.0190767
-0.05592549 -0.020379473
0.075735435 -0.0315905
0.025915435 -0.00048407013
-0.04963067 0.09054485
-0.026535112 -0.010240303
-0.020446347 0.016670013
-0.011010364 0.0036291913
0.023280753 0.009885405
0.26113504 -0.0056112455
-0.012730428 -0.0007828792
-0.017266534 0.07570129
-0.02555099 -0.010771771
6.6849823e-28 -0.058594886
-4.636168e-36 -0.008092952
-2.6241106e-35 0.0027567474
-1.4760121e-35 -0.026515951
-6.7957636e-35 0.043092027
-1.0416158e-34 -0.125233
1.6918945e-35 -0.0005410857
-4.6718995e-36 0.22648305
-4.7667602e-35 0.0029436627
1.041564e-21 -0.016050348
8.2043017e-32 -0.11576312
5.477604e-35 -0.0902263
-3.8711388e-35 -0.07349928
6.7359426e-33 0.0016258185
6.3444426e-35 0.23451011
0.14113876 -0.04832964
-0.010778272 -0.12333799
0.22688301 0.0020637014
-0.09793554 0.010213136
-0.00012759774 -0.11413979
-0.05420959 0.33165357
-0.10284228 -0.12051369
-0.0711143 0.0034787229
-0.019644944 -0.11606434
0.33476868 -0.007870939
-0.026679255 0.0695873
0.017077312 -0.11914301
-0.08714616 0.26085612
-0.18292294 -0.08313314
-0.008373551 -0.0005710702
0.010505794 -0.015122628
0.37707043 -0.018007172
-0.18333085 -0.1235083
-0.08041537 -0.16890174
-0.2416076 -0.008040978
-0.1522789 -0.10031251
0.43256167 -0.11334684
-0.0788787 0.13460128
0.34045488 0.09495544
-0.18690895 0.047906466
-0.14016004 0.10289513
-0.17618605 0.11960255
-0.05683832 0.056172628
0.24356408 -0.071275584
-0.16643535 0.16940516
-0.10966306 0.04583691
-0.06567155 -0.15900084
-0.15500161 0.08604079
0.3614948 0.23008905
-0.09623325 0.06410888
0.21963693 0.012403747
-0.04084352 -0.27156368
-0.075387344 -0.0070743295
-0.10502286 -0.19504271
-0.0677372 0.07004608
0.27728274 0.13711111
-0.07640978 0.11130735
0.104514964 0.0049834913
-0.10400845 -0.25697705
-0.12442972 -0.06555731
-0.036030225 0.109665066
0.25929874 -0.166455
-0.059436407 -0.19186278
-0.10930109 -0.19342792
0.3742339 -0.07677503
-0.05711202 -0.23737621
-0.40452525 -0.17676963
0.11595321 -0.2537368
0.17990495 0.25060114
-0.035048593 0.06314146
-0.15141624 0.11107369
0.30273277 0.10176969
-0.011792107 0.1814894
-0.4227198 0.09466277
0.053774044 0.12650885
1.1876719e-34 0.017758295
3.7372937e-35 -0.032581564
-5.644917e-35 -0.15479378
1.4523778e-35 0.22360481
-1.6516261e-35 -0.06571055
-1.368295e-35 -0.14287175
6.519924e-36 0.16189161
-1.058873e-34 -0.06278065
7.093214e-35 -0.05938156
-7.7837143e-35 0.009023414
-8.806991e-35 0.27827597
4.964243e-35 -0.115009665
9.1717344e-35 -0.14662306
9.3002685e-35 0.15521672
-2.2625807e-35 -0.04527563
-0.062388267 0.020374492
0.009545127 0.051145118
-0.025250942 -0.04421289
0.015120846 -0.014813983
-0.053508114 -0.016044024
-0.09033931 0.096724905
-0.00907598 0.009182883
0.42657125 -0.033773147
0.020611048 -0.022611074
-0.056661103 -0.095029436
-0.13732637 0.013587231
-0.24770766 -0.028680224
0.005481845 0.13118911
-0.07748723 0.03520234
0.34712294 0.013633234
-0.11283319 0.009445649
-0.16540128 0.2610173
0.29195973 0.09995884
-0.029924994 0.12850226
-0.058724944 0.13758309
-0.10992806 0.06050716
0.197207 0.12285141
-0.07528951 0.12392998
-0.19605869 -0.0043378808
0.27547538 -0.23181352
-0.013697551 -0.20070644
-0.055077918 -0.14143142
-0.07406024 -0.16679154
0.22788925 -0.24327031
-0.081390664 -0.23277378
0.12524118 -6.760882e-33
-0.31053254 1.5657735e-34
-0.13906848 1.0721702e-34
-0.20176046 -1.7367731e-21
-0.14459138 -3.2353512e-10
-0.3867697 9.632541e-35
-0.3457261 8.653687e-35
-0.3772227 -8.844616e-25
0.23137245 -9.459162e-35
0.25195408 -1.4299339e-34
0.3451284 2.104274e-36
0.16130213 4.3546756e-35
0.23533006 2.9894274e-19
0.23638043 3.9450314e-35
0.2719846 -2.637824e-36
1.8297665e-07 0.45582697
3.360339e-23 -0.09199296
-1.284517e-14 0.030132826
1.0518133e-13 0.0079908315
-2.2031767e-08 -0.016203053
-4.546128e-36 0.084482715
1.2173993e-14 -0.13553432
-6.947489e-35 -0.0370493
-8.3585253e-35 -0.1506419
6.3733985e-36 -0.078976385
4.228411e-37 -0.016706916
-5.4181e-35 -0.071021125
-6.841722e-35 -0.020966802
5.6347666e-35 -0.032668043
-4.7285032e-35 -0.041946366
-6.334689e-35 0.03279952
1.7633159e-35 -0.31379986
6.9929964e-35 0.3821142
7.5054075e-35 -0.11431359
6.711354e-35 -0.0990971
4.832629e-35 -0.13750747
5.29919e-35 0.28293163
-4.058533e-35 -0.043488335
2.0259362e-36 -0.20946114
6.813992e-35 0.40087134
-2.0522695e-35 -0.030007226
1.0627943e-34 -0.14469379
8.187743e-35 -0.12546782
7.9783384e-35 0.27385822
-9.2240445e-35 -0.08413422
0.51590675 0.07185824
-0.05236788 -0.024898782
-0.07348578 -0.022647554
-0.07904794 0.016366411
0.036673676 0.028040772
-0.047585975 0.11689805
0.010659185 0.14100341
-0.05747693 0.14502956
-0.1176608 -0.07877178
0.005955786 -0.08354321
-0.04482761 -0.14139661
-0.06267186 -0.07142018
0.029963115 0.01063927
0.035390142 -0.0010698467
-0.16633497 0.058082126
0.04267569 -0.0594544
0.06314773 0.008123557
-0.011022474 0.05472646
-0.17234531 0.04626421
-0.014564765 0.124584116
0.44928247 0.09011361
-0.06437395 -0.0806682
0.021410124 -0.084414266
-0.073853776 -0.02768993
-0.14323992 -0.0011701073
-0.20758016 -0.0020251372
-0.08453873 -0.0048691197
0.37983018 -3.377666e-05
-0.045325596 -0.01488334
-0.08424267 -0.01129906
-2.2948552e-16 0.0018393932
1.0171164e-21 0.15046112
5.3094257e-22 -0.15440601
1.1943568e-14 -0.09502266
-7.934534e-14 -0.008596554
-4.1972283e-35 -0.09307285
-6.0988935e-31 0.16033137
8.206015e-32 -0.14228557
1.8966156e-15 0.22326827
2.540294e-17 -0.15338267
-9.855207e-18 -0.01796669
1.5472988e-13 -0.033436365
-9.217107e-35 0.023526033
-2.7734643e-16 0.2423883
-4.306558e-35 -0.13035965