深入了解PINN:物理信息神经网络(Physics-Informed Neural Networks)
1. 什么是PINN(物理信息神经网络)?
物理信息神经网络(PINN,Physics-Informed Neural Networks)是一类通过结合神经网络和物理方程的深度学习方法。其主要特点是将物理系统的约束条件(如偏微分方程)融入到神经网络的训练过程中,使得网络不仅能学习数据中的模式,还能满足物理规律。
在传统的神经网络训练中,网络的目标是通过数据来拟合目标函数,而在PINN中,网络不仅仅依赖数据,还会受到物理方程的约束。例如,对于涉及流体动力学、热传导、结构力学等领域的问题,PINN能够在没有大量实验数据的情况下,通过物理方程来精确地描述系统的行为。
2. PINN的基本原理
2.1 神经网络与物理方程的结合
PINN通过修改传统的损失函数,加入物理约束(如偏微分方程的残差),从而确保神经网络的输出不仅能够拟合训练数据,还能满足物理系统的动态行为。
假设我们有一个带有物理约束的模型,例如流体动力学的Navier-Stokes方程或者热传导方程。PINN的损失函数由两部分组成:
- 数据损失:基于观测数据或边界条件。
- 物理损失:基于物理方程的残差,例如通过将网络的输出代入PDE(偏微分方程)计算得到的误差。
损失函数通常表示为:
L PINN = L data + L physics \mathcal{L}_{\text{PINN}} = \mathcal{L}_{\text{data}} + \mathcal{L}_{\text{physics}} LPINN=Ldata+Lphysics
其中:
- L data \mathcal{L}_{\text{data}} Ldata:数据拟合损失,例如均方误差(MSE)。
- L physics \mathcal{L}_{\text{physics}} Lphysics:物理约束损失,例如通过PDE计算出的残差。
2.2 物理约束如何纳入
物理方程通常是以偏微分方程(PDE)的形式给出的,PINN通过网络的输出代入PDE计算出残差,并在训练过程中最小化这些残差。常见的物理方程包括:
- Navier-Stokes 方程:描述流体动力学的基本方程。
- 热传导方程:描述热量在物体中的传播。
- 波动方程:描述波在介质中的传播。
通过优化神经网络的权重,使得网络输出不仅符合数据,还能满足这些物理方程,从而达到一种融合数据和物理规律的训练方式。
2.3 网络结构与训练过程
PINN的训练过程与传统神经网络相似,使用反向传播算法来优化网络参数。不同之处在于,训练时除了依赖训练数据外,还会计算物理方程的残差,并将其加入到总的损失函数中。
3. PINN的应用领域
PINN有广泛的应用场景,尤其是在需要处理物理系统模拟而又缺乏大量数据的领域。以下是一些典型的应用领域:
3.1 流体力学
在流体力学中,Navier-Stokes 方程描述了流体的动力学行为。使用传统的数值方法(如有限元法、有限差分法)求解这些方程时,通常需要大量的网格划分和计算量。而通过PINN,我们可以通过训练一个神经网络来直接拟合这些方程,解决流体的速度、压力等问题,且不依赖于传统的网格离散化。
3.2 热传导
在热传导问题中,我们通常需要解决热传导方程,来描述热量如何在物体中传递。PINN可以通过将物理方程与神经网络结合,求解温度分布,减少对传统数值方法的依赖,尤其是在复杂几何形状的情况下。
3.3 结构力学
在结构力学中,PINN可用于求解结构的变形、应力等问题。例如,PINN可以用来描述梁、板、框架等结构的力学行为,从而预测材料在不同加载条件下的响应。
3.4 材料科学
在材料科学中,PINN可用于模拟材料的性能,如弹性、塑性、热膨胀等。在这种情况下,PINN可以帮助研究人员在没有大量实验数据的情况下,通过物理规律推导出材料行为。
4. PINN的优势与挑战
4.1 优势
- 无需大量标注数据:PINN能够通过物理方程进行训练,极大减少了对大量标注数据的需求。传统的机器学习方法往往需要大量的实验数据,而PINN可以通过少量数据加上物理方程的约束来进行训练。
- 物理一致性:通过引入物理方程,PINN能够确保模型的预测符合实际的物理规律,从而避免了数据驱动模型可能出现的不合理结果。
- 高效性:传统的数值方法(如有限元法)在处理复杂几何和多尺度问题时计算量较大,而PINN能够直接通过神经网络进行高效求解。
4.2 挑战
- 训练难度:PINN的训练过程通常较为复杂,因为物理方程的残差计算可能引入更多的复杂性,训练过程可能会受到梯度消失或爆炸的影响。
- 求解精度:虽然PINN能够结合物理规律进行训练,但在某些复杂问题中,仍然需要精心设计网络架构和损失函数,以确保模型的精度。
- 计算资源:尽管PINN能减少对传统网格划分的需求,但在某些应用中仍然可能需要较大的计算资源来进行网络训练,尤其是当处理高维问题时。
5. PINN的实现示例
让我们来实现一个简单的PINN示例,解决一维热传导方程。假设我们要解如下的热传导方程:
∂ u ∂ t = α ∂ 2 u ∂ x 2 \frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2} ∂t∂u=α∂x2∂2u
其中, α \alpha α 是热扩散系数, u ( x , t ) u(x,t) u(x,t) 是温度分布。我们希望通过PINN来求解这个方程。
在程序中,物理损失为
∂ u ∂ t − α ∂ 2 u ∂ x 2 \frac{\partial u}{\partial t} - \alpha \frac{\partial^2 u}{\partial x^2} ∂t∂u−α∂x2∂2u
让它尽量趋于0。
5.1 构建神经网络
我们使用PyTorch来实现一个简单的PINN模型。网络的输入为空间坐标 x x x 和时间 t t t,输出为温度 u ( x , t ) u(x,t) u(x,t)。
import torch
import torch.nn as nnclass PINN(nn.Module):def __init__(self, layers):super(PINN, self).__init__()self.layers = nn.ModuleList()for i in range(len(layers) - 1):self.layers.append(nn.Linear(layers[i], layers[i+1]))nn.init.xavier_normal_(self.layers[i].weight)def forward(self, x, t):u = torch.cat((x, t), dim=1)for layer in self.layers:u = torch.tanh(layer(u))return u
5.2 定义物理损失函数
为了将物理方程纳入到训练过程中,我们需要计算热传导方程的残差。我们通过自动求导来计算温度的时间导数和空间导数,并将这些导数代入热传导方程中。
def physics_loss(model, x, t, alpha):u = model(x, t)# 计算 u_t 和 u_xxu_t = torch.autograd.grad(u, t, grad_outputs=torch.ones_like(u), create_graph=True)[0]u_xx = torch.autograd.grad(torch.autograd.grad(u, x, grad_outputs=torch.ones_like(u), create_graph=True)[0], x, grad_outputs=torch.ones_like(u), create_graph=True)[0]# 计算残差residual = u_t - alpha * u_xxreturn torch.mean(residual**2)
5.3 训练模型
通过结合数据损失和物理损失,我们可以训练模型:
# 定义训练数据
x_train = torch.linspace(0, 1, 100, requires_grad=True).view(-1, 1)
t_train = torch.linspace(0, 1, 100, requires_grad=True).view(-1, 1)# 初始化模型
model = PINN([2, 50, 50, 1])# 设置优化器
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)# 训练过程
for epoch in range(10000):optimizer.zero_grad()# 计算物理损失loss = physics_loss(model, x_train, t_train, alpha=0.01)# 反向传播并优化loss.backward()optimizer.step()if epoch % 1000 == 0:print(f'Epoch [{epoch}], Loss: {loss.item()}')
6. 结语
物理信息神经网络(PINN)作为一种结合物理知识和数据驱动的深度学习方法,展现了其在科学计算和工程应用中的巨大潜力。通过融合物理方程,PINN能够在缺乏足够实验数据的情况下,提供高效且可靠的解决方案。随着研究的深入和技术的成熟,PINN有望在多个领域带来革命性的进展。
相关文章:
深入了解PINN:物理信息神经网络(Physics-Informed Neural Networks)
1. 什么是PINN(物理信息神经网络)? 物理信息神经网络(PINN,Physics-Informed Neural Networks)是一类通过结合神经网络和物理方程的深度学习方法。其主要特点是将物理系统的约束条件(如偏微分方…...
人工智能知识分享第八天-机器学习_泰坦尼克生存预估线性回归和决策树回归对比案例
泰坦尼克生存预估案例 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import classification_report import matplotlib.pyplot as plt from sklearn.tree import plot_t…...
封装/前线修饰符/Idea项目结构/package/impore
目录 1. 封装的情景引入 2. 封装的体现 3. 权限修饰符 4. Idea 项目结构 5. package 关键字 6. import 关键字 7. 练习 程序设计:高内聚,低耦合; 高内聚:将类的内部操作“隐藏”起来,不需要外界干涉;…...
python中的装饰器
装饰器(Decorator)是 Python 中的一种语法糖,它允许你修改或增强函数或类的行为。下面详细解释: 基本概念 装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数: def my_decor…...
HTMLElement、customElements及元素拓展
文章目录 HTMLElement 与 customElementscustomElements.define() 方法说明HTML 元素方法拓展 HTMLElement 与 customElements HTMLElement 概述 HTMLElement是一个接口,它表示所有HTML元素。几乎所有的HTML标签(如<div>、<p>、<a>等…...
字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题
字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题 字玩FontPlayer是笔者开源的一款字体设计工具,使用Vue3 ElementUI开发,源代码: github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontpl…...
PyTorch 中 coalesce() 函数详解与应用示例
PyTorch 中 coalesce() 函数详解与应用示例 coalesce: 美 [ˌkoʊəˈlɛs] 合并;凝聚;联结,注意发音 引言 在 PyTorch 中,稀疏张量(Sparse Tensor)是一种高效存储和操作稀疏数据的方式。稀疏…...
计算机网络(第8版)第3章课后习题--透明传输
【3-11】 试分别讨论以下各种情况在什么条件下是透明传输,在什么条件下不是透明传 输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。) (1)普通的电话通信。 (2)互联网提供的电子邮件服务。 解 答 : 透明传输是指在数据传输…...
JavaScript 日期格式
在 JavaScript 中,日期格式可以通过 Date 对象进行操作和格式化。下面是一些常见的 JavaScript 日期格式及其示例: 1. ISO 8601 格式 ISO 8601 是一种标准的日期和时间表示方法,格式为 YYYY-MM-DDTHH:mm:ss.sssZ,例如: let date = new Date(); console.log(date.toISOS…...
云打印之拼多多打印组件交互协议
拼多多打印组件交互协议相关介绍如下: 1、打印组件下载地址 http://meta.pinduoduo.com/api/one/app/v1/lateststable?appIdcom.xunmeng.pddprint&platformwindows&subTypemain 2、socket连接端口 如果是http的话,端口是5000 socket new …...
Oracle数据库如何找到 Top Hard Parsing SQL 语句?
有一个数据库应用程序存在过多的解析问题,因此需要找到产生大量硬解析的主要语句。 什么是硬解析 Oracle数据库中的硬解析(Hard Parse)是指在执行SQL语句时,数据库需要重新解析该SQL语句,并创建新的执行计划的过程。这…...
浅谈棋牌游戏开发流程二:后端技术选型与基础环境搭建
一、前言:客户端只是台前,后端才是幕后“指挥中心” 在上一篇“客户端技术”中,我们聊到玩家看到的一切动作、动画、界面逻辑,都靠客户端去渲染和交互。但若没有后端的支撑,玩家点了“出牌”可能就像一拳打在空气里—…...
使用qiankun搭建微前端应用及踩坑
线上演示地址:React App 源码地址:https://github.com/Jiang-K-J/micro-app?tabreadme-ov-file (帮忙点个小星星) 主应用:react 18 子应用:vite vue3 子应用:react 18 安装 主应用 $ y…...
Windows 环境配置 HTTPS 服务实战
一、 环境准备 win10以上操作系统安装 Certbot申请阿里云\腾讯云域名安装 nginx 1.3以上版本 二、Certbot 安装及 SSL 证书生成 Certbot 是一个免费、开源工具,用于自动化在Web服务器上获取和更新SSL/TLS证书。它可以通过Let’s Encrypt服务获取免费的SSL/TLS证书…...
小程序租赁系统开发的优势与应用前景分析
内容概要 小程序租赁系统是一种新兴的数字化解决方案,旨在为用户提供更加便捷与高效的租赁服务。它通常包括一系列功能,如在线浏览、即时预定、支付功能以及用户反馈机制。这些系统在使用上极为友好,让用户能够轻松选择所需的商品或服务&…...
Redis(基础篇 + 实践篇 )
01 | 基本架构:一个键值数据库包含什么? Redis 作为一个内存数据存储系统,它的架构设计非常简洁,但功能非常强大。理解其核心架构对高效使用 Redis 至关重要。 客户端与服务器架构: 客户端通过 TCP 协议连接到 Redis …...
单片机-独立按键矩阵按键实验
1、按键介绍 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状…...
我用AI学Android Jetpack Compose之入门篇(1)
这篇我们先来跑通第一个Android Jetpack Compose工程,现在新版本的Android Studio,新建工程选择Empty Activity默认就会开启Jetpack Compose的支持,再次声明,答案来自 通义千问Ai 文章目录 1.用Android Jetpack Compose需要安装什…...
简单的生产数据库重连策略优化
简单的druid生产数据库重连策略优化 1. 需求 我们生产环境有一次在大量请求拥堵后,好多数据库操作都超时了,在此之后数据库的连接池不能正常的获取数据库连接了,我们确认了数据库服务是没有问题的,那么就是连接池的配置有问题&a…...
STM32-笔记37-吸烟室管控系统项目
一、项目需求 1. 使用 mq-2 获取环境烟雾值,并显示在 LCD1602 上; 2. 按键修改阈值,并显示在 LCD1602 上; 3. 烟雾值超过阈值时,蜂鸣器长响,风扇打开;烟雾值小于阈值时,蜂鸣器不响…...
2025-01-04 Unity插件 YodaSheet1 —— 插件介绍
文章目录 1 介绍2 工作原理2.1 ScriptableObject -> YadeSheetData2.2 YadeDatabase 存储多个 YadeSheetData 3 用途4 缺点5 推荐 1 介绍 Yade 提供类似于 Excel 或者 Google Sheets 的表格编辑器,可以轻松地在 Unity 编辑器中 编辑,搜索…...
电子电气架构 --- 安全相关内容汇总
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…...
科研绘图系列:R语言单细胞数据常见的可视化图形
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…...
【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 2:基础知识
目录 1 预热1.1 记号1.2 分类器计算过载问题 2 多头编码(MHE)2.1 标签分解2.2 多头组合(Multi-Head Combination) 论文:Multi-Head Encoding for Extreme Label Classification 作者:Daojun Liang, Haixia …...
Flink使用
Window下启动支持 下载或复制老版本的放在bin目录下即可; flink.bat echo off setlocalSET bin%~dp0 SET FLINK_HOME%bin%.. SET FLINK_LIB_DIR%FLINK_HOME%\lib SET FLINK_PLUGINS_DIR%FLINK_HOME%\pluginsSET JVM_ARGS-Xmx512mSET FLINK_JM_CLASSPATH%FLINK_LI…...
一种可复用的AI提效方案:AI点灯
在当今飞速发展的时代,AI技术正不断渗透到我们生活的各个层面,深刻改变着传统的工作方式和生活模式。面对这一重大变革,我们不能被动观望或抗拒,而应积极拥抱AI,将其作为成长的助力。只有与AI协同发展,才能…...
Django 模型
Django 模型 Django 模型是 Django 框架的核心组件之一,它用于定义应用程序的数据结构。在 Django 中,模型是 Python 类,通常继承自 django.db.models.Model。每个模型类代表数据库中的一个表,模型类的属性对应表中的字段。 1. 创建模型 创建 Django 模型非常简单。首先…...
【MySQL 探索者日志 】第二弹 —— 数据库基础
MySQL系列学习笔记: MySQL探索者日志__Zwy的博客-CSDN博客 各位于晏,亦菲们,请点赞关注! 我的个人主页: _Zwy-CSDN博客 目录 1、MySQL服务器,数据库,表关系 2、MySQL登录连接服务器 3、MyS…...
【51单片机-零基础chapter1】
安装软件(配套的有,不多赘述) 1.管理员身份运行keil和破解软件kegen 将CID代码复制粘贴到 一定要管理员方式,不然会error 插入板子 我的电脑,管理 1.如果是拯救者,查看端口,如果没有则显示隐藏 2.苹果不知道,好像不可以 3.其他电脑在"其他设备找" (注:本人在校已…...
stm32的掉电检测机制——PVD
有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理。 STM32内部自带PVD功能,用于对MCU供电电压VDD进行监控。 STM32就有这样的掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检…...
电脑steam api dll缺失了怎么办?
电脑故障解析与自救指南:Steam API DLL缺失问题的全面解析 在软件开发与电脑维护的广阔天地里,我们时常会遇到各种各样的系统报错与文件问题,其中“Steam API DLL缺失”便是让不少游戏爱好者和游戏开发者头疼的难题之一。作为一名深耕软件开…...
Kotlin 协程基础知识总结七 —— Flow 与 Jetpack Paging3
专题分为五大块: Paging3 的结构组成Flow 与 Paging3下拉刷新上拉刷新离奇 Bug上游数据缓存 Demo 会还原开发迭代的过程,不会直接一步到位。 1、Paging3 加载数据流程 (P105)Paging3 的简介详情可参考官方文档 Paging 库概览&…...
使用JMeter玩转tidb压测
作者: du拉松 原文来源: https://tidb.net/blog/3f1ada39 一、前言 tidb是mysql协议的,所以在使用过程中使用tidb的相关工具连接即可。因为jmeter是java开发的相关工具,直接使用mysql的jdbc驱动包即可。 二、linux下安装jmet…...
音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介
一、引言 本文对MPEG2-PS格式进行简介。 进行简介之前,请各位先下载MPEG2-PS的官方文档。ITU-T和ISO/IEC都分别提供MPEG2-PS的官方文档。但是ITU提供的文档是免费的,ISO/IEC是付费的,所以我们主要阅读ITU提供的官方文档,比如较新…...
ETCD渗透利用指南
目录 未指定使用put操作报错 未指定操作版本使用get报错 首先etcd分为两个版本v2和v3,不同的API结果无论是访问URL还是使用etcdctl进行通信,都会导致问题,例如使用etcdctl和v3进行通信,如果没有实名ETCDCTL_API3指定API版本会直接…...
Python安装(新手详细版)
前言 第一次接触Python,可能是爬虫或者是信息AI开发的小朋友,都说Python 语言简单,那么多学一些总是有好处的,下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录,并且遇到的问题也会写出,…...
SQL 中复杂 CASE WHEN 嵌套逻辑优化
目标:优化复杂的 CASE WHEN 逻辑,提升 SQL 语句的可读性与执行效率,减少多层嵌套带来的复杂性。 1. CASE WHEN 的常见问题 嵌套过深:多个条件判断嵌套,难以阅读和维护。重复逻辑:相似逻辑在多个分支中重复…...
【专题】2024年出口跨境电商促销趋势白皮书报告汇总PDF洞察(附原数据表)
原文链接:https://tecdat.cn/?p38722 在当今全球化加速演进、数字经济蓬勃发展的大背景下,跨境电商行业正以前所未有的态势重塑国际贸易格局,成为各方瞩目的焦点领域。 根据亚马逊发布的《2024年出口跨境电商促销趋势白皮书》,…...
C# 设计模式(结构型模式):代理模式
C# 设计模式(结构型模式):代理模式 在软件开发中,有时我们需要通过某种方式间接地访问一个对象,这时就可以使用代理模式(Proxy Pattern)。代理模式通过引入一个代理对象来控制对目标对象的访问…...
单片机复位电路基本理解教程文章·含上拉电阻理解电容开路理解!!!
目录 常见复位电路种类 复位电路电阻上拉理解 电容储能断路理解 编写不易,仅供学习,请勿搬运,感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路降压芯片驱动电路详解-…...
深入浅出:事件监听中的适配器模式
1. 为什么需要适配器模式? 在Java的事件监听器设计中,许多接口有多个抽象方法。例如,MouseListener 接口有 5 个方法,KeyListener 接口有 3 个方法。如果我们只关心其中的一个方法(例如,鼠标点击事件&…...
常用LabVIEW算法及应用
在LabVIEW项目中,算法的应用是提高系统性能、实现特定功能、完成复杂任务的核心。LabVIEW作为一种图形化编程语言,允许用户通过直观的图形编程来实现各种复杂的算法。这些算法广泛应用于控制系统、数据采集、信号处理、图像处理、机器学习等领域。了解常…...
VTK知识学习(28)-区域提取
1、感兴趣区域(Volume ofInterest,VOI) 它是图像内部的一块子区域。在VTK中,vtkExtractVOI 类可根据用户指定的区域范围提取子图像。该Filter 的输入和输出都是一个vtkImageData,因此其结果可以直接作为图像保存。 代码: private void Test…...
基于Spring Boot + Vue3实现的在线汽车保养维修预约管理系统源码+文档
前言 基于Spring Boot Vue3实现的在线汽车保养维修预约管理系统是一种前后端分离架构的应用,它结合了Java后端开发框架Spring Boot和现代JavaScript前端框架Vue.js 3.0的优势。这样的系统可以为汽车服务站提供一个高效的平台来管理客户的预约请求 技术选型 系统…...
CAN201 Introduction to Networking(计算机网络)Pt.4 链路层
文章目录 5. Link Layer(链路层)5.1 Services of link layer(链路层的服务)5.2 Error detection and correction(错误检测和纠正)5.2.1 Partity Checks(奇偶检验)5.2.2 Checksum&…...
Python视频处理:噪声矩阵与并行计算的完美融合
噪声级别对视频质量有显著的影响,主要体现在以下几个方面: 1. 视觉质量 低噪声级别:当噪声级别较低时,视频的视觉质量较好。噪声对图像细节的干扰较小,画面看起来较为清晰和自然。观众可以更容易地识别图像中的细节和…...
wordpress开发之实现使用第三方库qrcode-generator生成二维码并上传和展示
文章目录 一、需求二、技术实现 - 利用qrcode-generator库三、代码实现 一、需求 客户的需求是能将特定的url生成二维码,以便将二维码分享或贴到合同纸上给他的客户扫描查看信息。 这个url包含的内容类似于如下格式: https://www.example.com/contrac…...
计算机网络——物理层
一、通信基础 1.相关术语: • 数据(data)——运送消息的实体。 • 信号(signal)——数据的电气的或电磁的表现。 • “模拟的”(analogous)——代表消息的参数的取值是连续的。 • “数字的”(digital)——代表消息的参数的取值是离散的。 • 码元(code)——在…...
网络IP协议
IP(Internet Protocol,网际协议)是TCP/IP协议族中重要的协议,主要负责将数据包发送给目标主机。IP相当于OSI(图1)的第三层网络层。网络层的主要作用是失陷终端节点之间的通信。这种终端节点之间的通信也叫点…...
Unity UGUI使用技巧与经验总结(不定期更新)
Text自动缩放参考连接: Unity -UGUI中Text文本框的自动调整,字体大小的自适应调节_unity添加的字体大小锁定-CSDN博客 Toggle按钮选择时,显示对应的UI界面: 为Toggle组件的On Value Change事件添加对需要显示的对象的SetActive…...