码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VEX —— Functions|Conversion


    目录

    atof —— 将字符串转化为浮点

    atoi —— 将字符串转化为整数

    degrees —— 将弧度转化为角度

    radians —— 将角度转化为弧度

    hsvtorgb —— 将颜色空间从HSV转化为RGB

    rgbtohsv —— 将颜色空间从RGB转化为HSV

    rgbtoxyz —— 将线性sRGB转化为CIE XYZ

    xyztorgb —— 将CIE XYZ转化为线性sRGB

    serialize —— 将vector/matrix数组展平为浮点数组

    unserialize —— 将展平的浮点数组转化为vector/matrix数组

    cracktransform —— 依据c值返回xform的特定分量的变换

    eulertoquaternion —— 从欧拉角创建表示四元数的vector4

    quaterniontoeuler —— 从表示四元数的vector4创建欧拉角

    qconvert —— 将表示四元数的vector4转化为matrix3


    atof —— 将字符串转化为浮点

    float atof(string str)
    • 忽略空格;
    • 如字符串不包含数字,返回0.0;
    • 字符串可包含指数(如1.25e+5);
    1. float a = atof("1");
    2. float b = atof("1.25e+5");

    atoi —— 将字符串转化为整数

    1. int atoi(string str)
    2. int atoi(string str, int base)
    • 忽略空格;
    • 如字符串不包含数字,返回0.0;
    • 字符串可包含指数(如1.25e+5);

    degrees —— 将弧度转化为角度

    • 大多数VEX三角函数使用弧度,但用户更易使用角度;
    1. float degrees(float num_in_rads)
    2. vector2 degrees(vector2 nums_in_rads)
    3. vector degrees(vector nums_in_rads)
    4. vector4 degrees(vector4 nums_in_rads)

    radians —— 将角度转化为弧度

    1. //角度转化为弧度
    2. float radians(float num_in_degs)
    3. //应用了反正切atan()
    4. radians(nums_in_degs)

    hsvtorgb —— 将颜色空间从HSV转化为RGB

    1. vector hsvtorgb(vector hsv)
    2. vector hsvtorgb(float hue, float sat, float val)

    rgbtohsv —— 将颜色空间从RGB转化为HSV

    1. vector rgbtohsv(vector rgb)
    2. vector rgbtohsv(float r, float g, float b)

    rgbtoxyz —— 将线性sRGB转化为CIE XYZ

    vector rgbtoxyz(vector rgb)
    • XYZ被认为是通用颜色空间;

    xyztorgb —— 将CIE XYZ转化为线性sRGB

    vector xyztorgb(vector xyz)

    serialize —— 将vector/matrix数组展平为浮点数组

    1. float[] serialize(vectors[])
    2. float[] serialize(matrices[])
    1. vector v[] = { {1,2,3}, {7,8,9} }; // A vector[] of length 2
    2. float f[];
    3. f = serialize(v);
    4. // Now f[] has a length of 6 and equals { 1,2,3,7,8,9 }

    unserialize —— 将展平的浮点数组转化为vector/matrix数组

    1. [] unserialize(float values[])
    2. [] unserialize(float values[])
    1. vector v[]
    2. float f[] = { 1, 2, 3, 7, 8, 9 };
    3. v = vector(unserialize(f));
    4. // Now v has a length of 2 and contains { {1,2,3}, {7,8,9} }

    cracktransform —— 依据c值返回xform的特定分量的变换

    • VOP中对应的节点为 Extract Transform ;
    • 与函数 maketransform 相对应;
    1. vector cracktransform(int trs, int xyz, int c, vector pivot, vector pivot_rotate, matrix xform)
    2. vector cracktransform(int trs, int xyz, int c, vector pivot, matrix xform)
    • c=0,返回translate;
    • c=1,返回rotate(单位degree,可使用radian转化为弧度);
    • c=4,返回rotate(单位radian);
    • c=2,返回scale;
    • c=3,返回shears;
    void cracktransform(int trs, int xyz, vector pivot, vector pivot_rotate, matrix xform, vector &t, vector &r, vector &s, vector &shears)
    • 如需返回有多个组件,使用此更有效;
    void cracktransform(int trs, int xyz, vector pivot, matrix xform, vector &t, vector &r, vector &s)
    • 不支持pivot_rotate或shears;
    • 如需返回有多个组件,使用此更有效;
    1. vector @cdir;
    2. vector @raydir;
    3. //get a matrix with the camera's transforms
    4. matrix cam_matrix = optransform('/obj/cam1');
    5. //extract out the camera position as a vector
    6. @cdir = cracktransform(XFORM_SRT, XFORM_XYZ, 0, {0,0,0}, cam_matrix);
    7. //get a vector to project point from camera
    8. @raydir = normalize(@P-@cdir);

    eulertoquaternion —— 从欧拉角创建表示四元数的vector4

    vector4 eulertoquaternion(vector rotations, int order)
    • rotations表示欧拉角(X,Y,Z),单位弧度;
    • 需指定旋转顺序,使用常数(被定义在$HH/vex/include/math.h),XFORM_XYZ表示旋转顺序为x、y、z;
    1. vector rot = chv('ang');
    2. @orient = eulertoquaternion(rot, XFORM_XYZ);
    3. @P = qrotate(@orient, @P);

    quaterniontoeuler —— 从表示四元数的vector4创建欧拉角

    1. vector quaterniontoeuler(vector4 orient, int order)
    • 单位为弧度,可使用degree转化为角度;
    • 需指定旋转顺序,使用常数(被定义在$HH/vex/include/math.h),XFORM_XYZ表示旋转顺序为x、y、z;

    qconvert —— 将表示四元数的vector4转化为matrix3

    matrix3 qconvert(vector4 quaternion)
    1. //转化,并应用一个偏移
    2. matrix qconvert(vector4 quaternion, vector offset)
    1. //转化为angle/axis矢量
    2. vector qconvert(vector4 quaternion)

  • 相关阅读:
    葡聚糖-NH2/COOH/MAL/NHS/N3/Alkyne/SH/Biotin/CHO/OPSS/OH/生物试剂
    易点易动助力企业设备高效管理,提升设备利用率
    2023中国(深圳)国际设备维护、状态监测及故障诊断维修展览会
    监控K8S资源使用情况
    轻量级神经网络算法系列文章-MobileNet v2
    chatGPT培训老师AIGC培训讲师叶梓:大模型这么火,我们在使用时应该关注些什么?-6
    09.JAVAEE之网络初识
    vue和小程序的异同之处
    二、CANdelaStudio入门-版本介绍
    “成为视频制作达人:高效为视频批量添加文字水印的技巧分享“
  • 原文地址:https://blog.csdn.net/NapoleonCoder/article/details/133215494
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号