以前做的一个小案例,拼图打乱工具,效果如下图所示:

打乱前需要record一下原始位置,之后,点击random打乱后的效果如下:

点击reset可以还原原始位置:

代码分享如下:

//coded by JingHai Tian in 2015//this procedure can order the select objects randomly.
global proc tjh_random_order_proc()
{if (`windowPref -exists tjh_random_order_proc_window `)windowPref -remove  tjh_random_order_proc_window;     if (`window -exists tjh_random_order_proc_window `)deleteUI tjh_random_order_proc_window;window -title "南无阿弥陀佛" -w 300  -h 100 tjh_random_order_proc_window ;columnLayout -w 100 ;text -h 50 -l "   随机顺序排列工具   Random Order Tool 1.0 ";rowLayout -numberOfColumns 3-columnWidth3 100 100 100-adjustableColumn 2-columnAlign  1 "right"-columnAttach 1 "both"     0-columnAttach 2 "both"  0;button -w 100 -l "record" -c "tjh_random_order__recordOld";button -w 100 -l "reset" -c "tjh_random_order__restore";button -w 100 -l "random" -c "tjh_random_order__random";setParent ..;showWindow tjh_random_order_proc_window;
}//record the old order ids.
global proc tjh_random_order__recordOld()
{global float $oldPosArrays_x[];global float $oldPosArrays_y[];global float $oldPosArrays_z[];global string $oldSelects[];string $selects[]= ` ls -sl `;$oldSelects = $selects;for($i=0; $i<size($selects);$i++){$oldPosArrays_x[$i]= ` getAttr ($selects[$i]+".tx") `;        $oldPosArrays_y[$i]= ` getAttr ($selects[$i]+".ty") `;      $oldPosArrays_z[$i]= ` getAttr ($selects[$i]+".tz") `;}
}global proc tjh_random_order__restore()
{global float $oldPosArrays_x[];global float $oldPosArrays_y[];global float $oldPosArrays_z[];global string $oldSelects[];select -r $oldSelects; for($i=0; $i<size($oldSelects);$i++){setAttr ($oldSelects[$i]+".tx") $oldPosArrays_x[$i]; setAttr ($oldSelects[$i]+".ty") $oldPosArrays_y[$i];setAttr ($oldSelects[$i]+".tz") $oldPosArrays_z[$i];}}global proc tjh_random_order__random() //
{string $selects[] =`ls -sl`;string $oldOrderIds[]= $selects;//print  $oldOrderIds;string $newOrderIds[];int $newIndex=0;int $i,$j,$k;int $selectTimes = size($oldOrderIds);float $mx[],$my[],$mz[];  //random order & select methodwhile($selectTimes){      int $randselect = rand($selectTimes);string $orderIdsTemp[];int $tmpIndex=0;for($k=0;$k<$selectTimes;$k++){if($k==$randselect){ $newOrderIds[$newIndex]=$oldOrderIds[$k]; $newIndex++; };//print $oldOrderIds;//remove the select id from the old list.if($k!=$randselect){ $orderIdsTemp[$tmpIndex]=$oldOrderIds[$k]; $tmpIndex++; };}clear $oldOrderIds;$oldOrderIds = $orderIdsTemp;clear $orderIdsTemp;$selectTimes --;       }print  $selects;print  $newOrderIds;print  (size($newOrderIds));//transform the new list objects.for($k=0;$k<size($selects);$k++){               $mx[$k] = ` getAttr ($selects[$k]+".tx")`;$my[$k] = ` getAttr ($selects[$k]+".ty")`;$mz[$k] = ` getAttr ($selects[$k]+".tz")`;        }   //transform the new list objects.for($k=0;$k<size($selects);$k++){setAttr ($newOrderIds[$k]+".tx") $mx[$k];setAttr ($newOrderIds[$k]+".ty") $my[$k];setAttr ($newOrderIds[$k]+".tz") $mz[$k];                 }}tjh_random_order_proc;

maya拼图随机打乱工具插件相关推荐

  1. 遥感影像如何导入Photoshop软件进行PS调色之智拼图Photoshop交互工具使用技巧

    Photoshop与遥感影像交互操作 一般遥感影像如果在PS中打开,会丢失坐标信息.智拼图PS交互工具可以实现遥感影像与Photoshop软件便捷的操作功能:不受数据量限制,保留地理坐标,而且还可以实 ...

  2. 遥感影像如何导入Photoshop软件进行PS调色-智拼图Photoshop交互工具使用技巧

    一般的影像如果在PS中打开,会丢失坐标信息.智拼图PS交互工具是一款智能的Photoshop插件,具备便捷的遥感影像与ps交互操作功能:不受数据量限制,而且可以实现多种处理一体化操作,具体如下介绍: ...

  3. python 随机打乱样本

    可以将列表随机打乱 1.python自带的: import randomli=[i for i in range(100)]random.shuffle(li)print(li) 应用,随机划分训练集 ...

  4. python随机排列图片_python 随机打乱 图片和对应的标签方法

    如下所示: # -*- coding: utf-8 -*- import os import numpy as np import pandas as pd import h5py import py ...

  5. perl随机打乱数组

    perl有一个自带的随机打乱数组的库,使用方法如下: use List::Util; @array = List::Util::shuffle @array; 举一个例子: #! /usr/bin/p ...

  6. 【python-numpy 】中的随机打乱数据方法np.random.shuffle

    描述: shuffle() 方法将序列的所有元素随机排序. #实验可得每次shuffle后数据都被打乱,这个方法可以在机器学习训练 #的时候在每个epoch结束后将数据重新洗牌进入下一个epoch的学 ...

  7. c++随机打乱数组_【洗牌算法】你确定这样的抽奖算法是随机的?

    洗牌算法在实际应用中使用的比较广泛,比如抽奖.三国杀游戏等等.由于要完全理解洗牌算法存在一定的难度,所以洗牌算法也经常被拿来做算法笔试题.例如以下两个常见的笔试题:在n个不同的数中随机取出不重复的m个 ...

  8. php将数组中元素打乱顺序,PHP公开课|学会随机打乱数组元素顺序的函数,你的PHP会学的更好...

    [摘要]PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的 ...

  9. 用sort()方法随机打乱数组

    2019独角兽企业重金招聘Python工程师标准>>> 我们先看一下随机数组排序的示例,再来研究其中的原理. 随机数组排序示例 var numbers = [5, 458 , 120 ...

最新文章

  1. 云计算和云存储IBM教程
  2. Selenium3自动化测试——5. 鼠标悬停操作
  3. Qt使用OpenCV读取图片练习
  4. F - 娜娜梦游仙境系列——多民族王国
  5. SAP CRM和SAP Hybris的订单修改记录
  6. PHP给后台管理系统加安全防护机制的一些方案
  7. C# 同一应用程序域不同线程之间的参数传递方式
  8. Java语言基础:IPO编程模式
  9. winpe加载raid_WinPE安装RAID卡驱动的详细教程
  10. JAVA 调用摄像头
  11. Http——超文本传输协议
  12. 互联网创新公司 猎头招聘
  13. 云平台虚拟机镜像制作(从iso到qcow2)
  14. SOPHON BM1684芯片解码性能以及支持的文件格式
  15. 百度网盘被和谐文件一键清理不能下载违规信息空间删除
  16. Linux01(VM)
  17. linux ioctl网络参数设置,Linux 网络编程之ioctl函数
  18. 金融互联网之网络征信技术接口
  19. [css]版心和布局流程
  20. 传奇私服老师显示服务器维护,传奇私服登陆器登陆时出现的问题

热门文章

  1. Synchro Arts 黑五促销 - 音高时值修复工具
  2. 2022北航敏捷软件工程 第四次博客作业
  3. Tekla Structures Design Suite安装步骤
  4. java1.8安装_2020JDK1.8安装教程详解(一次就可安装成功)
  5. 华为解锁账号工具_Redmi 10X 5G版手机怎么一键快速解锁BootLoader-解锁BL教程
  6. 良心安利动物植物3d打印模型素材网站
  7. 爱乐影音光盘管理大师 v3.38 免费下载
  8. 适用于大中型银行的云原生网络体系建设方案攻略
  9. c语言程序化交易:如何计算K线指标
  10. 2021年危险化学品经营单位主要负责人考试技巧及危险化学品经营单位主要负责人复审考试