地理测绘基础知识(4) 照射计算

news2024/11/16 15:38:36

照射计算,是一种常用的三维几何计算。已知一个光源的光强图,计算光源投射到地表各处的功率密度。这种计算需求可以直观的理解为计算已知位置、指向、聚光特性的手电筒,计算地表某地点强度。

本文的推导涉及很多旋转,很容易出错和糊涂。当时刚刚毕业时,通宵推导、用Turbo C花了很大力气实现,结果笔记、程序都找不到了。现在已经白发丛生,从头重温一遍,也很是有趣。本推导可能存在符号反转等错误,等笔者后续做更有意思的场景时,不断验证才能更正。大家千万不要把这个代码真拿去仿真去了,十有八九会踩坑(-!
T
言归正传,为回答这个问题,需要进行几步描述。我们先解决单点测量问题:给定地表一点M,测量M位置的强度。

1 光源的强度

光源的远场强度特性,可以用一个三维矩阵来描述。上图中,假设在ECEF坐标系下,光源位于T点,其主轴为矢量 T C ⃗ \vec {TC} TC 。C是光源的轴线与地表的交点。假设地面有个观测点M,其与光源主轴的夹角为 α = ∠ C T M \alpha=\angle CTM α=CTM。同时,面TCM 与0度朝向面 TCA 的旋转夹角为 β \beta β

则可以定义功率密度函数
F ( α , β ) F(\alpha, \beta) F(α,β)
来表示这个光源与全向光源之间的归一化增益密度。F的单位是 dBi,是该方向、距离上的等效全向辐射增益密度。需要格外强调的是,这种增益密度还需要与距离结合起来,才能计算出能量。此现象隐含着当光斑极为倾斜时,光斑上相同角度参数的部位,因为距离不同,能量的绝对值也不同。该值的意义参考电磁场弗里斯公式。

用这个函数可以生成方向图——一种极坐标形式的二维场强图。但二维场强图无法描述不规则的非对称场景,比如放在手电筒头部的广告画掩膜。这种掩膜经常被店铺用于在地表投射带有自身Logo的投影。在微波领域,由赋型波束形成的沿海岸线蜿蜒的照射区域也体现了高度的非对称性。因此,我们的计算还是需要基于函数F来做。这个F需要用户提供。

F参考的是一种极坐标系, α β D \alpha\beta D αβD坐标系,三个维度分别是轴夹角、转角、距离。

2 光源的指向

光源的指向,牵扯到另一个姿态坐标系- HPR 坐标系。这个坐标系以手电筒为原点,光源方向为H轴,轴线指向开关的方向为P轴,与H、P垂直的为R轴,如下图所示:

H

在之前的推导中,我们使用了 ENU 坐标系,也就是东北天,且定义方向是正北为0,顺时针递增。把手电筒的位置作为ENU的原点,在ENU坐标系的基础上,可以定义 HPR 的换算关系。

2.1 初始化HPR坐标系

为了在奇异角度下,比如正向下,保证矩阵的一致性,规定旋转前,手电开关朝上,平放于地面,指向正北。H轴与N重合,U轴与P重合,E轴与R重合,在ENU坐标下分别为

H ⃗ = { 0 e , 1 n , 0 u } , P ⃗ = { 0 e , 0 n , 1 u } , R ⃗ = { 1 e , 0 n , 0 u } \vec H=\{0_e,1_n,0_u\}, \vec P=\{0_e,0_n,1_u\}, \vec R=\{1_e,0_n,0_u\} H ={0e,1n,0u},P ={0e,0n,1u},R ={1e,0n,0u}

在这里插入图片描述

为了后面计算方便,我们写成矩阵形式:

T = [ 0 e 1 n 0 u 0 e 0 n 1 u 1 e 0 n 0 u ] T=\begin{bmatrix} {0_e}& {1_n} & {0_u }\\ {0_e} &{ 0_n} &{ 1_u }\\ {1_e}&{0_n} & {0_u} \end{bmatrix} T= 0e0e1e1n0n0n0u1u0u
上式中,矢量的列分别为E、N、U三个坐标,行是 H,P,R在ENU中的矢量。

2.2 引入旋转量

手电从初始状态开始,可在三维空间发生旋转,导致两个坐标系不再重合。要计算ENU坐标系下的点M在手电的本地坐标系HPR中的坐标,只需要计算H\P\R三个向量在ENU坐标系下的最终指向,而后把M与这组向量点积,得到的投影就是HPR坐标了。

手电筒的三维空间姿态,可描述为头部指向 (Heading),俯仰(Pitch),横滚(Roll)。为了不出现混淆,规定施加三类旋转的顺序为H、P、R依次施加。

(1) Heading 朝向旋转

定义Heading角度 h h h为手电绕 P ⃗ \vec P P 矢量顺时针旋转的度数。注意,旋转后, H ⃗ \vec H H , R ⃗ \vec R R 都变化了,不再和 E ⃗ \vec E E N ⃗ \vec N N 重合。

H ′ = { sin ⁡ h , cos ⁡ h , 0 } , P ⃗ = { 0 , 0 , 1 } , R ′ = { cos ⁡ h , − sin ⁡ h , 0 } H'=\{\sin h, \cos h,0\},\vec P=\{0,0,1\},R'=\{\cos h, -\sin h,0\} H={sinh,cosh,0},P ={0,0,1},R={cosh,sinh,0}

也就是

T ′ = [ 0 1 0 0 0 1 1 0 0 ] × [ cos ⁡ h − sin ⁡ h 0 sin ⁡ h cos ⁡ h 0 0 0 1 ] H = [ sin ⁡ h cos ⁡ h 0 0 0 1 cos ⁡ h − sin ⁡ h 0 ] T'=\begin{bmatrix} {0}& {1} & {0 }\\ {0} &{ 0} &{ 1 }\\ {1}&{0} & {0} \end{bmatrix} \times \begin{bmatrix} { \cos h}& { -\sin h} & {0 }\\ { \sin h} &{ \cos h} &{ 0 }\\ {0}&{0} & {1} \end{bmatrix}_H = \begin{bmatrix} \sin h & \cos h &0\\ {0} &{ 0} &{ 1 }\\ \cos h& -\sin h&0 \end{bmatrix} T= 001100010 × coshsinh0sinhcosh0001 H= sinh0coshcosh0sinh010

(2) Pitch 俯仰旋转

定义俯仰(Pitch) p p p是手电绕R旋转的度数:

H ⃗ ′ = { 0 , cos ⁡ p , − sin ⁡ p } , P ⃗ ′ = { 0 , sin ⁡ p , cos ⁡ p } , R ⃗ = { 1 , 0 , 0 } \vec H'=\{0,\cos p,-\sin p \}, \vec P'=\{0,\sin p,\cos p\}, \vec R=\{1,0,0\} H ={0,cosp,sinp},P ={0,sinp,cosp},R ={1,0,0}
T ′ = [ 0 1 0 0 0 1 1 0 0 ] × [ 1 0 0 0 cos ⁡ p − sin ⁡ p 0 sin ⁡ p cos ⁡ p ] P = [ 0 cos ⁡ p − sin ⁡ p 0 sin ⁡ p cos ⁡ p 1 0 0 ] T'=\begin{bmatrix} {0}& {1} & {0 }\\ {0} &{ 0} &{ 1 }\\ {1}&{0} & {0} \end{bmatrix} \times \begin{bmatrix} 1&0&0\\ 0&\cos p & -\sin p\\ 0& \sin p&\cos p \end{bmatrix}_P = \begin{bmatrix} 0 & \cos p & -\sin p\\ 0 & \sin p & \cos p\\ 1&0&0 \end{bmatrix} T= 001100010 × 1000cospsinp0sinpcosp P= 001cospsinp0sinpcosp0

(3)Roll 横滚旋转

定义横滚(Roll) r r r是在当前坐标下,绕 H 旋转的度数:

H ⃗ = { 0 , 1 , 0 } , P ⃗ ′ = { − sin ⁡ r , 0 , cos ⁡ r } , R ⃗ ′ = { cos ⁡ r , 0 , sin ⁡ r } \vec H=\{0,1,0\}, \vec P'=\{-\sin r ,0 ,\cos r \}, \vec R'=\{ \cos r ,0,\sin r\} H ={0,1,0},P ={sinr,0,cosr},R ={cosr,0,sinr}

T ′ = [ 0 1 0 0 0 1 1 0 0 ] × [ cos ⁡ r 0 sin ⁡ r 0 1 0 − sin ⁡ r 0 cos ⁡ r ] R = [ 0 1 0 − sin ⁡ r 0 cos ⁡ r cos ⁡ r 0 sin ⁡ r ] T'=\begin{bmatrix} {0}& {1} & {0 }\\ {0} &{ 0} &{ 1 }\\ {1}&{0} & {0} \end{bmatrix} \times \begin{bmatrix} \cos r&0&\sin r\\ 0&1&0\\ -\sin r&0& \cos r \end{bmatrix}_R = \begin{bmatrix} 0&1&0\\ -\sin r &0 & \cos r\\ \cos r &0&\sin r \end{bmatrix} T= 001100010 × cosr0sinr010sinr0cosr R= 0sinrcosr1000cosrsinr

2.3 从旋转到坐标系

有了上述定义,则可计算旋转后的坐标轴的向量。上文中,手电的初始坐标系在其ENU下的三个坐标轴的矢量如下:
T e n u = [ H ⃗ P ⃗ R ⃗ ] = [ 0 1 0 0 0 1 1 0 0 ] T_{enu}=\begin{bmatrix} {\vec H}\\ {\vec P}\\ {\vec R} \end{bmatrix}=\begin{bmatrix} {0}& {1} & {0 }\\ {0} &{ 0} &{ 1 }\\ {1}&{0} & {0} \end{bmatrix} Tenu= H P R = 001100010
则经过Heading旋转 h h h度、Pitch旋转 p p p度、翻滚 r r r度后,坐标轴变为:
T e n u ′ = [ 0 1 0 0 0 1 1 0 0 ] × ( [ cos ⁡ h − sin ⁡ h 0 sin ⁡ h cos ⁡ h 0 0 0 1 ] H × [ 1 0 0 0 cos ⁡ p − sin ⁡ p 0 sin ⁡ p cos ⁡ p ] P × [ cos ⁡ r 0 sin ⁡ r 0 1 0 − sin ⁡ r 0 cos ⁡ r ] R ) T'_{enu}=\begin{bmatrix} {0}& {1} & {0 }\\ {0} &{ 0} &{ 1 }\\ {1}&{0} & {0} \end{bmatrix}\times\left ( \begin{bmatrix} { \cos h}& { -\sin h} & {0 }\\ { \sin h} &{ \cos h} &{ 0 }\\ {0}&{0} & {1} \end{bmatrix}_H \times \begin{bmatrix} 1&0&0\\ 0&\cos p & -\sin p\\ 0& \sin p&\cos p \end{bmatrix}_P \times \begin{bmatrix} \cos r&0&\sin r\\ 0&1&0\\ -\sin r&0& \cos r \end{bmatrix}_R \right) Tenu= 001100010 × coshsinh0sinhcosh0001 H× 1000cospsinp0sinpcosp P× cosr0sinr010sinr0cosr R
经过化简:

T e n u ′ = T e n u × [ cos ⁡ h cos ⁡ r − sin ⁡ h sin ⁡ p sin ⁡ r − sin ⁡ h cos ⁡ p cos ⁡ h sin ⁡ r + sin ⁡ h sin ⁡ p cos ⁡ r sin ⁡ h cos ⁡ r + cos ⁡ h sin ⁡ p sin ⁡ r cosh ⁡ cos ⁡ p sin ⁡ h sin ⁡ r − cos ⁡ h sin ⁡ p cos ⁡ r − cos ⁡ p sin ⁡ r sin ⁡ p cos ⁡ p cos ⁡ r ] T T'_{enu}=T_{enu}\times\begin{bmatrix} {\cos h \cos r-\sin h \sin p \sin r}& {-\sin h\cos p} & {\cos h \sin r + \sin h \sin p \cos r }\\ {\sin h \cos r + \cos h \sin p \sin r} &{ \cosh \cos p} &{ \sin h\sin r - \cos h \sin p \cos r }\\ {-\cos p \sin r} & {\sin p } & \cos p \cos r \end{bmatrix}_{T} Tenu=Tenu× coshcosrsinhsinpsinrsinhcosr+coshsinpsinrcospsinrsinhcospcoshcospsinpcoshsinr+sinhsinpcosrsinhsinrcoshsinpcosrcospcosr T

该代码入口:

/*!
 * \brief hpr_T_from_hpr HPR 的三轴在ENU下的向量
 * \param hpr: Heading=h Pitch=p, Roll=r,小写的hpr是角度
 * \param T	: ENU下的HPR三轴向量。在旋转为0时, E=R N=H U=P。大写的HPR是笛卡尔坐标
 * \param rad 弧度true/度 false
 */
inline void hpr_T_in_enu(
	const double hpr[/*3*/],
	double T[/*3*/][3],
	const bool rad = false	);

因此,任意ENU坐标 M ⃗ \vec M M 在手电筒的坐标系里的坐标1有如下转换关系:

M ⃗ H P R ′ T = T e n u ′ × M e n u T \vec M'^T_{HPR}=T'_{enu}\times M^T_{enu} M HPRT=Tenu×MenuT

M ⃗ e n u ′ T = T e n u ′ T × M H P R T \vec M'^T_{enu}=T'^T_{enu}\times M^T_{HPR} M enuT=TenuT×MHPRT

主要入口:

/*!
 * \brief enu2HPR enu 笛卡尔坐标到 HPR 笛卡尔坐标。注意,大写HPR是坐标不是角度。
 * \param T		HPR 的三轴在ENU下的向量,由hpr_T_in_enu生成
 * \param A_enu	enu坐标矢量
 * \param A_HPR	HPR坐标矢量
 */
inline void enu2HPR(
	const double T[/*3*/][3],
	const double A_enu[/*3*/],
	double A_HPR[/*3*/]);
/*!
 * \brief HPR2enu  HPR 笛卡尔坐标到 enu笛卡尔坐标。注意,大写HPR是坐标不是角度。
 * \param T		HPR 的三轴在ENU下的向量,由hpr_T_in_enu生成
 * \param A_HPR	HPR坐标矢量
 * \param A_enu	enu坐标矢量
 */
inline void HPR2enu(
	const double T[/*3*/][3],
	const double A_HPR[/*3*/],
	double A_enu[/*3*/]);

T矩阵也是一类正交矩阵,逆就是转置。通过上述变换,能够把本篇的测量点M的坐标,依次转 ECEF, ENU, HPR,变成以手电筒的本地HPR坐标系为参考的位置,以便求取 F ( α , β ) F(\alpha, \beta) F(α,β)需要的角度、距离。

3 联合求解

3.1 M的 α β D \alpha\beta D αβD坐标

当测试点M的HPR坐标已知后,可以根据几何关系直接确定角度、距离。
D = H 2 + P 2 + R 2 D=\sqrt{H^2+P^2+R^2} D=H2+P2+R2

tan ⁡ β = − R P \tan \beta=-\frac{R}{P} tanβ=PR

cos ⁡ α = H D \cos \alpha=\frac{H}{D} cosα=DH

范例:

void demo_cover()
{
	using namespace CES_GEOCALC;
	//光源的LLA
	const double lla_torch [3] = {35.273, 117.121, 17500};
	//光源的姿态角度
	const double hpr_torch [3] = {135,45,-30};
	double T_torch[3][3] = {0,0,0,0,0,0,0,0,0};
	hpr_T_in_enu(hpr_torch,T_torch);
	//光源 ECEF
	double ecef_torch[3] = {0,0,0};
	lla2ecef(lla_torch,ecef_torch);
	//光源ENU
	double R_torch[3][3] = {0,0,0,0,0,0,0,0,0};
	enu_R_from_lla(lla_torch,R_torch);


	//M 的LLA、ECEF
	const double lla_M [3] = {34.773, 117.621, 265};
	double ecef_M[3] = {0,0,0};
	lla2ecef(lla_M,ecef_M);
	//M 在光源ENU中的坐标
	double enu_M[3]={0,0,0};
	ecef2enu(R_torch,ecef_torch,ecef_M,enu_M);

	//M 在光源 HPR中的坐标
	double hpr_M[3] = {0,0,0};
	enu2HPR(T_torch,enu_M,hpr_M);

	//alpha beta D
	const double H = hpr_M[0], P=hpr_M[1], R=hpr_M[2];
	const double D = sqrt(H*H+P*P+R*R);
	const double alpha = rad2deg * acos(H/D);
	const double beta = rad2deg * ((P>=-1e-10 && P<1e-10 && R>=-1e-10 && R<1e-10 )?0:-atan2(R,P));

	printf ("D=%lf,Alpha=%lf,Beta=%lf\n",D,alpha,beta);
}

3.2 读取场强

以千米、MHz为单位,强度的分贝密度为:

m = − 32.4 − 20 lg ⁡ d − 20 lg ⁡ f + F ( α , β ) m=-32.4-20 \lg d -20 \lg f + F(\alpha, \beta) m=32.420lgd20lgf+F(α,β)

再知道光源功率P(dbW)、接收增益A,则实际的捕获功率:

E = P + F ( α , β ) − 32.4 − 20 lg ⁡ d − 20 lg ⁡ f + A E = P + F(\alpha, \beta) -32.4-20 \lg d -20 \lg f + A E=P+F(α,β)32.420lgd20lgf+A

4. 题外话

只要HPR定了,手电的姿态就定了。这里还隐藏一个有趣的问题,就是从手电的最终坐标轴,有时是无法推回HPR的。比如第二步Pitch为90度时,Heading+Roll其实是多个值都能达到当前的姿态。

对具有速度的物体,若非要反推HPR,还要结合当时的加速度方向,以保持Heading或者推力轴的平稳过度。

5 代码链接

https://gitcode.net/coloreaglestdio/geocalc


  1. 坐标行向量,在ENU里的顺序为ENU,在HPR里的顺序为HPR。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/957959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElasticSearch安装为Win11服务

在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 &#xff0c;启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch ,这样直接启动的话集群名称会默elasticsearch&#xff0c;节点名称会随机生成。 停止就直接在cmd界面按CtrlC 其实我们也可以将elasticse…

Ansible学习笔记14

实现多台的分离实现&#xff1a; [rootlocalhost playbook]# cat example3.yaml --- - hosts: 192.168.17.105remote_user: roottasks:- name: create test1 directoryfile: path/test1/ statedirectory- hosts: 192.168.17.106remote_user: roottasks:- name: create test2 d…

Python—匹配字段

1. 「概述」 在日常开发中&#xff0c;经常需要对数据中的某些字段进行匹配&#xff0c;但这些字段可能存在微小的差异。例如&#xff0c;同一个招聘岗位的数据中&#xff0c;省份字段可能有“广西”、“广西壮族自治区”和“广西省”等不同的写法。为了处理这些情况&#xff…

二叉树的介绍

写在前面&#xff1a; 二叉树是数据结构课程中非常重要的内容&#xff0c;我们针对二叉树的概念、性质以及类型展开详细介绍。 一、概念 二叉树&#xff08;Binary Tree&#xff09;是n&#xff08;n>0&#xff09;个结点的有限集合&#xff0c;该集合或者空集&#xff0…

C语言用递归函数求解斐波那契数

int Fib(int n) {if (n 1 || n 2){return 1;}return Fib(n - 1) Fib(n - 2); }int main() {int i 0;printf("请输入需要第几个斐波那契数\n");scanf("%d", &i);int r Fib(i);printf("%d\n", r);return 0; }

JVM 对象的内存布局

对象头 Mark word 标记字段 用于存储对象自身的运行时数据&#xff0c;如哈希码&#xff08;HashCode&#xff09;、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等 ClassPoint 类型指针 对象指向它的类型元数据的指针&#xff0c;Java虚拟机通过这个指针 来…

C++——shared_ptr:make_shared的用处,与shared_ptr直接构造的区别

shared_ptr shared_ptr继承自__shared_ptr&#xff0c;其中有两个对象&#xff0c;一个是指向资源的指针&#xff0c;一个是控制块&#xff0c;指向一个引用计数对象。控制块中存储了强引用和弱引用的计数&#xff0c;强引用Uses代表shared_ptr对象的引用计数&#xff0c;弱引…

excel怎么设置任意选一个单元格纵横竖横都有颜色

有时excel表格内容过多的时候&#xff0c;我们通过excel设置任意选一个单元格纵横&#xff0c;竖横背景颜色&#xff0c;这样会更加具有辨识度。设置方式截图如下 设置成功后&#xff0c;预览的效果图

常静相伴:深度解析C++中的const与static关键字

个人主页&#xff1a;北海 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C/C&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;大家一起学习交流&#xff01;&#x1f9…

kafka 命令脚本说明以及在java中使用

一、命令行使用 1.1、topic 命令 1、关于topic,这里用window 来示例 bin\windows\kafka-topics.bat2、创建 first topic,五个分区&#xff0c;1个副本 bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --create --partitions 5 --replication-factor 1 -…

nacos import com.alibaba.nacos.consistency.entity.ReadRequest

1. 异常情况 import com.alibaba.nacos.consistency.entity.ReadRequest; import com.alibaba.nacos.consistency.entity.Response; import com.alibaba.nacos.consistency.entity.WriteRequest; 2. 解决方法 安装插件&#xff0c;然后重新编译 记住选择Java8

从零做软件开发项目系列之十——项目运维

项目结项后的运维阶段是确保软件持续稳定运行、修复问题、满足用户需求的关键时期。在这个阶段&#xff0c;需要建立有效的维护制度&#xff0c;关注各种问题&#xff0c;并采取相应措施来保障系统的可靠性和可持续性。 1 运维团队 开展服务运维工作&#xff0c;首先需要组建运…

07.Knowing When to Look

目录 前言泛读摘要Introduction小结 精讲方法Encoder-Decoder框架 for Image CaptioningSpatial Attention ModelAdaptive Attention Model Implementation DetailsEncoder-CNNDecoder-RNNTraining details Related Work实验结论 前言 本课程来自深度之眼《多模态》训练营&…

【前端】Vue2 脚手架模块化开发 -快速入门

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理Vue2 脚手架模块化开发 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一下&#x1faf0;&#x…

前端项目工程化之代码规范

目录 一、前言二、ESLint三、Prettier四、项目实战4.1 环境依赖版本4.2 使用pnpm4.3 git提交规范 五、资源 收集六、源码地址 一、前言 前端项目工程化之代码规范是指在前端项目中定义一套代码规范&#xff0c;以确保项目中的代码风格和格式一致&#xff0c;提高代码的可读性和…

GaussDB数据库SQL系列-行列转换

一、前言 二、简述 1、行转列概念 2、列转行概念 三、GaussDB数据库的行列转行实验示例 1、行转列示例 1&#xff09;创建实验表&#xff08;行存表&#xff09; 2&#xff09;静态行转列 3&#xff09;行转列&#xff08;结果值&#xff1a;拼接式&#xff09; 4&…

文心一言 VS CHATGPT

由于近几天来&#xff0c;我的手机短信不断收到百度公司对于“文心一言”大模型的体验邀请&#xff08;真是不胜其烦&#xff09;&#xff01;&#xff01;所以我就抱着试试看的态度点开了文心一言的链接&#xff1a;文心一言 目前看来&#xff0c;有以下两点与chatgpt是有比较…

Plex私人影音云盘搭建教程:本地电脑使用内网穿透实现远程访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

《中国人工智能人才学习白皮书》发布!

Datawhale发布 2023 中国人工智能人才学习白皮书 I 导读 日前&#xff0c;由 Datawhale 联合上海白玉兰开源开放研究院、和鲸科技、江南大学教育信息化研究中心编写的《2023中国人工智能人才学习白皮书》&#xff08;下简称“白皮书”&#xff09;于8月24日正式发布。 学界大咖…

谈谈对OceanBase单机分布式一体化的思考

关于作者&#xff1a; 杨传辉&#xff0c;OceanBase CTO。2010 年作为创始成员之一加入 OceanBase 团队&#xff0c;主导了 OceanBase 历次架构设计和技术研发&#xff0c;从无到有实现 OceanBase 在蚂蚁集团全面落地。同时&#xff0c;他也主导了两次 OceanBase TPC-C 测试并打…