zoukankan      html  css  js  c++  java
  • 练习:展平splineshape

    通过for循环的嵌套来来展平Splineshape中顶点

    1.判定选中的样条曲线是否符合要求

    2.通过循环来计算曲线中每个顶点

    3.将计算到的顶点的Z坐标位置设置成和曲线本身的Z坐标一致

    4.执行完以上操作后 使用UpdateShape()更新曲线

    --判断选择的曲线是否是可编辑样条曲线 曲线的数量是1 并且没有添加任何修改器
    if
        (
            selection.count==1 and
            (classof selection[1]==SplineShape or classof selection[1]==line)
            and selection[1].modifiers.count==0
        )
    do
        (
            posZ=$.pos.z --声明一个变量 存储当前物体的Z坐标
            for splines=1 to (numSplines $) do --在for循环中计算从1到选定对象中的样条线数
            (
                for knots=1 to (numKnots $ splines) do --计算选中样条线的点
                (
                    --将当前样条线中的点的Point3的世界坐标存到变量中
                    knt = getKnotPoint $ splines knots 
                    
                    --读取选定当前选中线条中的点矢量 将Point3直接坐标存到变量中
                    in_vec = getInVec $ spines konts
                    
                    --读取出当前循环到的样条线的点的矢量 将Point3直接坐标存到变量中
                    out_vec = getOutVec $ spines knots
                    
                    --将向量和点的Z坐标设置为 posZ变量中存储的新值
                    knt.z = in_vec.z = out_vec.z = new_z
                    
                    --指定新进出矢量重置为各自的节点和样条线
                    setInVec $ s k in_vec
                    setOutVec $ s k out_vec
                    
                    --将回存到各自的节点和样条线指定新的节点位置
                    setKnotPoint $ s k knt
                )--end knots loop
            )--end splines loop
        )--end if 
        
        updateshape $--更新的内部数据结构进行的所有更改
  • 相关阅读:
    jQuery的版本兼容问题
    web页面锁屏初级尝试
    mvc5之文件上传
    魔方基础入门教程
    XCube和X组件的入门级使用教程
    蔬菜大棚监控与管理 1.0版本(未完善)
    蔬菜大棚 数据库设计 0.5版本()
    记录一段存储过程
    MPU9250九轴陀螺仪--读接口数据
    MPU9250九轴陀螺仪--连接MPU9250
  • 原文地址:https://www.cnblogs.com/amixc/p/4002419.html
Copyright © 2011-2022 走看看