- 博客(30)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 零基础上杭电计算机-复试篇
title: 零基础上杭电-复试篇category: 文章date: 2019-04-06 20:40:29tags:杭电复试博主本科是河南某渣渣二本软件工程专业的伪学霸。决定考杭电一来是为了弥补下本科没能考上杭电的遗憾,再续前缘,二来为了走出家门出去多见见世面,多经历一些事情。刚刚考研的时候就决定,我不考211,不考985,因为我自己知道我几斤几两,就考个双非就OK,但我错了...
2020-02-20 17:52:26 2494 6
原创 杭电2019年计算机复试笔试真题
此复试题目是根据博主在考场上的记忆回忆复原的题目。为了恢复试题的原貌,我根据试题要求进行合理的脑补,按照oj系统的风格补全了试题的Problem Description、Input、Output、Sample Input、Sample Out等内容,并加入了详解、具体的代码实现。题目在卷子上的具体呈现形式是洛谷oj那个样子的,所以仅供大家参考。有什么错误、不合理的地方欢迎指出。以下题目中的Sa...
2020-01-11 22:34:08 3047 2
原创 HTTP协议不同版本区别面试总结
HTTP是超文本传输协议(HyperText Transfer Protocol, HTTP)的简写,它是TCP/IP协议的应用层协议。HTTP/0.9HTTP/0.9是HTTP的第一个版本已过时。它的组成极其简单,只允许客户端发送GET这一种请求,且不支持请求头。由于没有协议头,造成了HTTP/0.9协议只支持一种内容,即纯文本。不过网页仍然支持用HTML语言格式化,同时无法插入图片。具有典型的无状态性,每个事务独立进行处理,事务结束时就释放这个连接。一次HTTP/0.9的传输首先要建立一个由客
2021-08-03 19:57:35 369
原创 C++中的delete与delete[]
本文摘编自https://www.cnblogs.com/charley_yang/archive/2010/12/08/1899982.htmlC++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。简单来说就是使用delete释放单个对象,使用delete[]释放数组对象。关于 new[] 和 delete[],其中又分为两种情况:为基本数据类型分配和回收空间;为自定义类型分配和回收空间。下.
2021-07-18 23:20:01 2498 1
转载 OpenHarmony C++语言编程规范
C++语言编程规范目的规则并不是完美的,通过禁止在特定情况下有用的特性,可能会对代码实现造成影响。但是我们制定规则的目的“为了大多数程序员可以得到更多的好处”, 如果在团队运作中认为某个规则无法遵循,希望可以共同改进该规则。参考该规范之前,希望您具有相应的C++语言基础能力,而不是通过该文档来学习C++语言。了解C++语言的ISO标准;熟知C++语言的基本语言特性,包括C++ 03/11/14/17相关特性;了解C++语言的标准库;总体原则代码需要在保证功能正确的前提下,满足可读、可维护
2021-06-06 10:23:20 2390
原创 Bezier曲线(附Python实现代码)
上一讲讲解了伯恩斯坦多项式,现在就开始对Bezier曲线进行研究。首先Bezier曲线采用伯恩斯坦多项式作为基函数。首先,我们定义Bezier曲线的表达式:C(t)=∑k=0nPkBkn(t)(1)\begin{aligned} \mathcal{C}(t) = \sum_{k=0}^n \mathbf{P}_k B_k^n(t)\end{aligned} \tag{1}C(t)=k=0∑nPkBkn(t)(1)其中,(P)0≤k≤n\left( \mathbf{P} \right)
2021-05-11 10:37:28 3619 3
原创 有限元变分形式
有如下的微分方程ad2udx2+b=0,0≤x≤2Lu∣x=0=0adudx∣x=2L=R\begin{aligned}& a\frac{d^2u}{dx^2}+b=0, \quad 0 \leq x \leq 2L \\& \left. u \right|_{x=0}=0 \\& a\left. \frac{du}{dx} \right|_{x=2L}=R\end{aligned}adx2d2u+b=0,0≤x≤2Lu∣x=0=0adxdu∣∣∣∣x=2L
2021-05-08 16:49:56 588
原创 有限元分析简介及伽辽金法
1.1 什么是有限元方法有限元方法(Finite Element Method, FEM)是一种求解由偏微分方程描述或可表示为泛函极小化问题的数值方法。感兴趣的域被表示为有限单元(finite elements)的集合。有限元中的逼近函数是根据所求物理场的节点值确定的。FEM将一个连续的物理问题转化为节点值未知的离散化有限元问题,并得到一个线性方程组,求解该方程组就可以获得待求的物理量。有限元内部的值可以使用节点值恢复。值得一提的是,FEM的两个特点:在有限元上的物理场的分段近似提供了很好的精度,即
2021-05-07 16:19:03 17125 4
翻译 伯恩斯坦多项式(Bernstein Polynomials)
多项式是非常有用的数学工具,因为它们定义简单,可以在计算机系统上快速计算,并代表各种函数。多项式可以很容易进行微分和积分,并且可以拼接在一起形成样条曲线,该曲线可以逼近任何函数,达到所需的任何精度。我们在小学四年级就已经学过多项式的相关知识,让我们来回顾一下p(t)=antn+an−1tn−1+⋯+a1t+a0(1)p(t)=a_nt^n+a_{n-1}t^{n-1}+\cdots+a_1t+a_0 \tag{1}p(t)=antn+an−1tn−1+⋯+a1t+a0(1)上式表示某些初等多
2021-05-06 15:47:49 14420 4
原创 偏微分方程的有限元解法
本文我们以求解泊松方程为例,讲述微分方程的有限元解法,附FEniCS代码方程定义首先是泊松方程的表达式−Δu=f in Ω(1)-\Delta u=f \qquad \text{ in } \Omega \tag{1}−Δu=f in Ω(1)其边界条件u∣ΓD=u0 on ΓD∂u∂n∣ΓN=g on ΓN=∂Ω−ΓDu|_{\Gamma_D}=u_0 \qquad \text{ on } \Gamma_D.
2021-04-17 23:04:18 4557
原创 使用广义α方法(the generalized-α method)求解时变动力学问题
本文讲解如何使用使用广义α方法求解时变动力学问题,附带FEniCS代码控制方程及其变分形式首先我们定义我们需要求解的弹性力学方程∇⋅σ+ρb=ρu¨(1)\nabla\cdot\textcolor{red}{\sigma}+\rho b = \rho \ddot{u} \tag{1}∇⋅σ+ρb=ρu¨(1)其中σ\sigmaσ是应力张量,bbb是体元外力,ρ\rhoρ是密度,u¨\ddot{u}u¨表示位移uuu对时间的ttt的二阶导数,即加速度。在这个问题中,我们需要求解的是位移uuu。.
2021-04-17 17:27:59 2719 1
原创 现代计算机图形学笔记(八)——纹理的应用(环境光贴图、凹凸贴图、法线贴图)
纹理的应用环境光贴图环境光贴图可以让模型反射出周围环境的样子,如下图右侧,而左侧的图像就是环境光贴图。环境光一般都存储在一个球上(Spherical Map),并且我们可以像展开地球仪一样展开成环境光贴图。展开后的贴图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QrHAgZcv-1617529106635)(C:\Users\63092\AppData\Roaming\Typora\typora-user-images\image-20210404162758
2021-04-04 17:39:38 2068 1
原创 现代计算机图形学笔记(七)——重心坐标、应用纹理&Mipmap
重心坐标(Barycentric Coordinates)上几节课都提到了在三角形内部做插值,为了研究此问题,我们引入重心坐标(Barycentric Coordinates)。重心坐标的应用很广泛,如在像素着色器(Fragment shader)中我们已知三角形三个顶点的法向量,去插值求解三角形内部每个像素的法向量;在纹理映射时,我们已知三角形三个顶点在纹理坐标中的u,vu,vu,v值,去插值获得三角形内部纹理坐标的值。我们定义三角形坐标系(coordinate system for triangle
2021-04-04 15:49:50 1060
原创 现代计算机图形学笔记(六)——布林-冯反射模型、图形管线、纹理映射
图形学笔记六上节课我们讨论了布林-冯模型中的漫反射部分,本节将继续讨论该模型中的高光和环境光部分。布林-冯反射模型(Blinn-Phong Reflectance Model)高光对于模型的高光,我们只可以从镜面反射方向看到,也就是说当我们眼睛看的方向V\bold{V}V和镜面反射方向R\bold{R}R很接近时可以看到高光。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6PbZ94Qv-1617370306934)(https://img.rruu.net/ima
2021-04-02 21:35:40 2532
原创 现代计算机图形学笔记(五)——深度测试、着色
可见性与遮挡(Z-buffering)根据常识,我们很容易的想到画家在作画的时候如何体现遮挡。在作画时一般都是先画远处的物体,之后再画近处的物体,这样画出的画就可以体现出遮挡,该算法称为画家算法。画家算法需要先对所有物体的深度进行排序(最少需要nlognn\log nnlogn的时间复杂度),然后依次按顺序画在屏幕上(光栅化)。画家算法虽然思想简单,但并不能解决所有的遮挡问题,比如下图的情况为了解决画家算法的缺点,在图形学中引入了深度缓存算法(Z-Buffer)。Z-Buffer算法同时维护一
2021-03-31 20:55:05 964
原创 现代计算机图形学笔记(四)——反走样、抗锯齿
上节课我们判像素点是否在三角形内得到了三角形光栅化的结果,但是这样得到的三角形会产生严重的锯齿现象(走样Aliasing),这节课我们就来讨论抗锯齿(反走样Anti-Aliasing)产生这样瑕疵(Artifacts)的原因是由于我们对三角形进行了采样(Sampling)。而采样会造成Artifacts的原因是图像或信号变化的太快了,而采样的速度太慢。针对采样造成的走样问题,我们可以先对三角形进行滤波(模糊)处理,然后再采样就可以改善锯齿现象。这里要注意,一定是先做滤波再做采样才可以达到反走样的效
2021-03-31 15:35:20 1198
原创 现代计算机图形学笔记(三)——三角形光栅化
三角形光栅化经过上节课的MVP(Model, View, Projection transformation)变换之后,所有的物体都会在[−1,1]3[-1,1]^3[−1,1]3的立方体中,本节就来讨论如何将这个[−1,1]3[-1,1]^3[−1,1]3的立方体画在屏幕上(光栅化)。下面我们给出一些定义:什么是屏幕?像素的数组数组的大小:分辨率一个典型的光栅(raster)成像设备光栅化==把东西画在屏幕上。对于像素,在本节中,我们将其抽象成一个具有唯一颜色(不会变色)的小方块。像素的坐
2021-03-29 21:52:15 772
原创 现代计算机图形学笔记(二)——三维变换、正交&透视投影
三维变换和上节一样,我们使用齐次坐标3D点:(x,y,z,1)⊤(x,y,z,1)^\top(x,y,z,1)⊤3D向量:(x,y,z,0)⊤(x,y,z,0)^\top(x,y,z,0)⊤通常情况下,w≠0w\neq0w=0,3D点表示为(x/w,y/w,z/w,1)⊤(x/w,y/w,z/w,1)^\top(x/w,y/w,z/w,1)⊤则我们可以使用4×44\times44×4矩阵表示仿射变换[x′y′z′1]=[abctxdeftyghitz0001][xyz1]\left[\
2021-03-28 16:21:01 1348
原创 现代计算机图形学笔记(一)——二维变换
二维变换缩放在等比例缩放情况下如上图所示,若将图片缩小两倍,则坐标x,yx,yx,y的变换为x′=sxy′=syx'=sx \\y'=syx′=sxy′=sy表示为矩阵形式[x′y′]=[s00s][xy]\left[\begin{array}{l}x^{\prime} \\y^{\prime}\end{array}\right]=\left[\begin{array}{ll}s & 0 \\0 & s\end{array}\right]\left[\beg
2021-03-26 22:23:25 578
原创 C++内联函数详解
内联函数是什么C++中支持内联函数,其目的是为了提高函数的执行效率,用关键字inline放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开。我们通常定义以下函数来求两个整数的最大值:int max(int a, int b){ return a > b ? a : b;}为这么一个小的操作定义一个函数的好处有:阅读和理解函数max的调用,要比读一条等价的条件表达式并解释它的含义要容易得多如果需要做任何修
2021-03-25 15:46:40 949
原创 非均匀有理B-样条(Non-Uniform Rational B-Splines, NURBS)基础知识
B样条是无理的,组成无理B样条曲线或曲面。有理曲线或曲面可以精确地表示圆锥截面。非均匀有理B样条(Non-Uniform Rational B-Splines, NURBS)就是为了表达更精确的曲面引入的,其控制顶点包含权重。NURBS的基函数与B样条不同,但结点向量、张量积的性质和细分规则是不变的。1 几何角度在Rd\mathbb{R}^dRd空间的NURBS实体通过在Rd+1\mathbb{R}^{d+1}Rd+1空间的B样条实体投影得到,其中ddd是维数。图1说明了一个在R2\mathbb{R}^
2021-03-10 16:39:12 6862
原创 泛函的简单理解
泛函设CCC是一个由函数组成的集合,对于CCC中的任何一个元素y(x)y (x)y(x),数集BBB中都有一个元素FFF与之对应,称FFF是y(x)y(x)y(x)的泛函(functional),记作F=F[y(x)]F = F [ y ( x )]F=F[y(x)]例如,C={x,x2,x3,x4,x5,…,xn}C=\left\{ x,x^2, x^3,x^4,x^5,\dots,x^n \right\}C={x,x2,x3,x4,x5,…,xn};F={R}F=\{R\}F={R}即实数集,则FF
2020-09-30 21:11:48 7529 3
原创 基于等几何的神经介质传输仿真模拟
在复杂几何中的物质运输以保证功能是一个复杂的问题。通过等几何(IGA)模拟物质在生物神经网络中的运输是有意义的。文章使用反应-扩散-运输(reaction-diffusion-transport)方程表示物质传输过程,用截断分层三次B样条(THB-Spline3D)表示神经的几何形状。并通过Navier-Stokes(NS)方程获得物质传输的速度场,最后使用IGA求解器模拟了单个轴突、二分叉轴突与三分叉轴突的物质传输过程。1. 总览文中提出的对神经网络物质传输的建模分析流程图如下所示[外链图片转存失
2020-08-23 16:48:43 288
原创 使用等几何分析模拟神经元细胞中物质传输代码运行结果
运行结果这里使用较为简单的单分叉结构作为模拟对象。1. 由骨架生成六面体网格由骨架信息(.swc文件)扫掠生成六面体网格(.vtk文件),其中骨架的分叉部分不能有自交。配置参数为:n_noisesmooth 150 (对噪声进行平滑的迭代次数)ratio_bifur_node 0.3 (分叉节点平滑率,取值0~1)ratio_noisesmooth 0.01 (噪声平滑比率,取值0~1)seg_length 0.2 (Bezier平滑分段长度,该值主要取决于神经元大小)ratio_refi
2020-08-20 17:36:11 436
原创 Tensorflow1.x 与 Tensorflow2.0的不同
简单来说,Tensorflow1.x 与 Tensorflow2.0的主要区别在于tf1.x使用静态图而tf2.x使用Eager Mode动态图。下图是Tensorflow2.0的架构图,使用keras API作为构建神经网络的工具。Eager Mode动态图模式在Eager Mode 推出之前,基于TensorFlow的程序使用的静态计算图,计算过程首先被编译成一个有向无环图。这种模式下...
2020-04-06 20:15:30 2220 1
原创 Data-driven 3D human head reconstruction——3D人头重建笔记
数据驱动的3D人头重建文中提出的框架可以通过一张图片重建出3D人头模型。图片首先通过卷积神经网络把图片进行分割,使用Gabor滤波器提取头发方向。之后,以标志点为约束求解FLAME面参数化模型。利用人脸图像的高频信息对细节进行增强,并利用反照率参数化模型对纹理进行补充。最后,建立了条状网格毛发数据库,并利用该数据库和图像中提取的信息,对图像中的头发进行了重建头部重建是人体重建中较为困难的。...
2020-03-01 20:23:41 2789 3
原创 A Deep Learning Framework for Design and Analysis of Surgical Bioprosthetic Heart Valves总结
文章提出了一个基于深度学习的框架来预测心脏瓣膜在生物力学上的形变,而生物力学上的形变不能直接使用医学成像捕获,通常需要复杂的计算专业知识和成本来确定。文章通过CT图像使用NURBS曲面对心脏瓣膜建模,之后利用等几何分析的方法对心脏瓣膜进行应力与应变的分析 。提出的方法是通用的;它也可以应用到分析心脏瓣膜的其他关键性能特性,以及包括流体结构相互作用在内的更复杂的瓣膜模拟。结果对瓣膜的形变,...
2020-01-09 10:18:47 480
原创 DEEP LEARNING FOR SYMBOLIC MATHEMATICS-深度学习在符号计算上的应用总结
过去神经网络方面的工作很少是研究数学方面的应用,而本文则是神经网络在数学方面的应用,特别是符号计算、积分计算、常微分方程的计算。本文还提出了一种表示数学问题的语法,生成数据集用于训练seq2seq模型。在本文中,我们将数学问题特别是符号计算当做NPL模型。也就是将积分、ODE方程用seq2seq模型处理。作者认为解微分方程的过程可以看做是一个模式识别的过程,然而截止到目前还没有一个神经网络可...
2020-01-05 20:30:04 1192
原创 面向对象要点总结
第二章 面向对象设计原则软件的可维护性和可复用性软件的复用(Reuse)或重用拥有众多优点,恰当的复用还可以改善系统的可维护性。复用的目标在于实现支持可维护性的复用可维护性复用都是以面向对象设计原则为基础的重构(Refactoring)是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。面向对象设计原则...
2019-12-22 22:29:13 342
原创 Learning From Crowds梳理
Learning From Crowds梳理文中首先提出,在监督学习中获取真实的标签值是不现实的。很多的标签是通过人工标注的,而不同的人进行标注又会出现不同的结果产生分歧。故作者在本文中提出了一种概率模型从多个标注者的标注结果中学习潜在的数据标签。1. 含有多个标注者的有监督的学习上面说到人工标注可能会产生很大的分歧。为了解决这个问题,作者就提出了一个概率模型来解决以下问题:如何在有...
2019-12-15 11:15:30 619
纯C语言实现DNS服务端与客户端程序
2020-08-13
前端开发如何做到文字气泡自动适应文字多少效果?
2016-09-17
JavaScript中定时器为什么就运行了一遍
2016-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人