写个旋转矩阵吧~

机器人运动学学习-齐次变化矩阵的推导-单个关节运动的平移矩阵和旋转矩阵证明 机器人学中我们是通过齐次矩阵来描述机器人的关节运动,接下来我们详细的证明下齐次矩阵的推导过程。 阅读详情
def rot(a):
    n = len(a)
    if n <= 1:
        return a
    for i in range(n // 2):
        for j in range(i, n - i - 1):
            tmp = a[i][j]
            a[i][j] = a[n - 1 - j][i]
            a[n - 1 - j][i] = a[n - 1 - i][n - 1 - j]
            a[n - 1 - i][n - 1 - j] = a[j][n - 1 - i]
            a[j][n - 1 - i] = tmp


# 测试通过
for m in range(8):
    print("-"*10 + "--" + "-"*10)
    print("-"*10 + str(m) + "-"*10)
    print("-"*10 + "--" + "-"*10)
    if not m:
        a = []
    else:
        a = [[i + j for j in range(m)] for i in range(1, m ** 2 + 1, m)]

    for i in range(len(a)):
        print(a[i])

    print("-" * 20)
    rot(a)
    for i in range(len(a)):
        print(a[i])
旋转矩阵的导数 本文研究了三维刚体旋转中叉乘矩阵的性质及其在旋转矩阵导数中的应用。随后推导了旋转矩阵导数的两种表达式,分别对应惯性系和局部坐标系下的角速度描述。 阅读详情

相关推荐

欧拉角,轴角,四元数与旋转矩阵详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。目录一、欧拉角1、静态定义2、欧拉角的表示 3、欧拉角表示的优缺点 4、欧拉角的万向节死锁(静态不存在万向锁的问题)二、四元数1、提出意义和定义 (含轴角)2、四元数的相关计算法则3、四元数的极形式4、四元数的使用举例5、四元数的优缺点三、四元数和欧拉角间的相互转化1、四元数转为欧拉角2、欧拉角转为四元数四、旋转矩阵对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。来一个经典的示例

tt丫的博客 1万+

旋转矩阵

一、旋转矩阵的公式 1,绕X轴旋转 2,绕Z轴旋转 3,绕Y轴旋转 4,绕任意轴A旋转 其中 c = cosθ, s = sinθ. 二、旋转矩阵的性质 1,旋转矩阵是可逆的 2,旋转变换是刚性变换,也就是说旋转变换只改变物体的位置,不改变物体的形状和尺寸。 3,旋转矩阵是正交矩阵,也就是旋转矩阵的逆等于其转置,用符号表示为 invert(R) = trans

qingqingluguo的专栏 1万+

看opengl写代码(3) 实现矩阵的旋转

参考   opengl编程指南   P17    直接上代码:  // doubleBuffer.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include static GLint spin = 0; void init(){ glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_FLAT);//

fuming0210sc的专栏 1544

旋转矩阵的几种描述方式

关于旋转矩阵 在坐标系的变换中,主要分为旋转变换和平移变换。对于旋转变换来说,常常通过一个3×3的正交矩阵来描述坐标系的一个旋转过程,也可以用于描述一个空间物体的姿态。 1.旋转矩阵 旋转矩阵一般可以通过以下几种方式获得。 1.1.根据定义 已知存在两个坐标系{A}和{B},如何得到相对于{A}的{B}的姿态,即旋转矩阵BAR^A_BRBA​R呢? 假设用XB^\hat{X_B}XB​^​、YB^\hat{Y_B}YB​^​和ZB^\hat{Z_B}ZB​^​来表示坐标系{B}主轴方向的单位矢量。当用坐标系

Azahaxia的博客 6590

三维旋转矩阵_三维旋转:欧拉角、四元数、旋转矩阵、轴角之间的转换

0 引言来鹅厂实习了一段时间,因为没有什么特别紧急的需求(hahahahaha),所以主要花在了学习和捣鼓一些小工具上。有一个小需求是要实现鼠标拖动球体的转动,然后发现我不再能只用欧拉角来糊弄过去了。然后又发现,网上大部分资料的采用的欧拉角顺规都是xyz,然后我基于D3D11的辣鸡框架用了zxy,公式不太能直接套用,于是摸了两三天鱼,整理了一下几种三维旋转表示(欧拉角,四元数,旋转矩阵,...

weixin_39907131的博客 1838

旋转矩阵、轴角 的小角度近似

旋转矩阵在小角度时与轴角的关系

littlefrogyq的博客 1884

旋转变换(一)旋转矩阵

1. 简介 计算机图形学中的应用非常广泛的变换是一种称为仿射变换的特殊变换,在仿射变换中的基本变换包括平移、旋转、缩放、剪切这几种。本文以及接下来的几篇文章重点介绍一下关于旋转的变换,包括二维旋转变换、三维旋转变换以及它的一些表达方式(旋转矩阵、四元数、欧拉角等)。 2. 绕原点二维旋转 首先要明确旋转在二维中是绕着某一个点进行旋转,三维中是绕着某一个轴进行旋转。二维旋转中最简单

JeckZ博客 2万+

矢量旋转矩阵

一般情况下,我们遇到的旋转矩阵都是 anti-clockwise rotation matrix,即逆时针旋转矩阵。那么有些小伙伴们可能就会问了,顺时针旋转矩阵的形式应该是什么样子呢?很简单,只需要把参数。

u011699626的博客 794

【矩阵】如何构建旋转矩阵

以上介绍了两种方法构建在a,b所在的平面旋转任意角度的矩阵,希望对大家有所帮助。

m0_55411900的博客 1443

华为星闪SLE实战:手把手教你用HarmonyOS开发智能家居控制应用(附完整代码)

本文详细介绍了如何利用华为星闪SLE技术,结合HarmonyOS开发智能家居控制应用。通过对比传统无线技术,阐述了星闪SLE在低时延、高可靠性和高并发方面的优势,并提供了从环境搭建、设备发现、连接管理到核心控制代码的完整实战教程,帮助开发者快速上手这一无线短距通信技术。

bert9linguist的博客 506

【腹腔镜数据集】Cholec80+CholecSeg8k2020+Endoscapes2024

计算机辅助手术的发展旨在提高手术的正确性和安全性。然而,研究人员和工程师却面临着开发和训练更好算法所需的注释数据有限的问题。因此,同步定位与建图(SLAM)等基础算法的发展受到限制。基于Cholec80数据集,从Cholec80中的17个视频片段中提取了8,080个腹腔镜胆囊切除术图像帧,对图像进行注释并向公众发布。该数据集名为 CholecSeg8K。这些图像中的每一个都以十三个类别的像素级注释,这些类别通常在腹腔镜胆囊切除术中发现。

Toky_min的博客 2020

三维坐标系旋转——旋转矩阵到旋转角之间的换算

相关文章: matlab相机标定获取内参 旋转矩阵到旋转角之间的换算 solvepnp 单目三维位姿估计--------利用二维码求解相机世界坐标 solvepnp 单目三维位姿估计--------理论 在做单目三维位姿估计(即估计目标物相对相机的姿态或相机相对目标物的姿态)时会用到solvepnp函数, 函数原型为: cv2.solvePnP(objectPoints, i...

c20081052的专栏 5万+

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

四元数与旋转矩阵

01 什么是四元数 四元数——基本概念 https://zhuanlan.zhihu.com/p/27471300 四元数——旋转 https://zhuanlan.zhihu.com/p/27541307 02 四元数与旋转矩阵 这里主要参考的是 右手系转左手系、旋转矩阵转四元数、四元数的两种表达(Hamilton/JPL)(这篇文章很棒,需要认真看哦~) 网上关于四元数有左手右手两种表达方式,有些地方标明了是在什么坐标系下的公式,而大多数地方是没有的。 所以如果“四元数转旋转矩阵”和“旋转矩阵转四元

gyxx1998的博客 3万+

6G网络的关键技术、应用前景与挑战并存的科技征途

移动通信技术正以前所未有的速度迭代更新,而6G技术的研发进程渐渐成为了当前科技领域的热点。全球各国已纷纷将目光投向了充满想象的6G时代。本文将探讨全球6G技术研发的最新进展,以及6G技术的核心创新与潜在应用。

fiberroad的博客 2424

TP-LINK电信定制摄像头刷机教程:解锁官方功能与固件升级

固件是嵌入式设备的操作系统,控制着硬件的基础功能。其工作原理是通过更新或替换存储在设备非易失性存储器中的程序代码,从而改变设备的行为和功能。这项技术的核心价值在于赋予用户对设备的完全控制权,能够解除厂商或运营商的软件限制,实现功能自定义、性能优化和安全更新。在智能家居、网络设备和物联网领域,固件升级与刷机是常见的工程实践,用于修复漏洞、增加新特性或适配不同平台。本文聚焦于利用TFTP恢复模式这一通用网络设备维护机制,针对TP-LINK电信定制版摄像头,提供一套完整的刷机方案,将设备刷入官方通用版固件,以解除

weixin_34205826的博客 494

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

在Shader中,我们经常对顶点进行旋转变换。我们在这篇文章中了解一下旋转使用的旋转矩阵。

楠溪泽岸的博客 3062

电子技术——共栅和共源共栅放大器的高频响应

我们在之前学过无论是是CS放大器还是CE放大器,都可以看做是一个带通(IC低通)滤波器。在高频处的响应收到输入电容 $C_{in}$ 的限制(主要是米勒效应)。因此,若想扩大放大器的带宽,我们必须减小米勒效应,一种方案就是共栅放大器。

jiahonghao2002的博客 4183

旋转成分矩阵结果分析_SPSS分析最常用的因子分析步骤来啦~

因子分析是指研究从变量群中提取共性因子的统计技术。最早由英国心理学家C.E.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设。基本步骤:...

weixin_33610780的博客 6万+

PPT制作能力在职场中真的重要吗?一定要美术功底才能学好PPT吗?

我推出PPT技能培训专栏啦!好的PPT可以让你事半功倍、2023拥有PPT能力还可以让你具备一门极有价值的斜杠能力。更多内容请进:梦幻训练营专栏。专栏内会用本人积累的近10年的PPT学习方法论在短时间内教会你如何制作出精美绝伦的PPT,每篇教程后还会免费赠送一些小福利,不可多得。

打造全国最全的AI Agent开发知识领域的博客 728

保姆级教程:ABAP 通过 HTTP POST 调用 OData 服务创建业务数据的具体例子

笔者之前的文章发布之后,有朋友在评论区留言,询问 ABAP 除了 Web Service 之外,是否也支持 HTTP 呢?ABAP 这么强大的语言,支持 HTTP 当然不在话下。网上有很多在 ABAP 系统基于 CL_HTTP_CLIENT 工具类,通过 HTTP 协议和第三方系统交互的代码例子。本文介绍笔者项目中一个实际例子,实现的是在 ABAP 系统 A 通过 HTTP 调用 OData 服务,在 ABAP 系统 B 创建业务数据的需求。下面我们按照这个套路来一步步实现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 700

证明旋转矩阵为正交矩阵以及证明旋转矩阵的特征根只能为正负一

本人初学增强现实课程,其中涉及到了矩阵变换的知识点。书中使用三维正交矩阵表示物体的旋转,不过没有给出相关的证明。本人查阅了相关资料,整理了一下各家思路,照着自己的理解写了一下旋转矩阵为正交矩阵的证明以及相关性质的证明。如有错误,欢迎交流指正~ 另外,本文是以一种零基础小白的角度来写,对一些内容会进行非常详细的解释,对一些大佬来说可能会有些冗余,在此先提前告知~

weixin_45830447的博客 3259

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Matlab矩阵旋转45度

1.函数曲线 x=linspace(-2,2); y=x.^2; A=[cosd(-45) -sind(-45);sind(-45) cosd(-45)]*[x;y]; figure; plot(x,y,'r',A(1,:),A(2,:)); axis equal; legend('原图像','顺时针旋转45°后的图像') 2.图像旋转~=矩阵旋转 mat = [1 2 3;4 5 ...

heibaigezi的博客 9098

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【机器视觉】旋转矩阵,坐标系变换

分享一下我搓机器人过程中遇到的问题在机器视觉中,常需要将物体的坐标从一个坐标系变换到另一个坐标系。旋转矩阵可以精确描述物体在三维空间中的旋转关系,常配合平移矢量一起完成刚体变换。相关算法放在文末,博主不是计算机专业,代码基本都是根据数学公式写出来的,没有优化~

weixin_73858308的博客 2738

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

matlab因子载荷矩阵正交旋转,因素分析中的矩阵旋转

因素分析中的矩阵旋转因素分析法因素分析是一种统计技术,目的是从众多的可观测的“变量”中,概括和推论少数“因素”。用最少数的“因素”来概括和解释最大量的观测事实。揭示事物之间的最本质联系。因素分析法的步骤KMO和Bartlett球形检验因素分析前,首先进行KMO检验和Bartlett球体检验。KMO检验用于检查变量间的相关性和偏相关性,取值在0~1之间。KMO统计量越接近于1,变量间的相关性越强,偏...

weixin_30308101的博客 5342

运动学解析~旋转矩阵推导

极坐标系和直角坐标系是等价的,在极坐标系下,一个点可以表示为(r,θ),在直角坐标系下,表示为(x,y)。那么A点在老坐标系下的坐标值(x,y)是已知的,因此只要知道,新坐标系相对于老坐标系的旋转情况(旋转矩阵)就能知道,B点在老坐标系下的坐标(x',y')了。在极坐标系下一个点的坐标,用角度和长度表示即可,在直角坐标系下一个点的坐标,用x,y来表示。A点相对于老坐标系(黑色坐标系)的方位与B点相对于新坐标系(红色坐标系)的方位一致,因此。(3)因此得出(x',y')=旋转矩阵*(x,y)

Edward的博客 1271
上一篇: 写个最长无重复子串吧~
下一篇: 写个二分查找吧~
math_computer
博客等级 码龄8年 43粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值