24小时热门版块排行榜    

查看: 454  |  回复: 0

喔喔wowo

银虫 (初入文坛)

[求助] 正方形3D扩展去除重复点坐标,if条件写的很蹩脚,求高人指点

题目是将一个正方形向三维方向扩展成2*2*2个正方形,然后输出顶点坐标,要求坐标不重复。我用的是for循环,嵌套5层,
for (p = 0; p < 2; p++) // x方向扩展
  {
    for (m = 0; m < 2; m++)// y方向扩展
     {
          for (n = 0; n < 2; n++)// z方向扩展
            {
                for (i = 0; i < 8; i++) // 正方形顶点坐标8个
                 {
                       for (j = 0; j < 3; j++)// 每个顶点x,y,z 坐标
                           { x[j] = a[j] + n* b[j] + m* c[j] + p*d[j]    //a[j]是原始顶点坐标,b[j]是z方向扩展矩阵,c[j]是向y方向扩展矩阵,p[j]是向x方向,这些全部已经定义过了
                                          }
我想在最内层用if 条件判断,但是仍旧去除不了重复坐标,我的if 条件是 if( p!=0&&m!=0&&n!=0&& x[2]==n&&x[1]==m&&x[0]==p),不输出,其余输出。

我觉得应该是可以去掉重复项了,但是答案不对,我的if 条件写的有问题,但不知道在哪儿,求高人指点,或者我这个算法太繁琐,也请高人指点。主要问题还是如何去除重复项。多谢……
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 喔喔wowo 的主题更新
信息提示
请填处理意见