作者yin0416 (铅笔)
看板C_and_CPP
标题[问题] 纸面上折线的判断
时间Wed Nov 16 11:09:57 2016
开发平台(Platform): (Ex: Win10, Linux, ...)
Mac、Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Xcode、DeV C++
问题(Question):
想请教一下我目前遭遇到的问题,
用一群处於平面上的粒子,且为有序排列,当作一张纸,
再以电脑模拟揉纸的过程,我得到了这粒子在三维空间中的位置,
现在要判断它的折线,想得到折线的长短分布,
请问有适合的演算法可以处理这个问题吗?
谢谢!
喂入的资料(Input):
1 0 0 0 // 第一行是粒子编号,再来是空间中 X、Y、Z 的位置
2 1 0 0
3 2 0 0
预期的正确结果(Expected Output):
2 256 // 第一行是折线的长度,然後是这种长度折线的数量
3 200
4 168
5 98
6 7
补充说明(Supplement):
目前还没想到怎麽写这个程式,不知道有没有适合的演算法~~谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.127.104
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1479265800.A.D58.html
1F:推 friendever: 有点看不懂@@y 11/16 11:39
2F:推 firejox: 对每个粒子判断跟相临的粒子的凹凸性 11/16 12:48
3F:→ yin0416: 我是说,我目前已经得到纸被揉过的结果了,它记录的型式 11/16 12:49
4F:→ firejox: 我猜 11/16 12:49
5F:→ yin0416: 是每个粒子的位置。我想得到折线的分布结果~~ 11/16 12:50
6F:→ firejox: 可以知道原先相临的粒子有哪些吗? 11/16 12:56
7F:→ yin0416: 可以知道! 11/16 13:02
8F:→ yin0416: Sorry 刚才在查别的网页,想看看有没有对这个问题的程式 11/16 13:04
9F:→ yin0416: 所以忘了要回应~~ 11/16 13:05
10F:推 firejox: 那以一个粒子为中心按照顺序扫周围的粒子 ,判断四个点 11/16 13:08
11F:→ firejox: 是否为平面,不是的话就可以找出折线 11/16 13:08
12F:→ yin0416: 嗯,但如何得到折线的长度呢? 11/16 13:11
13F:→ yin0416: 实际上,应该不会有完全的平面,因为它会扭曲~~ 11/16 13:14
14F:→ yin0416: 所以我应该订个标准,看看弯曲多大的程度视为有折线~~ 11/16 13:15
15F:推 firejox: 把斜率相同且相临的线段合成就能找出折线了 11/16 13:28
16F:→ yin0416: 谢谢,我再试试看! 11/16 14:56