平面转换(平移,旋转,缩放,倾斜)

前言

一、平面转换—平移

二、平面转换—旋转

三、平面转换—改变转换原点

四、平面转换—缩放

五、平面转换—倾斜



前言

平面转换transform:为元素添加动态效果,一般配合过渡使用。

一、平面转换—平移

平移属性:transform: translate(X轴移动距离,Y轴移动距离);

取值:像素单位数值或者百分比(参照盒子自身尺寸计算结果),正负均可。

实例:鼠标移到父盒子,子盒子改变位置。将子盒子向左边移动自身的50%(100px),向下移动100px

        .father {
            width: 400px;
            height: 300px;
            margin: 100px auto;
            border: 1px solid #000;
        }
        
        .son {
            width: 200px;
            height: 100px;
            background-color: pink;
            transition: all 1s;
        }
        
        .father:hover .son {
            /* transform: translate(200px, 100px); */
            /* 百分比: 参照盒子自身尺寸计算 */
            transform: translate(50%, 100%);
        }
   

二、平面转换—旋转

旋转属性:transform: rotate(旋转角度);角度单位为:deg

取值:正值为顺时针旋转,负值时逆时针旋转

实例:将图片顺时针旋转30°

img {
            width: 200px;
            transition: all 1s;
        }
img:hover {
            transform: rotate(30deg);
        }

三、平面转换—改变转换原点

默认的情况下,转换原点是盒子中心点

属性:transform-origin: 水平原点位置 垂直原点位置;

取值: 方位名词,像素单位数值,百分比

实例:将图片以左上角为转换原点进行旋转

img {
            width: 200px;
            transition: all 1s;
            transform-origin: left top;
        }
        
        img:hover {
            transform: rotate(60deg);
        }

四、平面转换—缩放

属性:transform: scale(缩放倍数);transform: scale(X轴缩放倍数,Y轴缩放倍数);

取值:大于1表示放大,小于1表示缩小

通常只设置一个值,表示X轴和Y轴等比例缩放

实例:将图片放大2倍

 .box {
            width: 300px;
            height: 200px;
            margin: 100px auto;
            background-color: pink;
        }
        
        .box img {
            width: 100%;
            transition: all 0.5s;
        }
        
        .box:hover img {
            transform: scale(2);
        }

五、平面转换—倾斜

属性:transform: skew();

取值:角度度数deg,取正值表示向左倾斜,取负值表示向右倾斜

实例:将盒子向左倾斜30°

div {
            margin: 100px auto;
            width: 100px;
            height: 200px;
            background-color: pink;
            transition: all .5s;
        }
        
div:hover {
            transform: skew(30deg);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenGL是一种开源代码的图形库,用于开发二维和三维图形应用程序。其支持光照、平移旋转等功能。 光照是在OpenGL中实现逼真和真实感的一个重要方面。通过对物体表面的光照进行计算和模拟,可以模拟出光线在真实世界中的表现。OpenGL提供了多种光照模型和光源类型,如平行光照、点光源和聚光灯等。通过设置光源的属性,如位置、颜色和强度,可以控制光照的效果。同时,还可以设置材质的属性,如漫反射、镜面反射和环境光反射等,以使物体表面具有不同的反射特性。 平移旋转是控制物体在OpenGL中位置、方向和大小的重要操作。通过平移(Translation),可以改变物体的位置。通过旋转(Rotation),可以改变物体的方向。通过(Scaling),可以改变物体的大小。这些操作可以通过设置模型视图矩阵来实现,将物体的顶点坐标进行相应的变换。平移旋转都可以相对于世界坐标系进行,也可以相对于物体自身坐标系进行。 在OpenGL中,可以通过矩阵操作来实现平移旋转平移可以通过将物体的位置矩阵与一个平移矩阵相乘来实现。旋转可以通过将物体的方向矩阵与一个旋转矩阵相乘来实现。可以通过将物体的大小矩阵与一个矩阵相乘来实现。通过改变这些矩阵的数值,可以控制物体在空间中的位置、方向和大小。 总结来说,OpenGL提供了一系列的函数和接口,可以实现光照、平移旋转等操作,使得开发者可以自由控制物体的表现和行为。这些功能在图形应用程序中非常重要,可以帮助开发者创建出逼真和动态的图形效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值