当前位置: 首页 > news >正文

设计网站案例网站/seo推广的常见目的有

设计网站案例网站,seo推广的常见目的有,学做土建资料员的网站,做盗版电影网站赚钱吗一、透视投影 1.方法概述 Perspective projection(透视投影)是一种模拟人眼观察三维空间物体时的视觉效果的投影方法。它通过模拟观察者从一个特定视点观察三维场景的方式来创建二维图像。在透视投影中,远处的物体看起来比近处的物体小&…

一、透视投影

1.方法概述

        Perspective projection(透视投影)是一种模拟人眼观察三维空间物体时的视觉效果的投影方法。它通过模拟观察者从一个特定视点观察三维场景的方式来创建二维图像。在透视投影中,远处的物体看起来比近处的物体小,这与我们的日常视觉经验相符。

1.1关键特点

  1. 单点透视:最基本的透视投影形式,所有消失点汇聚在一个点上,这个点称为消失点。这种投影适用于观察者直接面对的场景。

  2. 双点透视:当场景有一个角落或边缘时使用,消失点分布在两个不同的点上。

  3. 三点透视:用于非常倾斜或垂直的视角,消失点分布在三个不同的点上。

  4. 消失点:在透视投影中,平行线在无限远处相交的点称为消失点。这些点帮助确定物体在空间中的相对位置和大小。

  5. 透视网格:艺术家和设计师经常使用透视网格来帮助绘制透视图像。网格提供了一个框架,用于确定物体在透视空间中的位置。

  6. 比例和尺寸:在透视投影中,物体的大小与其与观察者的距离成反比。物体越远,看起来越小。

  7. 深度感:透视投影通过大小变化和重叠来创造深度感,使图像看起来更立体。

1.2 相关应用

  1. 艺术和设计中的应用:透视投影在绘画、建筑绘图、游戏设计和电影制作等领域中非常重要,因为它帮助创造真实感和空间感。

  2. 数学模型:在计算机图形学中,透视投影可以通过数学模型实现,其中3D坐标被转换为2D屏幕坐标,同时考虑视角和消失点。

  3. 透视投影矩阵:在3D图形编程中,透视投影矩阵用于将3D场景转换为2D视图,这是通过一系列线性变换实现的。

        透视投影是理解和创建三维空间中物体如何在二维平面上呈现的基础,它对于任何涉及空间表现的领域都是至关重要的。

2.数学推导

2.1视锥体到视平面的投影

在透视投影中,我们首先需要将视锥体中的顶点投影到视平面上。这可以通过相似三角形的性质来实现。对于三维空间中的一条直线,其参数方程可以表示为:

其中(x0​,y0​,z0​) 为直线上的一点,t 为参数。根据相似三角形原理,我们可以得到:

其中 f 为相机焦距。当 t→∞ 时,我们可以得到灭点的坐标:

这表明灭点只取决于直线的方向,而与直线上具体的点无关。

2.2 视锥体到规则观察体的映射

接下来,我们需要将视锥体映射到规则观察体(CVV)中进行裁剪。这涉及到将顶点坐标转换为齐次坐标,并构造出一个变换矩阵来完成映射。透视投影矩阵的数学推导过程可以表示为:

        其中,N 是近平面距离,f 是远平面距离,R,L,T,B 分别是视口的右边界、左边界、上边界和下边界值。

2.3 透视除法

在将点映射到NDC(标准设备坐标系)之后,我们需要进行透视除法,即将 x′, y′, z′ 坐标除以 w′ 来得到最终的屏幕坐标:

2.4 视口变换和比例恢复

最后,我们需要将NDC坐标映射到屏幕坐标系中,并进行比例恢复。这涉及到将NDC坐标转换为栅格坐标系统,其中单位是像素。这个过程可以通过以下公式实现:

其中,PixelWidthPixelWidth 和 PixelHeightPixelHeight 分别是屏幕的像素宽度和高度。

二、等距圆柱投影

1.方法概述

        Equirectangular-perspective projection(等距柱状透视投影)是一种将球面(如地球)映射到平面矩形上的方法。这种投影方式保持了垂直和水平方向的一致间距,因此它在全景成像和虚拟现实应用中非常流行,因为它允许轻松地将图像拼接成广角视图。

1.1关键特点

  1. 等距柱状投影:也被称为地理或等距圆柱投影,它将纬度和经度线均匀地投影到平面上。
  2. 形状和面积失真:这种投影可能会扭曲形状和面积,尤其是在极地附近,但它提供了一种直观的全景图像布局,通过允许从球面到矩形坐标的简单映射。
  3. 虚拟现实应用:在虚拟现实应用中,等距柱状图像可以显示在360度环境中,为用户创造沉浸式体验。
  4. 全景图像创建:等距柱状格式通常与通过特殊相机或设置创建的球面全景图一起使用。
  5. 渲染技术:在视频游戏和模拟中,等距柱状投影的渲染技术对于创建无缝环境以增强用户参与度至关重要。

等距柱状投影的主要特点是其2:1的宽高比,能够覆盖360°的水平视场和180°的垂直视场,同时保持点之间的角关系,但会在极地附近扭曲形状。这种投影方式在全景摄影中被广泛用于创建完整的360度水平和180度垂直视图。

1.2相关应用

        等距柱状透视投影(Equirectangular projection)在多个领域有着广泛的应用,以下是一些主要的应用场景:

        全景图像和虚拟现实(VR):等距柱状透视投影是全景图像和虚拟现实中常用的一种投影方式。它能够将360度的全景图像映射到2D平面上,为用户提供沉浸式的体验。在VR应用中,这种投影方式可以让用户感受到身临其境的效果,例如通过Three.js实现全景图VR,将全景图贴到球体上,实现虚拟环境的模拟。

        全球数据集:等距柱状投影因其简单的地理关系,成为了全球栅格数据集的标准,例如Celestia和NASA World Wind。这种投影方式使得图像像素在地图上的位置与其对应的地理位置之间的关系变得简单直接。

        地图制作:尽管等距柱状投影在导航或地籍测绘中使用较少,因为它引入了畸变,但它在主题地图制作中找到了主要应用。这种投影方式能够将球面上的经纬线投影到圆柱面上,然后展开成平面,适用于地图的制作和展示。

        3D全景场景生成:在3D全景场景生成中,等距柱状投影被用来将3D球体映射到2D平面,这对于生成详细、一致且合理的全景图至关重要。通过这种投影,可以合成360°×90°视角的全景图,并逐步扩展至360°×180°视角的全景图。

2.数学推导

2.1 正向投影

正向投影是将球面坐标(经度和纬度)转换为平面坐标的过程。假设我们有一个点在球面上,其球面坐标为(φ, λ),其中φ是纬度,λ是经度。等距柱状透视投影的正向投影公式如下:

  • 经度(x): x=λ
  • 纬度(y): y=ϕ

这里,λ被直接映射为x坐标,而φ被直接映射为y坐标。这种投影方式保持了经度和纬度的等距特性,即在球面上等距的经线和纬线在投影后仍然保持等距。

2.2 反向投影

反向投影是将平面坐标转换回球面坐标的过程。给定平面上的点(x, y),我们可以通过以下公式计算其对应的球面坐标(φ, λ):

  • 经度(λ): λ=x
  • 纬度(φ): ϕ=y

这里,x坐标直接对应于经度,y坐标直接对应于纬度。

2.3 归一化与反归一化

在实际应用中,我们经常需要将平面坐标归一化到[-1, 1]的范围内,以适应不同的显示和处理需求。归一化的公式如下:

反归一化的公式则为:

这些公式允许我们将平面坐标在[-1, 1]范围内归一化,并在需要时将其反归一化回原始的经度和纬度值。

2.4 笛卡尔坐标系转化

在某些应用中,我们需要将球面坐标转换为笛卡尔坐标。对于单位球面上的点,转换公式如下:

        X=sin(ϕ)cos(λ)

        Y=sin(ϕ)sin(λ)

        Z=cos(ϕ)

这些公式将球面坐标(φ, λ)转换为笛卡尔坐标系中的点(X, Y, Z)。

三、相关代码详解

1.透视投影

1.1 数学推导

        透视投影的数学推导可以通过多种编程语言实现,这里我提供一个简单的Python代码示例,用于演示如何将三维空间中的点通过透视投影转换到二维平面上。这个例子中,我们将使用一个简单的透视投影矩阵来实现这一转换。

import numpy as npdef perspective_projection(point, fov, aspect_ratio, near, far):"""对三维点进行透视投影。参数:point -- 三维空间中的点 (x, y, z)fov -- 视场角,以度为单位aspect_ratio -- 宽高比near -- 近裁剪面far -- 远裁剪面返回:二维平面上的投影点 (x', y', w')"""# 将视场角从度转换为弧度fov_rad = np.radians(fov)# 计算透视投影矩阵f = 1 / np.tan(fov_rad / 2)projection_matrix = np.array([[f / aspect_ratio, 0, 0, 0],[0, f, 0, 0],[0, 0, (far + near) / (near - far), (2 * far * near) / (near - far)],[0, 0, -1, 0]])# 将点转换为齐次坐标point_homogeneous = np.array([point[0], point[1], point[2], 1])# 应用透视投影矩阵projected_point = np.dot(projection_matrix, point_homogeneous)# 归一化w分量projected_point /= projected_point[3]return projected_point[:2]# 示例使用
point_3d = (1, 2, 3)  # 三维空间中的点
fov_degrees = 60  # 视场角
aspect_ratio = 16 / 9  # 宽高比
near_plane = 0.1  # 近裁剪面
far_plane = 100  # 远裁剪面projected_point = perspective_projection(point_3d, fov_degrees, aspect_ratio, near_plane, far_plane)
print("Projected Point:", projected_point)

        函数定义perspective_projection 函数接受一个三维点和透视投影的参数(视场角、宽高比、近裁剪面和远裁剪面)。视场角转换:将视场角从度转换为弧度,因为三角函数在Python中使用弧度。透视投影矩阵:构建一个4x4的透视投影矩阵,这个矩阵将用于将三维点转换到二维平面。点转换:将三维点转换为齐次坐标(添加一个1作为w分量)。应用投影矩阵:将透视投影矩阵应用于齐次坐标点。归一化:将结果除以w分量以归一化坐标。返回结果:返回归一化后的二维坐标。

1.2 实际应用

        在实际的项目中,透视投影通常用于图形渲染和3D图形处理。以下是一个使用Python和OpenGL库PyOpenGL实现的简单示例,这个示例创建了一个窗口,并在其中渲染了一个简单的3D立方体,使用透视投影来模拟相机视角。

import glfw
from OpenGL.GL import *
from OpenGL.GL.shaders import compileProgram, compileShader# 顶点着色器
vertex_shader = """
#version 330 core
layout (location = 0) in vec3 aPos;uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;void main()
{gl_Position = projection * view * model * vec4(aPos, 1.0);
}
"""# 片段着色器
fragment_shader = """
#version 330 core
out vec4 FragColor;void main()
{FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
}
"""def create_shaders():vertex = compileShader(vertex_shader, GL_VERTEX_SHADER)fragment = compileShader(fragment_shader, GL_FRAGMENT_SHADER)return compileProgram(vertex, fragment)def main():if not glfw.init():returnwindow = glfw.create_window(800, 600, "Perspective Projection Example", None, None)if not window:glfw.terminate()returnglfw.make_context_current(window)shader = create_shaders()glUseProgram(shader)# 设置视口glViewport(0, 0, 800, 600)# 设置投影矩阵projection = glm.perspective(glm.radians(45.0), 800/600, 0.1, 100.0)glUniformMatrix4fv(glGetUniformLocation(shader, "projection"), 1, GL_FALSE, glm.value_ptr(projection))# 设置视图矩阵view = glm.lookAt(glm.vec3(4, 3, 3), glm.vec3(0, 0, 0), glm.vec3(0, 1, 0))glUniformMatrix4fv(glGetUniformLocation(shader, "view"), 1, GL_FALSE, glm.value_ptr(view))vertices = [-0.5, -0.5, 0.0, 1.0,0.5, -0.5, 0.0, 1.0,0.0,  0.5, 0.0, 1.0]VBO = glGenBuffers(1)VAO = glGenVertexArrays(1)glBindVertexArray(VAO)glBindBuffer(GL_ARRAY_BUFFER, VBO)glBufferData(GL_ARRAY_BUFFER, (GLfloat * len(vertices))(*vertices), GL_STATIC_DRAW)glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, None)glEnableVertexAttribArray(0)while not glfw.window_should_close(window):glClearColor(0.2, 0.3, 0.3, 1.0)glClear(GL_COLOR_BUFFER_BIT)# 更新模型矩阵model = glm.rotate(glm.mat4(1.0), glfw.get_time(), glm.vec3(0, 1, 0))glUniformMatrix4fv(glGetUniformLocation(shader, "model"), 1, GL_FALSE, glm.value_ptr(model))glDrawArrays(GL_TRIANGLES, 0, 3)glfw.swap_buffers(window)glfw.poll_events()glDeleteVertexArrays(1, [VAO])glDeleteBuffers(1, [VBO])glfw.terminate()import glm
main()

        初始化GLFW和OpenGL:设置窗口和OpenGL上下文。着色器编译:编译顶点着色器和片段着色器,并链接成程序。设置视口和投影矩阵:设置视口大小,并创建透视投影矩阵。设置视图矩阵:创建视图矩阵,模拟相机视角。顶点数据和缓冲区:定义顶点数据,并创建VBO和VAO。渲染循环:在渲染循环中,清除颜色缓冲区,更新模型矩阵,并绘制三角形。

2.等距圆柱投影

2.1 数学推导

等距圆柱投影(Equirectangular Projection)的数学推导可以通过编程语言实现,这里提供一个简单的Python代码示例,用于演示如何将球面坐标(纬度和经度)转换为等距圆柱投影的平面坐标。

import numpy as npdef spherical_to_equirectangular(latitude, longitude, scale=1.0):"""将球面坐标(纬度和经度)转换为等距圆柱投影的平面坐标。参数:latitude -- 纬度,范围:-π/2 到 π/2longitude -- 经度,范围:-π 到 πscale -- 缩放因子,默认为1.0返回:平面坐标 (x, y)"""# 将纬度和经度转换为弧度lat_rad = np.radians(latitude)lon_rad = np.radians(longitude)# 计算等距圆柱投影的平面坐标x = scale * lon_rady = scale * np.sin(lat_rad)return x, ydef equirectangular_to_spherical(x, y, scale=1.0):"""将等距圆柱投影的平面坐标转换回球面坐标(纬度和经度)。参数:x -- 平面坐标的x分量y -- 平面坐标的y分量scale -- 缩放因子,默认为1.0返回:球面坐标 (latitude, longitude)"""# 计算纬度和经度longitude = np.degrees(x / scale)latitude = np.degrees(np.arcsin(y / scale))return latitude, longitude# 示例使用
latitude = -30  # 纬度
longitude = 60  # 经度# 球面坐标到等距圆柱投影坐标
x, y = spherical_to_equirectangular(latitude, longitude)
print(f"Equirectangular Coordinates: ({x}, {y})")# 等距圆柱投影坐标到球面坐标
lat, lon = equirectangular_to_spherical(x, y)
print(f"Spherical Coordinates: ({lat}, {lon})")

(1)球面坐标到等距圆柱投影坐标spherical_to_equirectangular 函数接受纬度和经度作为输入,并将其转换为等距圆柱投影的平面坐标。纬度(latitude)和经度(longitude)首先被转换为弧度。然后,使用公式 x = scale * lon_rad 和 y = scale * np.sin(lat_rad) 计算平面坐标。

(2)等距圆柱投影坐标到球面坐标equirectangular_to_spherical 函数接受平面坐标作为输入,并将其转换回球面坐标。使用公式 longitude = np.degrees(x / scale) 和 latitude = np.degrees(np.arcsin(y / scale)) 计算纬度和经度。

2.2 实际应用

        使用Python和OpenGL库来实现一个简单的全景图像查看器,它将展示如何将球面坐标转换为等距圆柱投影坐标,并在屏幕上显示。

import glfw
from OpenGL.GL import *
from OpenGL.GL.shaders import compileProgram, compileShader
import numpy as np# 顶点着色器
vertex_shader = """
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aTexCoord;out vec2 TexCoord;uniform mat4 projection;
uniform mat4 view;void main()
{gl_Position = projection * view * vec4(aPos, 1.0);TexCoord = aTexCoord;
}
"""# 片段着色器
fragment_shader = """
#version 330 core
out vec4 FragColor;in vec2 TexCoord;uniform sampler2D texture1;void main()
{FragColor = texture(texture1, TexCoord);
}
"""def create_shaders():vertex = compileShader(vertex_shader, GL_VERTEX_SHADER)fragment = compileShader(fragment_shader, GL_FRAGMENT_SHADER)return compileProgram(vertex, fragment)def main():if not glfw.init():returnwindow = glfw.create_window(800, 600, "Equirectangular Projection Example", None, None)if not window:glfw.terminate()returnglfw.make_context_current(window)shader = create_shaders()glUseProgram(shader)# 设置视口glViewport(0, 0, 800, 600)# 设置投影矩阵projection = np.array([[1.0, 0.0, 0.0, 0.0],[0.0, 1.0, 0.0, 0.0],[0.0, 0.0, 1.0, 0.0],[0.0, 0.0, 0.0, 1.0]])  # 单位矩阵作为投影矩阵,因为我们处理的是2D图像glUniformMatrix4fv(glGetUniformLocation(shader, "projection"), 1, GL_FALSE, projection)glUniformMatrix4fv(glGetUniformLocation(shader, "view"), 1, GL_FALSE, projection)  # 同样使用单位矩阵# 加载纹理texture = glGenTextures(1)glBindTexture(GL_TEXTURE_2D, texture)glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT)glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT)glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)# 加载全景图像(这里需要一个全景图像文件路径)with open("path_to_your_equirectangular_image.jpg", "rb") as f:bin = f.read()img = bytearray(bin)glBindTexture(GL_TEXTURE_2D, texture)glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 800, 400, 0, GL_RGB, GL_UNSIGNED_BYTE, img)glGenerateMipmap(GL_TEXTURE_2D)# 顶点数据vertices = [-1.0, -1.0, 0.0, 0.0, 0.0,1.0, -1.0, 0.0, 1.0, 0.0,1.0,  1.0, 0.0, 1.0, 1.0,-1.0,  1.0, 0.0, 0.0, 1.0]VBO = glGenBuffers(1)VAO = glGenVertexArrays(1)glBindVertexArray(VAO)glBindBuffer(GL_ARRAY_BUFFER, VBO)glBufferData(GL_ARRAY_BUFFER, (GLfloat * len(vertices))(*vertices), GL_STATIC_DRAW)glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), ctypes.c_void_p(0))glEnableVertexAttribArray(0)glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), ctypes.c_void_p(12))glEnableVertexAttribArray(1)while not glfw.window_should_close(window):glClearColor(0.1, 0.1, 0.1, 1.0)glClear(GL_COLOR_BUFFER_BIT)glActiveTexture(GL_TEXTURE0)glBindTexture(GL_TEXTURE_2D, texture)glUniform1i(glGetUniformLocation(shader, "texture1"), 0)glDrawArrays(GL_TRIANGLE_FAN, 0, 4)glfw.swap_buffers(window)glfw.poll_events()glDeleteVertexArrays(1, [VAO])glDeleteBuffers(1, [VBO])glfw.terminate()import ctypes
main()

        初始化GLFW和OpenGL:设置窗口和OpenGL上下文。着色器编译:编译顶点着色器和片段着色器,并链接成程序。设置视口和投影矩阵:设置视口大小,并使用单位矩阵作为投影矩阵。加载纹理:加载全景图像作为纹理。顶点数据和缓冲区:定义顶点数据,并创建VBO和VAO。渲染循环:在渲染循环中,清除颜色缓冲区,绑定纹理,并绘制四边形。

相关文章:

透视投影(Perspective projection)与等距圆柱投影(Equirectangular projection)

一、透视投影 1.方法概述 Perspective projection(透视投影)是一种模拟人眼观察三维空间物体时的视觉效果的投影方法。它通过模拟观察者从一个特定视点观察三维场景的方式来创建二维图像。在透视投影中,远处的物体看起来比近处的物体小&…...

5 Java字符串操作

字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra…...

【C++习题】17.二分查找算法_二分查找

文章目录 二分查找算法简介题目链接:题目描述:解法C 算法代码:图解总结朴素二分模板 二分查找算法简介 特点: 二分查找算法,是最恶心,细节最多,最容易写出死循环的算法。(而且非常难…...

Spring Boot英语知识网站:架构与开发

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…...

Unity ShaderLab 实现网格爆炸

实现思路: 沿着3D物体每个面的法线,将面偏移一定的位置。 Shader Graph实现如下: Shader Lab 实现如下: Shader "Unlit/MeshExplode" {Properties{_MainTex ("Texture", 2D) "white" {}_Distan…...

2024/11/28学习日志

为了更好地记录并反思自己的学习状况,将每日学习的内容、时长、心得等记录于此日志。 于9月3日开始记录,计划每日记录,希望至少能够坚持一个学期。 学习内容: 数据结构: 拓扑排序。关键路径。 马原: 马…...

在shardingsphere执行存储过程

环境&#xff1a; springboot&#xff1a;2.5.2 数据库&#xff1a;Kingbase金仓V8R6 依赖&#xff1a; <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId></depende…...

1.文件目录操作

目录 &#x1f34c; ls - 列出目录内容 &#x1f349;cp - 复制文件或目录 &#x1f347;mv - 移动或重命名文件 &#x1f353; cd - 切换目录 &#x1f348; pwd - 打印工作目录 &#x1f352;mkdir - 创建目录 &#x1f351; rmdir - 删除空目录 &#x1f96d; touc…...

Vue单页面应用和多页面应用

在 Vue.js 中&#xff0c;“单页面”&#xff08;SPA&#xff0c;Single Page Application&#xff09;和"多页面"&#xff08;MPA&#xff0c;Multi Page Application&#xff09;是两种不同的应用结构&#xff0c;它们的差异主要体现在页面的加载方式、路由的使用、…...

Lombok :简化 Java 编程的得力工具

在 Java 开发过程中&#xff0c;常常需要编写大量的样板代码&#xff0c;例如构造函数、Getter 和 Setter 方法、equals 和 hashCode 方法等。这些代码虽然逻辑相对固定&#xff0c;但编写起来却较为繁琐且容易出错&#xff0c;并且会使代码显得冗长。Lombok 应运而生&#xff…...

AIGC引领金融大模型革命:未来已来

文章目录 金融大模型的应用场景1. **金融风险管理**2. **量化交易**3. **个性化投资建议**4. **金融欺诈检测和预防**5. **智能客户服务** 金融大模型开发面临的挑战应对策略《金融大模型开发基础与实践》亮点内容简介作者简介获取方式 在AIGC&#xff08;Artificial Intellige…...

DBA面试题-1

面临失业&#xff0c;整理一下面试题&#xff0c;找下家继续搬砖 主要参考&#xff1a;https://www.csdn.net/?spm1001.2101.3001.4476 略有修改 一、mysql有哪些数据类型 1&#xff0c; 整形 tinyint,smallint,medumint,int,bigint&#xff1b;分别占用1字节、2字节、3字节…...

用go语言写一个小服务

文章目录 简介重新想到go 小服务main.go部署测试 结束语 简介 golang的优势 响应速度&#xff1a; Go > Java > Python 内存占用&#xff1a; Go < Java < Python 从java转go&#xff0c;然后go又转java&#xff0c;感觉就是go虽然在编译、内存占用都强于java&am…...

亚马逊开发视频人工智能模型,The Information 报道

根据《The Information》周三的报道&#xff0c;电子商务巨头亚马逊&#xff08;AMZN&#xff09;已开发出一种新的生成式人工智能&#xff08;AI&#xff09;&#xff0c;不仅能处理文本&#xff0c;还能处理图片和视频&#xff0c;从而减少对人工智能初创公司Anthropic的依赖…...

WordCloud参数的用法:

-------------词云图集合------------- 用WordcloudPyQt5写个词云图生成器1.0 WordCloud去掉停用词&#xff08;fit_wordsgenerate&#xff09;的2种用法 通过词频来绘制词云图&#xff08;jiebaWordCloud&#xff09; Python教程95&#xff1a;去掉停用词词频统计jieba.toke…...

qml调用c++类内函数的三种方法

一.方法一&#xff1a;使用 Q_INVOKABLE 宏声明成员函数 1.第一步&#xff1a;依然需要新建一个类NetworkHandler: #include <QObject> class NetworkHandler : public QObject { Q_OBJECT public: explicit NetworkHandler(QObject *parent nullptr); Q_INVOKAB…...

NLP任务四大范式的进阶历程:从传统TF-IDF到Prompt-Tuning(提示词微调)

引言&#xff1a;从TF-IDF到Prompt-Tuning&#xff08;提示词微调&#xff09;&#xff0c;NLP的四次变革 自然语言处理&#xff08;NLP&#xff09;技术从最早的手工特征设计到如今的Prompt-Tuning&#xff0c;经历了四个重要阶段。随着技术的不断发展&#xff0c;我们的目标…...

GAMES101:现代计算机图形学入门-笔记-09

久违的101图形学回归咯 今天的话题应该是比较轻松的&#xff1a;聊一聊在渲染中比较先进的topics Advanced Light Transport 首先是介绍一系列比较先进的光线传播方法&#xff0c;有无偏的如BDPT&#xff08;双向路径追踪&#xff09;&#xff0c;MLT&#xff08;梅特罗波利斯…...

【Db First】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列 &#x1f…...

MySQL聚合查询分组查询联合查询

#对应代码练习 -- 创建考试成绩表 DROP TABLE IF EXISTS exam; CREATE TABLE exam ( id bigint, name VARCHAR(20), chinese DECIMAL(3,1), math DECIMAL(3,1), english DECIMAL(3,1) ); -- 插入测试数据 INSERT INTO exam (id,name, chinese, math, engli…...

告别照相馆!使用AI证件照工具HivisionIDPhotos打造在线证件照制作软件

文章目录 前言1. 安装Docker2. 本地部署HivisionIDPhotos3. 简单使用介绍4. 公网远程访问制作照片4.1 内网穿透工具安装4.2 创建远程连接公网地址 5. 配置固定公网地址 前言 本文主要介绍如何在Linux系统使用Docker快速部署一个AI证件照工具HivisionIDPhotos&#xff0c;并结合…...

通信原理第三次实验

实验目的与内容 实验操作与结果 5.1 刚开始先不加入白噪声&#xff0c;系统设计如下&#xff1a; 正弦波参数设置如下&#xff1a; FM设计如下&#xff1a; 延迟设计如下&#xff1a; 两个滤波器设计参数如下&#xff1a; 输出信号频谱为&#xff08;未加入噪声&#xff09;&a…...

【halcon】Metrology工具系列之 get_metrology_object_result_contour

get_metrology_object_result_contour (操作员) 名称 get_metrology_object_result_contour — 查询测量对象的结果轮廓。 签名 get_metrology_object_result_contour( : Contour : MetrologyHandle, Index, Instance, Resolution : ) 描述 get_metrology_object_result_…...

A052-基于SpringBoot的酒店管理系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…...

NLP信息抽取大总结:三大任务(带Prompt模板)

信息抽取大总结 1.NLP的信息抽取的本质&#xff1f;2.信息抽取三大任务&#xff1f;3.开放域VS限定域4.信息抽取三大范式&#xff1f;范式一&#xff1a;基于自定义规则抽取&#xff08;2018年前&#xff09;范式二&#xff1a;基于Bert下游任务建模抽取&#xff08;2018年后&a…...

python常见问题-pycharm无法导入三方库

1.运行环境 python版本&#xff1a;Python 3.9.6 需导入的greenlet版本&#xff1a;greenlet 3.1.1 2.当前的问题 由于需要使用到greenlet三方库&#xff0c;所以进行了导入&#xff0c;以下是我个人导入时的全过程 ①首先尝试了第1种导入方式&#xff1a;使用pycharm进行…...

迅为RK3588开发板Android系统开发笔记-使用ADB工具

1 使用 ADB 工具 ADB 英文名叫 Android debug bridge &#xff0c;是 Android SDK 里面的一个工具&#xff0c;用这个工具可以操作管理 Android 模拟器或者真实的 Android 设备&#xff0c;主要的功能如下所示&#xff1a;  在 Android 设备上运行 shell 终端&#xff0c;用命…...

什么是分布式数据库?

随着现代互联网应用和大数据时代的到来&#xff0c;分布式数据库成为了解决大规模数据存储和高并发处理的核心技术之一。本文将通过深入浅出的方式&#xff0c;带你全面理解分布式数据库的概念、工作原理以及底层实现技术。无论你是刚刚接触分布式数据库的开发者&#xff0c;还…...

Leetcode 3363. Find the Maximum Number of Fruits Collected

Leetcode 3363. Find the Maximum Number of Fruits Collected 1. 解题思路2. 代码实现 题目链接&#xff1a;3363. Find the Maximum Number of Fruits Collected 1. 解题思路 这一题是一道陷阱题…… 乍一眼看过去&#xff0c;由于三人的路线完全可能重叠&#xff0c;因此…...

【数据仓库 | Data Warehouse】数据仓库的四大特性

1. 前言 数据仓库是用于支持管理和决策的数据集合&#xff0c;它汇集了来自不同数据源的历史数据&#xff0c;以便进行多维度的分析和报告。数据仓库的四大特点是&#xff1a;主题性&#xff0c;集成性&#xff0c;稳定性&#xff0c;时变性。 2. 主题性(Subject-Oriented) …...