SuperMap iClient3D for WebGL选中抬升特效

news2025/1/22 2:41:07

在大屏展示系统中,对行政区划数据制作了立体效果,如果希望选中某一行政区划进行重点介绍,目前常见的方式是通过修改选中对象色彩、边线等方式进行实现;这里提供另外一种偏移动效的思路,提供功能让地图选中效果更加炫酷,一起开看看如何实现吧!

立体地图选中+下钻特效

一、数据制作

对于上述视频中的立体地图制作,此处讲述,如有需要可访问:Online 开发者中心

可视化案例中提供了详细的代码、数据下载链接及数据制作过程。

二、实现思路

选中抬升效果的实现思路如下图所示

点击显示行政区效果的实现思路如下图所示

三、关键代码

数据抬升关键代码如下:

handlerPoint.setInputAction(function(event) {
				var result = viewer.scene.pick(event.endPosition)
				
				var selection = layertop.getSelection();
				if (selection.length > 0) {			
					var selectedId = Number(selection[selection.length - 1]);
					if (!offsetList[selectedId]) {
						offsetList[selectedId] = {
							"isoffset": true,
							"offsetZ": 0
						};
					} else {
						for (let key in offsetList) {
							offsetList[key].isoffset = false;
						}
						offsetList[selectedId].isoffset = true;
					}
				} else {
					for (let key in offsetList) {
						offsetList[key].isoffset = false;
					}
				}
			}, SuperMap3D.ScreenSpaceEventType.MOUSE_MOVE);
			setInterval(function() {
				var layertop = scene.layers.find('sichuan432602');
				for (let key in offsetList) {
					if (offsetList[key].isoffset) {
						if (offsetList[key].offsetZ < 20000) {
							offsetList[key].offsetZ = offsetList[key].offsetZ + 1000;
							layertop.setObjsTranslate([key], new SuperMap3D.Cartesian3(0, 0, offsetList[key].offsetZ))
						}
			
			
					} else {
						if (offsetList[key].offsetZ > 0) {
							offsetList[key].offsetZ = offsetList[key].offsetZ - 500;
							layertop.setObjsTranslate([key], new SuperMap3D.Cartesian3(0, 0, offsetList[key].offsetZ))
						}
					}
				}
			
			}, 20)

点击显示行政区关键代码如下:

let handlerPoint = new SuperMap3D.ScreenSpaceEventHandler(viewer.scene.canvas);
			handlerPoint.setInputAction(function(event){
				viewer.entities.removeById("selectedId");
				var layertop = scene.layers.find('sichuan432602');
				var selection = layertop.getSelection();
				if (selection.length > 0) {
					var selectedId = Number(selection[selection.length - 1]);
					provinceEntity.show = false;
					$("#echarts").hide();
					cityEntity.entities.removeAll();
					cityEntity.show = true;
					layertop.releaseSelection();
					$.ajax({
						url: './data/sichuan/sichuancitys4326.json',
						success: function(data) {
							var geometrys = data.features;
							for (var i = 0; i < geometrys.length; i++) {
								if (geometrys[i].properties.cityid != selectedId) {
									continue;
								}
								var geometry = geometrys[i].geometry;
								var coordinates = geometry.coordinates;
								var pipeLinePts = [];
								var polygon;
								if (geometry.type == "MultiPolygon") {
									coordinates=geometry.coordinates[0];
								} else {
									for (var j = 0; j < coordinates[0].length; j++) {
										
										var pos = new SuperMap3D.Cartesian3.fromDegrees(Number(coordinates[0][j][0]),
											Number(coordinates[0][j][1]), 20000);
										pipeLinePts.push(pos);
				
									}
									polygon = new SuperMap3D.PolygonHierarchy(pipeLinePts)
								}
				
								cityEntity.entities.add({
									polygon: {
										hierarchy: polygon,
										// outlineWidth: 1/window.devicePixelRatio,
										material: new SuperMap3D.Color(255 / 255, 0 / 255, 0 / 255,
											0),
										outline: true,
										height: 20000,
										outlineWidth: 5 / window.devicePixelRatio,
										outlineColor: new SuperMap3D.Color(170 / 255, 170 / 255,
											170 / 255, 1)
									}
								})
								var position = new SuperMap3D.Cartesian3.fromDegrees(geometrys[i].properties.Center_X,
									geometrys[i].properties.Center_Y, 500);
								cityEntity.entities.add({
									// id: name,
									position: position,
									label: {
										text: geometrys[i].properties.name,
										outlineWidth: 3,
										style: SuperMap3D.LabelStyle.FILL_AND_OUTLINE,
										fillColor: new SuperMap3D.Color(255 / 255, 255 / 255, 255 /
											255, 0.9),
										outlineColor: new SuperMap3D.Color(0 / 255, 18 / 255, 4 /
											255, 1.0),
										disableDepthTestDistance: Number.POSITIVE_INFINITY,
										font: 14 - Math.pow(window.devicePixelRatio, 2) +
											'px Arial bold',
										pixelOffset: new window.SuperMap3D.Cartesian2(15 * name
											.length + 15, 0)
									}
								})
							}
							viewer.flyTo(cityEntity, {
								duration: 1.5,
								offset: {
									heading: 0.04200358377266422, // 以弧度为单位的航向角。
									pitch: -0.6718486685836051, // 以弧度为单位的俯仰角。
									range: 0 // 到中心的距离,以米为单位。								
								}
							});
				
						}
					});
				
				} else {
					provinceEntity.show = true;
					cityEntity.show = false;
					$("#echarts").show();
				}
			},SuperMap3D.ScreenSpaceEventType.LEFT_CLICK)

四、示例完整代码

示例完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <title>地图点击效果</title>
    <link href="../../Build/SuperMap3D/Widgets/widgets.css" rel="stylesheet">
    <link href="./css/pretty.css" rel="stylesheet">
    <link href="./style/S3MTiles_suofeiya.css" rel="stylesheet">
    <script src="./js/jquery.min.js"></script>
    <script src="./js/config.js"></script>
	<script src="./js/echarts.min.js"></script>
	<script src="./js/EchartsLayer.js"></script>
    <script src="./js/slider.js"></script>
    <script type="text/javascript" src="../../Build/SuperMap3D/SuperMap3D.js"></script>
</head>
<body>
<div id="Container"></div>
<div id='loadingbar' class="spinner">
    <div class="spinner-container container1">
        <div class="circle1"></div>
        <div class="circle2"></div>
        <div class="circle3"></div>
        <div class="circle4"></div>
    </div>
    <div class="spinner-container container2">
        <div class="circle1"></div>
        <div class="circle2"></div>
        <div class="circle3"></div>
        <div class="circle4"></div>
    </div>
    <div class="spinner-container container3">
        <div class="circle1"></div>
        <div class="circle2"></div>
        <div class="circle3"></div>
        <div class="circle4"></div>
    </div>
</div>
<script type="text/javascript">
    function onload(SuperMap3D) {
        // 通过config.js中的getEngineType,获取引擎类型(EngineType)用于设置启动方式
        var EngineType = getEngineType();
		var xres = parseInt(window.screen.width * window.devicePixelRatio);
		var yres = parseInt(window.screen.height * window.devicePixelRatio);
        var viewer = new SuperMap3D.Viewer('Container', {
			baseLayerPicker: false,
			orderIndependentTranslucency: false,
			shouldAnimate: true,
			infoBox: false,
            contextOptions: {
                contextType: Number(EngineType), // Webgl2:2 ; WebGPU:3
				webgl: {
					alpha: true
				},
				maxDrawingBufferWidth: xres,
				maxDrawingBufferHeight: yres
            }
        });

        viewer.scenePromise.then(function(scene){
            init(SuperMap3D, scene, viewer);
        });
    }

    function init(SuperMap3D, scene, viewer) {
		var sichuanGDP = {};
        var provinceEntity = new window.SuperMap3D.CustomDataSource("provinceEntity");
        viewer.dataSources.add(provinceEntity);
        var cityEntity = new window.SuperMap3D.CustomDataSource("cityEntity");
        viewer.dataSources.add(cityEntity);
        cityEntity.show = false;
        var echartsLayer;
        viewer.imageryLayers.addImageryProvider(new SuperMap3D.SingleTileImageryProvider({
        	url: './images/world06.jpg',
        }));
        viewer.resolutionScale = window.devicePixelRatio;
        viewer.useBrowserRecommendedResolution = true;
        viewer.scene.globe.depthTestAgainstTerrain = false;
        viewer.scene.terrainProvider.isCreateSkirt = false;
        var scene = viewer.scene;
        scene.screenSpaceCameraController.zoomFactor = 5.0;
        scene.lightSource.ambientLightColor = new SuperMap3D.Color(0.5, 0.5, 0.5, 1);
        var widget = viewer.cesiumWidget;

        try{
           var promise = scene.open("http://localhost:8090/iserver/services/3D-sichuanblue/rest/realspace");
		   var layertop
            SuperMap3D.when(promise,function(layers){
				layertop = scene.layers.find('sichuan432602');
            },function(){
                var title = '加载SCP失败,请检查网络连接状态或者url地址是否正确?';
                widget.showErrorPanel(title, undefined, e);
            });
			$.ajax({
				url: './data/sichuan/sichuanfenjie4326.json',
				success: function(data) {
					var geometrys = data.features;
					for (var i = 0; i < geometrys.length; i++) {
						var geometry = geometrys[i].geometry;
						var coordinates = geometry.coordinates;
						var pipeLinePts = [];
						for (var j = 0; j < coordinates.length; j++) {
							var convertPos = new SuperMap3D.Cartesian3.fromDegrees(coordinates[j][0], coordinates[j][
								1
							], 500);
							pipeLinePts.push(convertPos);
						}
						provinceEntity.entities.add({
							polyline: {
								positions: pipeLinePts,
								width: 2 / window.devicePixelRatio,
								material: new SuperMap3D.Color(94 / 255, 213 / 255, 245 / 255, 0.5),
								arcType: SuperMap3D.ArcType.RHUMB,
								clampToGround: true
							}
						})
					}
				}
			});
			$.ajax({
				url: './data/sichuan/sichuanbounds4326.json',
				success: function(data) {
					var geometrys = data.features;
					for (var i = 0; i < geometrys.length; i++) {
						var geometry = geometrys[i].geometry;
						var coordinates = geometry.coordinates;
						var pipeLinePts = [];
						for (var j = 0; j < coordinates.length; j++) {
			
							var convertPos = new SuperMap3D.Cartesian3.fromDegrees(coordinates[j][0], coordinates[j][
								1
							], 500);
							pipeLinePts.push(convertPos);
						}
						provinceEntity.entities.add({
							polyline: {
								positions: pipeLinePts,
								width: 2.5,
								material: new SuperMap3D.Color(94 / 255, 213 / 255, 245 / 255, 1)
							}
						})
					}
				}
			});
			var position = new SuperMap3D.Cartesian3.fromDegrees(109.40543308511627, 26.993328925156895, -50000);
			
			
			var targetPosition = new SuperMap3D.Cartesian3.fromDegrees(101.98226836938083, 24.519626362055106, -50000);
			
			
			var options_n = {
				targetPosition: targetPosition,
				color: new SuperMap3D.Color(255 / 255, 255 / 255, 255 / 255, 1),
				intensity: 3,
			};
			var directionalLight_n = new SuperMap3D.DirectionalLight(position, options_n);
			addPOIeChart();
			function addPOIeChart() {
				var data = [];
				var geoCoordMap = {};
				$.ajax({
					url: './data/sichuan/sichuan_city_name_P_2.json',
					success: function(datas) {
						let realtimeDataEntities = []
						var geometrys = datas.features;
						for (var i = 0; i < geometrys.length; i++) {
							var geometry = geometrys[i].geometry;
							var coordinates = geometry.coordinates;
							var name = geometrys[i].properties.name;
							if (name.length > 4) {
								var tempname = "";
								for (var k = 0; k < name.length; k++) {
									tempname = tempname + name[k] + "\n"
								}
								name = tempname;
							}
							var level = Number(geometrys[i].properties.level) - 1;
			
							data.push({
								'name': name,
								'value': 220 + level * 150
							})
							geoCoordMap[name] = [coordinates[0], coordinates[1]];;
							var convertposition = new SuperMap3D.Cartesian3.fromDegrees(coordinates[0], coordinates[
								1], 500);
							sichuanGDP[geometrys[i].properties.UserID] = {
								"coordinates": convertposition,
								"name": geometrys[i].properties.name2,
								"renkou": geometrys[i].properties.renkou,
								"gdp": geometrys[i].properties.gdp,
			
							}
							provinceEntity.entities.add({
								// id: name,
								position: convertposition,
								label: {
									text: name,
									outlineWidth: 3,
									style: SuperMap3D.LabelStyle.FILL_AND_OUTLINE,
									fillColor: name === "成都市" ? new SuperMap3D.Color(240 / 255, 255 / 255,
										0 /
										255, 1) : new SuperMap3D.Color(255 / 255, 255 / 255, 255 / 255,
										0.9),
									outlineColor: name === "成都市" ? new SuperMap3D.Color(0 / 255, 18 / 255,
										4 /
										255, 1) : new SuperMap3D.Color(79 / 255, 128 / 255, 169 / 255,
										0.9),
									disableDepthTestDistance: Number.POSITIVE_INFINITY,
									font: 14 + level * 8 - Math.pow(window.devicePixelRatio, 2) +
										'px Arial bold',
									pixelOffset: name.length > 4 ? new window.SuperMap3D.Cartesian2(-25, 0) :
										new window.SuperMap3D.Cartesian2(40 + level * 15, 0)
								}
							})
			
			
						}
						const convertData = function(data) {
							const res = [];
							for (let i = 0; i < data.length; i++) {
								const geoCoord = geoCoordMap[data[i].name];
								if (geoCoord) {
									res.push({
										name: data[i].name,
										value: geoCoord.concat(data[i].value)
									});
								}
							}
							return res;
						};
						const options = {
							animation: !1,
							GLMap: {},
							series: [{
								name: '前5',
								type: 'effectScatter',
								coordinateSystem: 'GLMap',
								data: convertData(data.sort(function(a, b) {
									return b.value - a.value;
								}).slice(0, 50)),
								symbolSize: function(val) {
									return val[2] / 20;
								},
								showEffectOn: 'render',
								rippleEffect: {
									brushType: 'stroke',
									period: 1.5,
									scale: 3.5
								},
								hoverAnimation: true,
								itemStyle: {
									normal: {
										color: '#FFFFFF',
										shadowBlur: 20,
										shadowColor: '#333'
									}
								},
								zlevel: 1
							}]
						};
						echartsLayer = new EchartsLayer(viewer);
						echartsLayer.chart.setOption(options);
					}
				});
			}
			let handlerPoint = new SuperMap3D.ScreenSpaceEventHandler(viewer.scene.canvas);
			handlerPoint.setInputAction(function(event){
				viewer.entities.removeById("selectedId");
				var layertop = scene.layers.find('sichuan432602');
				var selection = layertop.getSelection();
				if (selection.length > 0) {
					var selectedId = Number(selection[selection.length - 1]);
					provinceEntity.show = false;
					$("#echarts").hide();
					cityEntity.entities.removeAll();
					cityEntity.show = true;
					layertop.releaseSelection();
					$.ajax({
						url: './data/sichuan/sichuancitys4326.json',
						success: function(data) {
							var geometrys = data.features;
							for (var i = 0; i < geometrys.length; i++) {
								if (geometrys[i].properties.cityid != selectedId) {
									continue;
								}
								var geometry = geometrys[i].geometry;
								var coordinates = geometry.coordinates;
								var pipeLinePts = [];
								var polygon;
								if (geometry.type == "MultiPolygon") {
									coordinates=geometry.coordinates[0];
								} else {
									for (var j = 0; j < coordinates[0].length; j++) {
										
										var pos = new SuperMap3D.Cartesian3.fromDegrees(Number(coordinates[0][j][0]),
											Number(coordinates[0][j][1]), 20000);
										pipeLinePts.push(pos);
				
									}
									polygon = new SuperMap3D.PolygonHierarchy(pipeLinePts)
								}
				
								cityEntity.entities.add({
									polygon: {
										hierarchy: polygon,
										// outlineWidth: 1/window.devicePixelRatio,
										material: new SuperMap3D.Color(255 / 255, 0 / 255, 0 / 255,
											0),
										outline: true,
										height: 20000,
										outlineWidth: 5 / window.devicePixelRatio,
										outlineColor: new SuperMap3D.Color(170 / 255, 170 / 255,
											170 / 255, 1)
									}
								})
								var position = new SuperMap3D.Cartesian3.fromDegrees(geometrys[i].properties.Center_X,
									geometrys[i].properties.Center_Y, 500);
								cityEntity.entities.add({
									// id: name,
									position: position,
									label: {
										text: geometrys[i].properties.name,
										outlineWidth: 3,
										style: SuperMap3D.LabelStyle.FILL_AND_OUTLINE,
										fillColor: new SuperMap3D.Color(255 / 255, 255 / 255, 255 /
											255, 0.9),
										outlineColor: new SuperMap3D.Color(0 / 255, 18 / 255, 4 /
											255, 1.0),
										disableDepthTestDistance: Number.POSITIVE_INFINITY,
										font: 14 - Math.pow(window.devicePixelRatio, 2) +
											'px Arial bold',
										pixelOffset: new window.SuperMap3D.Cartesian2(15 * name
											.length + 15, 0)
									}
								})
							}
							viewer.flyTo(cityEntity, {
								duration: 1.5,
								offset: {
									heading: 0.04200358377266422, // 以弧度为单位的航向角。
									pitch: -0.6718486685836051, // 以弧度为单位的俯仰角。
									range: 0 // 到中心的距离,以米为单位。								
								}
							});
				
						}
					});
				
				} else {
					provinceEntity.show = true;
					cityEntity.show = false;
					$("#echarts").show();
				}
			},SuperMap3D.ScreenSpaceEventType.LEFT_CLICK)
			
			var offsetList = {};
			handlerPoint.setInputAction(function(event) {
				var result = viewer.scene.pick(event.endPosition)
				
				var selection = layertop.getSelection();
				if (selection.length > 0) {			
					var selectedId = Number(selection[selection.length - 1]);
					if (!offsetList[selectedId]) {
						offsetList[selectedId] = {
							"isoffset": true,
							"offsetZ": 0
						};
					} else {
						for (let key in offsetList) {
							offsetList[key].isoffset = false;
						}
						offsetList[selectedId].isoffset = true;
					}
				} else {
					for (let key in offsetList) {
						offsetList[key].isoffset = false;
					}
				}
			}, SuperMap3D.ScreenSpaceEventType.MOUSE_MOVE);
			setInterval(function() {
				var layertop = scene.layers.find('sichuan432602');
				for (let key in offsetList) {
					if (offsetList[key].isoffset) {
						if (offsetList[key].offsetZ < 20000) {
							offsetList[key].offsetZ = offsetList[key].offsetZ + 1000;
							layertop.setObjsTranslate([key], new SuperMap3D.Cartesian3(0, 0, offsetList[key].offsetZ))
						}
			
			
					} else {
						if (offsetList[key].offsetZ > 0) {
							offsetList[key].offsetZ = offsetList[key].offsetZ - 500;
							layertop.setObjsTranslate([key], new SuperMap3D.Cartesian3(0, 0, offsetList[key].offsetZ))
						}
					}
				}
			
			}, 20)
        }
        catch(e){
            if (widget._showRenderLoopErrors) {
                var title = '渲染时发生错误,已停止渲染。';
                widget.showErrorPanel(title, undefined, e);
            }
        }
        $('#loadingbar').remove();
    }
    if (typeof SuperMap3D !== 'undefined') {
        window.startupCalled = true;
        onload(SuperMap3D);
    }
    </script>
</body>
</html>

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

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

相关文章

领域算法 - 字符串匹配算法

字符串匹配算法 文章目录 字符串匹配算法一&#xff1a;KMP算法1&#xff1a;算法概述2&#xff1a;部分匹配表3&#xff1a;算法实现 二&#xff1a;Moore算法1&#xff1a;算法概述2&#xff1a;代码实现3&#xff1a;完整实现 三&#xff1a;马拉车算法1&#xff1a;算法概述…

小红书用户作品列表 API 系列,返回值说明

item_search_shop_video-获得某书用户作品列表 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_sea…

LeetCode hot 力扣热题100 排序链表

归并忘了 直接抄&#xff01; class Solution { // 定义一个 Solution 类&#xff0c;包含链表排序的相关方法。// 使用快慢指针找到链表的中间节点&#xff0c;并断开链表为两部分ListNode* middleNode(ListNode* head) { ListNode* slow head; // 慢指针 slow 初始化为链表…

JavaScript正则表达式解析:模式、方法与实战案例

目录 一、什么是正则表达式 1.创建正则表达式 2.标志&#xff08;Flags&#xff09; 3.基本模式 &#xff08;1&#xff09;字符匹配 &#xff08;2&#xff09;位置匹配 &#xff08;3&#xff09;数量匹配 二、常用的正则表达式方法和属性 1.test()‌ 2.match()‌ …

Nginx在Linux中的最小化安装方式

1. 安装依赖 需要安装的东西&#xff1a; wget​&#xff0c;方便我们下载Nginx的包。如果是在Windows下载&#xff0c;然后使用SFTP上传到服务器中&#xff0c;那么可以不安装这个软件包。gcc g​&#xff0c;Nginx是使用C/C开发的服务器&#xff0c;等一下安装会用到其中的…

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

基于python+Django+mysql鲜花水果销售商城网站系统设计与实现

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

-bash: /java: cannot execute binary file

在linux安装jdk报错 -bash: /java: cannot execute binary file 原因是jdk安装包和linux的不一致 程序员的面试宝典&#xff0c;一个免费的刷题平台

免费为企业IT规划WSUS:Windows Server 更新服务 (WSUS) 之快速入门教程(一)

哈喽大家好&#xff0c;欢迎来到虚拟化时代君&#xff08;XNHCYL&#xff09;&#xff0c;收不到通知请将我点击星标&#xff01;“ 大家好&#xff0c;我是虚拟化时代君&#xff0c;一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…

面试--你的数据库中密码是如何存储的?

文章目录 三种分类使用 MD5 加密存储加盐存储Base64 编码:常见的对称加密算法常见的非对称加密算法https 传输加密 在开发中需要存储用户的密码&#xff0c;这个密码一定是加密存储的&#xff0c;如果是明文存储那么如果数据库被攻击了&#xff0c;密码就泄露了。 我们要对数据…

模型部署工具01:Docker || 用Docker打包模型 Build Once Run Anywhere

Docker 是一个开源的容器化平台&#xff0c;可以让开发者和运维人员轻松构建、发布和运行应用程序。Docker 的核心概念是通过容器技术隔离应用及其依赖项&#xff0c;使得软件在不同的环境中运行时具有一致性。无论是开发环境、测试环境&#xff0c;还是生产环境&#xff0c;Do…

Restormer: Efficient Transformer for High-Resolution Image Restoration解读

论文地址&#xff1a;Restormer: Efficient Transformer for High-Resolution Image Restoration。 摘要 由于卷积神经网络&#xff08;CNN&#xff09;在从大规模数据中学习可推广的图像先验方面表现出色&#xff0c;这些模型已被广泛应用于图像复原及相关任务。近年来&…

四、CSS效果

一、box-shadow box-shadow:在元素的框架上添加阴影效果 /* x 偏移量 | y 偏移量 | 阴影颜色 */ box-shadow: 60px -16px teal; /* x 偏移量 | y 偏移量 | 阴影模糊半径 | 阴影颜色 */ box-shadow: 10px 5px 5px black; /* x 偏移量 | y 偏移量 | 阴影模糊半径 | 阴影扩散半…

火狐浏览器Firefox一些配置

没想到还会开这个…都是Ubuntu的错 一些个人习惯吧 标签页设置 常规-标签页 1.按最近使用顺序切换标签页 2.打开新标签而非新窗口&#xff08;讨厌好多窗口&#xff09; 3.打开新链接不直接切换过去&#xff08;很打断思路诶&#xff09; 4.关闭多个标签页时不向我确认 启动…

MECD+: 视频推理中事件级因果图推理--VLM长视频因果推理

论文链接&#xff1a;https://arxiv.org/pdf/2501.07227v1 1. 摘要及主要贡献点 摘要&#xff1a; 视频因果推理旨在从因果角度对视频内容进行高层次的理解。然而&#xff0c;目前的研究存在局限性&#xff0c;主要表现为以问答范式执行&#xff0c;关注包含孤立事件和基本因…

Python基于Django的社区爱心养老管理系统设计与实现【附源码】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

Docker 单机快速部署大数据各组件

文章目录 一、Spark1.1 NetWork 网络1.2 安装 Java81.3 安装 Python 环境1.4 Spark 安装部署 二、Kafka三、StarRocks四、Redis五、Rabbitmq六、Emqx6.1 前言6.2 安装部署 七、Flink八、Nacos九、Nginx 一、Spark 1.1 NetWork 网络 docker network lsdocker network create -…

【MySQL】:Linux 环境下 MySQL 使用全攻略

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;MySQL学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 1. 背景 &#x1f680; 世界上主…

【思科】NAT配置

网络拓扑图 这个网络拓扑的核心是Router1&#xff0c;它通过配置多个VLAN子接口来实现对不同VLAN的支持&#xff0c;并通过NAT进行地址转换&#xff0c;使得内部网络能够与外部网络进行通信。Router1上配置了FastEthernet0/0.x接口&#xff0c;并启用了802.1Q封装&#xff0c;…

WGAN - 瓦萨斯坦生成对抗网络

1. 背景与问题 生成对抗网络&#xff08;Generative Adversarial Networks, GANs&#xff09;是由Ian Goodfellow等人于2014年提出的一种深度学习模型。它包括两个主要部分&#xff1a;生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;…