首页 > 其他分享 >3d旋转,让围绕某一个建筑转动

3d旋转,让围绕某一个建筑转动

时间:2024-12-06 11:33:12浏览次数:4  
标签:bezier 0.36 100% alternate 转动 旋转 0.64 10s 3d

<template>
    <div>
        <div>3dRotate</div>
    <!-- 中间 -->
        <div class="center">
            <div class="bigger">
                <div class="animate">
                    <ul class="ball">
                        <li>
                            <div>
                                <div class="tip">
                                    <div>任务总量<span value="12"  class="num" style="color: #1fdbf5">12</span>条</div>
                                    <div>任务成功<span value="13" class="num"  style="color: #32ee16">11</span>个</div>
                                    <div>任务进行中<span value="14"  class="num" style="color: #f3804f">13</span>个</div>
                                    <div>任务失败<span value="15" class="num" style="color: #f34fd8">14</span>个</div>
                                </div>
                                <p>任务</p>
                                <img src="./images/rw@2x.png">
                            </div>
                        </li>
                        <li>
                        <div>
                            <div class="tip">
                            <div>总节点数<span value="22" class="num" style="color: #1fdbf5"></span>条</div>
                            <div>调度节点数<span value="22"  class="num" style="color: #32ee16"></span>个</div>
                            <div>爬虫节点数<span  value="22"  class="num" style="color: #f3804f"></span>个</div>
                            <div>存储节点数<span value="22"  class="num" style="color: #f34fd8"></span>个</div>
                            </div>
                            <p>调度</p>
                            <img src="./images/dd@2x.png">
                        </div>
                        </li>
                        <li>
                        <div>
                            <div class="tip">
                            <div>总采集量<span value="22" class="num" style="color: #1fdbf5"></span>条</div>
                            <div>文本采集<span value="22" class="num" style="color: #32ee16"></span>个</div>
                            <div>音视频采集<span value="22" class="num" style="color: #f3804f"></span>个</div>
                            </div>
                            <p>采集</p>
                            <img src="./images/cj@2x.png">
                        </div>
                        </li>
                        <li>
                        <div>
                            <div class="tip">
                            <div>总存储量<span value="22" class="num" style="color: #1fdbf5"></span>条</div>
                            <div>文本数据<span value="22" class="num" style="color: #32ee16"></span>条</div>
                            <div>音视频数据<span value="22" class="num" style="color: #f3804f"></span>条</div>
                            </div>
                            <p>存储</p>
                            <img src="./images/cc@2x.png">
                        </div>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</template>
<style scoped lang="scss">
.center {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 38%;
  height: 90vh;
  margin: 0 auto;
  border:1px solid red;
}

.box {
  //margin-bottom: 11px;
  margin-bottom: calc(11px - #{rpx(2)});
  //background-color: #ccc;
  background: url('./images/box.png') center no-repeat;
  background-size: 100% 100%;
  //height: 30vh;
  height: calc(30vh - #{rpx(2)});
}
.box1 {
  //margin-bottom: -10.5px;
  margin-bottom: calc(-10.5px + #{rpx(10)});
  //background-color: #ccc;
  background: url('./images/box.png') center no-repeat;
  background-size: 100% 100%;
  //height: 30vh;
  height: calc(30vh - #{rpx(2)});
}
.bigger {
  background: url('./images/1.png') center no-repeat;
  background-size: 100% 100%;
  height: 58.5vh;
  width:100%;

  margin: 8% auto;
}
/* 旋转动画 */
.animate {
  width: 38%;
  height: 8.575rem;
  margin: 8% auto;
  opacity: 1;
  border-radius: 50%;
  background: url('./images/r_ellipse.png') center no-repeat;
  background-size: 100% 100%;
  position: absolute;
//   border:1px solid seagreen;
//   left: 33%;
  top: 19%;
}
@keyframes animX {
  0% {
    left: -2rem;
  }
  100% {
    left: 40rem;
  }
}

@keyframes animY {
  0% {
    top: -4rem;
    opacity: 0.2
  }
  100% {
    top: 4rem;
  }
}

@keyframes scale {
  0% {
    transform: scale(0.5);
    transition: all 2s;
  }
  50% {
    transform: scale(1.0);
    transition: all 2s;
  }
  100% {
    transform: scale(0.5);
    transition: all 2s;
  }
}
.ball {
  width: 4rem;
  height: 2.675rem;
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.3rem;

  li{
    position: absolute;
    list-style: none; // 去掉li的黑点
    z-index: 99;

    .tip{
      position: absolute;
      border-radius: 10px;
      border: solid 1px #44b3ff;
      background-color: rgb(68, 179, 255, 0.4);
      color: #fff;
      top: -180px;
      left: -20px;
      width: 220px;
      padding: 5px;
      font-size: 16px;
      .num{
        font-size: 30px;
        font-weight: bold;
        font-family: electronicFont;
        letter-spacing: 2px; // 修改字符之间的间距
      }
    }
    p {
      position: absolute;
      color: white;
      font-size: 16px;
      top: 18px;
      left: 40px;
    }
    /* 4个图x和y轴动画加起来是20s , 20s/4 等于 5s
    每个球y轴动画延迟 从0递减5s,x轴与y轴相差动画时长的一半(10s/2) */
    &:nth-child(1){
      animation: animX 10s cubic-bezier(0.36, 0, 0.64, 1) -5s infinite alternate,
      animY 10s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate,
      scale 20s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate;
    }
    &:nth-child(2){
      animation: animX 10s cubic-bezier(0.36, 0, 0.64, 1) -10s infinite alternate,
      animY 10s cubic-bezier(0.36, 0, 0.64, 1) -5s infinite alternate,
      scale 20s cubic-bezier(0.36, 0, 0.64, 1) -5s infinite alternate;
    }
    &:nth-child(3){
      animation: animX 10s cubic-bezier(0.36, 0, 0.64, 1) -15s infinite alternate,
      animY 10s cubic-bezier(0.36, 0, 0.64, 1) -10s infinite alternate,
      scale 20s cubic-bezier(0.36, 0, 0.64, 1) -10s infinite alternate;
    }
    &:nth-child(4){
      animation: animX 10s cubic-bezier(0.36, 0, 0.64, 1) -20s infinite alternate,
      animY 10s cubic-bezier(0.36, 0, 0.64, 1) -15s infinite alternate,
      scale 20s cubic-bezier(0.36, 0, 0.64, 1) -15s infinite alternate;
    }
  }
}

.ball:hover li{
  transform: scale(1.2);
  cursor: pointer;
  animation-play-state: paused;
  -moz-animation-play-state: paused;
  -webkit-animation-play-state: paused;
}
.num {
        color: cornflowerblue;
        font-size: 1.125rem;
        vertical-align: middle;
        padding: 0 0.9375rem;
        font-weight: bold;
      }
</style>

标签:bezier,0.36,100%,alternate,转动,旋转,0.64,10s,3d
From: https://www.cnblogs.com/baozhengrui/p/18590333

相关文章

  • Unity3D Animation——动画复用
    本文是教程笔记,教程原链接:【【Unity动画系统详解四】八分钟理解并掌握Avatar和人形动画复用【Unity开发入门教程12】】https://www.bilibili.com/video/BV1GL4y1B7s1/?share_source=copy_web&vd_source=fc9b875b7d798c12d213e8f6d07a77f9概念unity动画需要三个部分:动画片段......
  • 3D Slicer与MONAI人工智能三维影像处理
    如何又快又高效的做三维影像?勾画roi?案例1患者腹腔占位半月余,完善CT增强扫描,使用Slicer对肿瘤,胰腺,动脉,静脉进行三维重建。重建时间1-5分钟。案例2胸部CT平扫,使用slicer对肺结节,肺叶,气管,血管,心脏等重要解剖关系进行展示,便于制定手术规划并向患者解释。整个重建时间小......
  • 第四届瑞云渲染大赛:即将盛大开幕,探索3D艺术新境界!
    瑞云渲染大赛自举办以来,已连续三届获得巨大成功,在国内3D艺术界享有盛誉。每一届都吸引了众多国内顶尖的3D艺术家和爱好者参与,这不仅是一场技术的较量,更是一次深入探索3D艺术新境界的奇妙旅程。令人兴奋的是,第四届瑞云渲染大赛即将盛大开幕,下面来了解下开赛时间吧!随着2024年12月......
  • 【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?
    【NLP高频面题-LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?重要性:⭐⭐⭐......
  • 高性能计算-NEON-图像旋转
    1.目标:使用NEONintrinsic函数,对512*512png四通道图像顺时针旋转90度。思路:像素分块,对块内转置;再水平镜像。图像库使用stbimg2.代码#include<stdio.h>#include<arm_neon.h>#include<stdlib.h>#defineSTB_IMAGE_IMPLEMENTATION#include"./stb/stb_image.h"......
  • 3D点云-Pointnet++模型解读(附源码+论文)
    3D点云-Pointnet++模型代码链接:pointnet2-pytorch-study(关键部分代码注释详细,参考Pointnet_Pointnet2_pytorch)论文链接:PointNet++:DeepHierarchicalFeatureLearningonPointSetsinaMetricSpace官方链接:pointnet2(源码基于TensorFlow)公开3D点云数据集:modelnet4......
  • Css动画:旋转相册动画效果实现
    ​......
  • 突破空间限制!从2D到3D:北大等开源Lift3D,助力精准具身智能操作!
    文章链接:https://arxiv.org/pdf/2411.18623项目链接:https://lift3d-web.github.io/亮点直击提出了Lift3D,通过系统地提升隐式和显式的3D机器人表示,提升2D基础模型,构建一个3D操作策略。对于隐式3D机器人表示,设计了一个任务感知的MAE(MaskedAutoencoder),它掩盖了任务相关......
  • w~视觉~3D~合集4
    我自己的原文哦~  https://blog.51cto.com/whaosoft/12715678#3D目标检测~2CameraorLidar?自动驾驶系统依赖于先进的感知、决策和控制技术,通过使用各种传感器(如相机、激光雷达、雷达等)来感知周围环境,并利用算法和模型进行实时分析和决策。这使得车辆能够识别道路标志、......
  • 骑马与砍杀缺少d3dx9 42.dll怎么办?骑马与砍杀缺少d3dx9 42.dll问题的原因分析与解决策
    d3dx9_42.dll是DirectX9.0c库的一部分,主要用于支持图形处理功能。当您在运行《骑马与砍杀》(Mount&Blade)时遇到缺少d3dx9_42.dll的提示,这意味着您的系统中可能没有正确安装或存在该文件。以下是对这一问题的原因分析和解决策略汇总:原因分析1.DirectX安装不完整:如果......