关于C#计算点位置,然后画出一套平滑的线条

hzxking512 2016-02-19 04:33:48
采用A*路径算法得出了一个点的集合,然后这些点会连成一条线,但是这些线不平滑,有一些地方弯弯曲曲,现在想通过想如果通过算法得到了一个点的集合后再处理一下这个集合里的点,让弯弯曲曲地方的点重新变换一下值,最终让显示的线条更流畅一点。

下面是一个得到的点集合,其中第19个点突然凸出来一点,58-85这段又坑坑洼洼的,这样连的线就非常的不平滑,如何来处理这些点,然后让线条平滑一点。希望大神能帮忙解决这个问题,万分感谢。(不能传图,让大家看不到生成的线的样子)

[0] {237,102}
[1] {240,105}
[2] {243,108}
[3] {246,108}
[4] {249,108}
[5] {252,108}
[6] {255,108}
[7] {258,108}
[8] {261,108}
[9] {264,108}
[10] {267,108}
[11] {270,108}
[12] {273,108}
[13] {276,108}
[14] {279,108}
[15] {282,108}
[16] {285,108}
[17] {288,108}
[18] {291,108}
[19] {294,105}
[20] {297,108}
[21] {300,108}
[22] {303,108}
[23] {306,108}
[24] {309,108}
[25] {312,108}
[26] {315,108}
[27] {318,108}
[28] {321,108}
[29] {324,108}
[30] {327,108}
[31] {330,108}
[32] {333,108}
[33] {336,108}
[34] {339,108}
[35] {342,108}
[36] {345,108}
[37] {348,108}
[38] {351,108}
[39] {354,108}
[40] {357,108}
[41] {360,108}
[42] {363,108}
[43] {366,108}
[44] {369,108}
[45] {372,108}
[46] {375,108}
[47] {378,108}
[48] {381,108}
[49] {384,108}
[50] {387,108}
[51] {390,108}
[52] {393,108}
[53] {396,111}
[54] {399,114}
[55] {402,117}
[56] {405,120}
[57] {408,120}
[58] {411,123}
[59] {414,126}
[60] {417,129}
[61] {417,132}
[62] {417,135}
[63] {414,138}
[64] {414,141}
[65] {417,144}
[66] {414,147}
[67] {417,150}
[68] {417,153}
[69] {414,156}
[70] {417,159}
[71] {414,162}
[72] {417,165}
[73] {414,168}
[74] {414,171}
[75] {417,174}
[76] {417,177}
[77] {414,180}
[78] {414,183}
[79] {414,186}
[80] {417,189}
[81] {417,192}
[82] {414,195}
[83] {414,198}
[84] {417,201}
[85] {420,204}
[86] {423,207}
[87] {426,207}
[88] {429,207}
[89] {432,207}
[90] {435,207}
[91] {438,207}
[92] {441,207}
[93] {444,207}
[94] {447,207}
[95] {450,207}
[96] {453,207}
[97] {456,207}
[98] {459,207}
[99] {462,207}
[100] {465,207}
[101] {468,207}
[102] {471,207}
[103] {474,207}
[104] {477,207}
[105] {480,207}
[106] {483,207}
[107] {486,207}
[108] {489,207}
[109] {492,207}
[110] {495,207}
[111] {498,207}
[112] {501,207}
[113] {504,207}
[114] {507,207}
[115] {510,207}
[116] {513,207}
[117] {516,207}
[118] {519,207}
[119] {522,207}
[120] {525,207}
[121] {528,207}
[122] {531,207}
[123] {534,207}
[124] {537,207}
[125] {540,207}
[126] {543,207}
[127] {546,207}
[128] {549,207}
[129] {552,207}
[130] {555,207}
[131] {558,207}
[132] {561,207}
[133] {564,207}
[134] {567,207}
[135] {570,207}
[136] {573,207}
[137] {576,207}
[138] {579,207}
[139] {582,207}
[140] {585,207}
[141] {588,210}
[142] {591,213}
[143] {594,216}
[144] {594,219}
[145] {591,222}
[146] {594,225}
[147] {594,228}
[148] {594,231}
[149] {594,234}
[150] {594,237}
[151] {594,240}
[152] {594,243}
[153] {594,246}
[154] {594,249}
[155] {594,252}
[156] {594,255}
[157] {594,258}
[158] {594,261}
[159] {594,264}
[160] {594,267}
[161] {591,270}
[162] {594,273}
[163] {594,276}
[164] {594,279}
[165] {594,282}
[166] {594,285}
[167] {594,288}
[168] {594,291}
[169] {594,294}
[170] {594,297}
[171] {594,300}
[172] {594,303}
[173] {594,306}
[174] {594,309}
[175] {594,312}
[176] {597,315}
[177] {600,318}
[178] {603,321}
[179] {600,324}
[180] {597,327}
[181] {594,330}
[182] {594,333}
[183] {594,336}
[184] {594,339}
[185] {594,342}
[186] {594,345}
[187] {594,348}
[188] {594,351}
[189] {594,354}
[190] {594,357}
[191] {594,360}
[192] {594,363}
[193] {594,366}
[194] {594,369}
[195] {594,372}
[196] {594,375}
[197] {594,378}
[198] {591,381}
[199] {594,384}
[200] {594,387}
[201] {594,390}
[202] {594,393}
[203] {594,396}
[204] {594,399}
[205] {594,402}
[206] {594,405}
[207] {594,408}
[208] {594,411}
[209] {594,414}
[210] {594,417}
[211] {594,420}
[212] {594,423}
[213] {594,426}
[214] {591,429}
[215] {594,432}
[216] {597,435}
[217] {600,438}
[218] {603,441}
[219] {600,444}
[220] {597,447}
[221] {594,447}
[222] {591,450}
[223] {594,453}
[224] {594,456}
[225] {594,459}
[226] {594,462}
[227] {594,465}
[228] {594,468}
[229] {591,471}
[230] {594,474}
[231] {594,477}
[232] {594,480}
[233] {594,483}
[234] {594,486}
[235] {594,489}
[236] {594,492}
[237] {594,495}
[238] {594,498}
[239] {594,501}
[240] {594,504}
[241] {594,507}
[242] {594,510}
[243] {594,513}
[244] {591,516}
[245] {594,519}
[246] {594,522}
[247] {597,525}
[248] {600,528}
[249] {603,531}
[250] {606,531}
[251] {609,531}
[252] {612,531}
[253] {615,531}
[254] {618,531}
[255] {621,531}
[256] {624,531}
[257] {627,531}
[258] {630,531}
[259] {633,531}
[260] {636,531}
[261] {639,531}
[262] {642,531}
[263] {645,531}
[264] {648,531}
[265] {651,531}
[266] {654,531}
[267] {657,531}
[268] {660,531}
[269] {663,531}
[270] {666,531}
[271] {669,531}
[272] {672,531}
[273] {675,531}
[274] {678,531}
[275] {681,531}
[276] {684,531}
[277] {687,531}
[278] {690,531}
[279] {693,531}
[280] {696,531}
[281] {699,531}
[282] {702,531}
[283] {705,531}
[284] {708,531}
[285] {711,531}
[286] {714,531}
[287] {717,531}
[288] {720,531}
[289] {723,531}
[290] {726,531}
[291] {729,531}
[292] {732,531}
[293] {735,531}
[294] {738,531}
[295] {741,531}
[296] {744,531}
[297] {747,531}
[298] {750,531}
[299] {753,531}
[300] {756,531}
[301] {759,531}
[302] {762,531}
[303] {765,531}
[304] {768,531}
...全文
742 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbjscmytf 2016-11-21
  • 打赏
  • 举报
回复
同样求答案
画出来的线好丑啊 求一个滤波算法
threenewbee 2016-02-19
  • 打赏
  • 举报
回复
google 5点3次平滑 贝塞尔曲线
Poopaye 2016-02-19
  • 打赏
  • 举报
回复
从第一个点开始,依次取3个点,计算2次样条曲线在中间点的曲率 如果超过某个阈值,就舍弃掉中间点 重复多次,最后曲线就平滑了
xuzuning 2016-02-19
  • 打赏
  • 举报
回复
DrawCurve 曲线通过控制点 DrawBeziers 曲线不通过控制点
hzxking512 2016-02-19
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
你首先要写明白(搞明白),打算在两点之间插入几个点。
路径算法自己算的点,可能像这样的一组点 11111111100000000000000 00000000100000000000000 00000000100000000111111 00000000100000000100000 00000000100000000100000 00000000111111111100000 现在就是生成的不圆滑(避免不了) 11101111100000000000000 00010000100000000001100 00000000010000000110011 00000000100000000100000 00000000100011000100000 00000000111100111100000 所以想重新处理一下这些点,让这些点能像前面的那样平滑
hzxking512 2016-02-19
  • 打赏
  • 举报
回复
两点之间是自动算的,里面经过的点是随机的
hzxking512 2016-02-19
  • 打赏
  • 举报
回复
引用 2 楼 dengchonglin 的回复:
估计需要你根据原来的数据做一些滤波算法,这样曲线就会平滑一些
请教如何去处理?
dengchonglin 2016-02-19
  • 打赏
  • 举报
回复
估计需要你根据原来的数据做一些滤波算法,这样曲线就会平滑一些
  • 打赏
  • 举报
回复
你首先要写明白(搞明白),打算在两点之间插入几个点。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧