当前位置: 首页 > news >正文

家用电器销售的网站开发怎么建立一个博客网站

家用电器销售的网站开发,怎么建立一个博客网站,linux wordpress安装教程,淄博市网站云平台文章目录 前言一、围绕X轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。2、求M~rotate~ 二、围绕Y轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。2、求M~rotate~ 三、围绕Z轴旋转1、可以使用上篇文章中&#x…

文章目录

  • 前言
  • 一、围绕X轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。
    • 2、求M~rotate~
  • 二、围绕Y轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。
    • 2、求M~rotate~
  • 三、围绕Z轴旋转
    • 1、可以使用上篇文章中,同样的方法推导得出围绕Z轴旋转的点阵。
    • 2、求M~rotate~
  • 四、在Shader实现
    • 1、在属性面板定义四维变量,用xyz控制XYZ轴上的旋转
    • 2、在常量缓冲区申明该变量
    • 3、在 顶点着色器 定义旋转矩阵
    • 4、使用旋转矩阵与模型顶点相乘输出
    • 5、最终效果
  • 五、最终测试代码


前言

在上篇文章中,我们推算出了Shader物体旋转所使用的二维旋转矩阵。

  • Unity中Shader旋转矩阵(二维旋转矩阵)

在这篇文章中,我们来推算得到四维旋转矩阵。


一、围绕X轴旋转

围绕X轴旋转代表,物体顶点的X轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在这里插入图片描述
  • 最后得到Mrotate
    在这里插入图片描述

二、围绕Y轴旋转

围绕Y轴旋转代表,物体顶点的Y轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在这里插入图片描述
  • 最后得到Mrotate
    在这里插入图片描述

三、围绕Z轴旋转

围绕Z轴旋转代表,物体顶点的Z轴不变。

1、可以使用上篇文章中,同样的方法推导得出围绕Z轴旋转的点阵。

在这里插入图片描述

  • 我们把P2增加一维且分量为1

2、求Mrotate

  • Mrotate * P1 = P2
  • Mrotate = P2* P1-1
    在这里插入图片描述
  • 最后得到Mrotate
    在这里插入图片描述

可以修改sin函数前面的负号位置实现顺时针还是逆时针。这篇文章中是顺时针


四、在Shader实现

1、在属性面板定义四维变量,用xyz控制XYZ轴上的旋转

_Rotation(“Rotation(XYZ)”,Vector) = (0,0,0,0)

2、在常量缓冲区申明该变量

CBUFFER_START(UnityPerMaterial)
float4 _Rotation;
CBUFFER_END

3、在 顶点着色器 定义旋转矩阵

float4x4 M_rotateX = float4x4
(
1,0,0,0,
0,cos(_Rotation.x),sin(_Rotation.x),0,
0,-sin(_Rotation.x),cos(_Rotation.x),0,
0,0,0,1
);
float4x4 M_rotateY = float4x4
(
cos(_Rotation.y),0,sin(_Rotation.y),0,
0,1,0,0,
-sin(_Rotation.y),0,cos(_Rotation.y),0,
0,0,0,1
);
float4x4 M_rotateZ = float4x4
(
cos(_Rotation.z),sin(_Rotation.z),0,0,
-sin(_Rotation.z),cos(_Rotation.z),0,0,
0,0,1,0,
0,0,0,1
);

4、使用旋转矩阵与模型顶点相乘输出

v.vertexOS = mul(M_rotateX,v.vertexOS);
v.vertexOS = mul(M_rotateY,v.vertexOS);
v.vertexOS = mul(M_rotateZ,v.vertexOS);

5、最终效果

请添加图片描述


五、最终测试代码

//平移变换
//缩放变换
//旋转变换(四维)
Shader "MyShader/URP/P3_5_7"
{Properties{_Translate("Translate(XYZ)",Vector) = (0,0,0,0)_Scale("Scale(XYZ)",Vector)= (1,1,1,1)_Rotation("Rotation(XYZ)",Vector) = (0,0,0,0)}SubShader{Tags{"PenderPipeline"="UniversalPipeline""RenderType"="Opaque""Queue"="Geometry"}Pass{HLSLPROGRAM#pragma vertex vert#pragma fragment frag#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"struct Attribute{float4 vertexOS : POSITION;};struct Varying{float4 vertexCS : SV_POSITION;};CBUFFER_START(UnityPerMaterial)float4 _Translate;float4 _Scale;float4 _Rotation;CBUFFER_ENDVarying vert (Attribute v){Varying o;//平移变换float4x4 M_Translate = float4x4(1,0,0,_Translate.x,0,1,0,_Translate.y,0,0,1,_Translate.z,0,0,0,1);v.vertexOS = mul(M_Translate,v.vertexOS);//缩放交换float4x4 M_Scale = float4x4(_Scale.x,0,0,0,0,_Scale.y,0,0,0,0,_Scale.z,0,0,0,0,1);v.vertexOS = mul(M_Scale,v.vertexOS);//旋转变换float4x4 M_rotateX = float4x4(1,0,0,0,0,cos(_Rotation.x),sin(_Rotation.x),0,0,-sin(_Rotation.x),cos(_Rotation.x),0,0,0,0,1);float4x4 M_rotateY = float4x4(cos(_Rotation.y),0,sin(_Rotation.y),0,0,1,0,0,-sin(_Rotation.y),0,cos(_Rotation.y),0,0,0,0,1);float4x4 M_rotateZ = float4x4(cos(_Rotation.z),sin(_Rotation.z),0,0,-sin(_Rotation.z),cos(_Rotation.z),0,0,0,0,1,0,0,0,0,1);v.vertexOS = mul(M_rotateX,v.vertexOS);v.vertexOS = mul(M_rotateY,v.vertexOS);v.vertexOS = mul(M_rotateZ,v.vertexOS);o.vertexCS = TransformObjectToHClip(v.vertexOS.xyz);return o;}half4 frag (Varying i) : SV_Target{return 1;}ENDHLSL}}
}
http://www.yayakq.cn/news/29357/

相关文章:

  • 招远建网站网站还未被收录可以做推广吗
  • 深圳市设计网站网站不在首页显示出来
  • 青岛网站建设软件下载跨国浏览器
  • 帆软网站开发好的seo
  • 医院网站什么网站可以直接做word文档
  • 网站建设服务咨询企业模板图片
  • 南通网站建设方案wordpress主题版权
  • 青浦网站制作东莞 外贸网站建设
  • 网站开发保密协议模板杭州住房和城乡建设局网站
  • 阿里云的wordpress建站昆明抖音代运营
  • 有什么较好的网站开发框架关键词批量调词 软件
  • 免费做简历的网站抖音代运营收费价格表
  • php网站好吗西安搬家公司哪家好
  • 网站的建设方法不包括什么落地页模板
  • 怎么做百度联盟网站惠安县建设局网站
  • 专业番禺网站建设wordpress用户中心代码
  • 网站建设培训手册app制作费用一览表
  • 建设工程教育网站论坛北京市建筑装饰设计工程有限公司
  • 您身边的网站建设专家网站开发全过程
  • 浅谈网站建设的目的和意义wordpress主题 t
  • wordpress免费网站模板下载地址在服务器上部署网站
  • 网站云服务器wordpress 代码 格式
  • 企业网站合同cms网站建设方案
  • 北京网站建设中企云达网站开发技能有哪些
  • 做网站推广方法有哪些医院网站建设意义
  • 网站验证码体验青岛建站服务
  • 公司网站建设策划网站建设logo
  • 热水工程技术支持 东莞网站建设网站备案 法人变更
  • 个人餐饮网站模板网红营销的作用
  • 哪里可以做营销型网站补肾壮阳吃什么药效果好