自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (73)
  • 收藏
  • 关注

原创 Sobel边缘检测 - 梯度算子介绍

Sobel是常用的边缘检测Filter,本文主要是介绍一下Sobel的公式的由来。

2022-06-03 20:51:23 2389 1

原创 介绍UE4 Landscape通过Normal计算TangentToLocal矩阵

VertexFactoryGetPerPixelTangentBasis先看下计算Tangent到Local空间的Shader代码float3x3 VertexFactoryGetPerPixelTangentBasis(FVertexFactoryInterpolantsVSToPS Interpolants){ float3x3 Result;#if PIXELSHADER || RAYHITGROUPSHADER || COMPUTESHADER#if FEATURE_LEVEL

2022-05-25 16:15:31 541

原创 Unreal Engine中ResizeImage的问题

缩放图像是常用的一个操作,有很多应用。今天主要探讨一下UE里面Resize的问题,希望对大家有帮助,在写类似图像处理的时候能写出正确的代码。

2022-05-25 16:03:43 287

原创 UE4 Decal实现简介

Decal是游戏中常见东西,实现技术也不太复杂,不过实现技术还是值得学习和参考的。本文简要的介绍了UE4中Mobile 渲染路径的Decal实现。

2022-01-01 15:30:34 3922

原创 三角函数和欧拉公式

三角函数

2021-12-26 19:22:08 10118

Computer Animation Algorithms and Techniques, Third Edition (PDF)

This book surveys computer algorithms and programming techniques for specifying and generating motion for graphical objects, that is, computer animation. It is primarily concerned with three-dimensional (3D) computer animation. The main audience is advanced undergraduate or beginning graduate students in Computer Science. Computer graphics programmers who want to learn the basics of computer animation programming and artists who use software packages to generate computer animation (digital animators) who want to better understand the underlying computational issues of animation software will also benefit from this book.

2013-01-20

Understanding Cryptography (2010)

Cryptography is now ubiquitous – moving beyond the traditional environments, such as government communications and banking systems, we see cryptographic techniques realized in Web browsers, e-mail programs, cell phones, manufacturing systems, embedded software, smart buildings, cars, and even medical implants. Today's designers need a comprehensive understanding of applied cryptography. After an introduction to cryptography and data security, the authors explain the main techniques in modern cryptography, with chapters addressing stream ciphers, the Data Encryption Standard (DES) and 3DES, the Advanced Encryption Standard (AES), block ciphers, the RSA cryptosystem, public-key cryptosystems based on the discrete logarithm problem, elliptic-curve cryptography (ECC), digital signatures, hash functions, Message Authentication Codes (MACs), and methods for key establishment, including certificates and public-key infrastructure (PKI). Throughout the book, the authors focus on communicating the essentials and keeping the mathematics to a minimum, and they move quickly from explaining the foundations to describing practical implementations, including recent topics such as lightweight ciphers for RFIDs and mobile devices, and current key-length recommendations. The authors have considerable experience teaching applied cryptography to engineering and computer science students and to professionals, and they make extensive use of examples, problems, and chapter reviews, while the book’s website offers slides, projects and links to further resources. This is a suitable textbook for graduate and advanced undergraduate courses and also for self-study by engineers.

2012-12-21

Trustworthy Compilers.pdf

This book presented to the readers is my second book published by John Wiley & Sons publishing company — thanks for such a wonderful opportunity to publish! My fi rst Wiley book [1] issued in 2008 covers aspect - oriented programming and its use for trustworthy software development. First, let me explain the allegorical meaning of the picture on the front cover of the book — a view of a rostral column , an architectural monument at the center of St. Petersburg in Neva embankment, designed by Jean - Francois Thomas de Thomon in 1810. When accompanying a compiler development team from Sun around St. Petersburg in 1994, I realized and told my guests that the rostral columns can be considered an allegory of modern compiler architecture. The foundation ( pillar ) of the column symbolizes trustworthy common back - end of a family of compilers for some platform (e.g., Scalable Processor ARChitecture [SPARC ]), and the rostra relying on the column (according to ancient tradition, the rostra should be front parts of the defeated enemy ’ s ships) depicts compiler front - ends — FORTRAN, C, Pascal, Modula, and so on, developed for that hardware platform. This trustworthy compilers book is the result of many years of my professional experience of research and commercial projects in the compiler development fi eld. I was as fortunate as to work with great people and companies on compiler development: in the 1970s to 1980s — with my Russian colleagues on developing compilers for the Russian “ Elbrus ” [2] supercomputers; in the 1990s — with Sun Microsystems on developing Sun compilers; and since 2003 — with Microsoft on its Phoenix [3] technology for compiler development. The results of these collaborations are presented in my book.

2012-12-19

C Compilers for ASIPs Automatic Compiler Generation with LISA

This book is based on my PhD thesis performed at the chair for Software for Systems on Silicon (SSS) at the RWTH-Aachen University. It documents the results of more than 5 years of work during which I have been accompanied and supported by many people. It is now my great pleasure to take this opportunity to thank them. First and foremost, I would like to thank my PhD advisor Professor Rainer Leupers for providing me with the opportunity to work in his group, and for his important advice and constant encouragement throughout the course of my research. He always left me a lot of freedom and contributed much to an enjoyable and productive working atmosphere. I am also thankful to Professor Gerd Ascheid and Professor Heinrich Meyr. Their comments often unveiled new interesting aspects and perspectives. I want to thank all of them for the lessons they gave me on the importance of details for the success of an engineering or scientific project. It has been a distinct privilege for me to work with them. Also I would like to thank Professor Sabine Glesner for her interest in my work and for her commitment as a secondary advisor. There are a number of people in my everyday circle of colleagues who have enriched my professional life in various ways. I am particularly indebted to my colleagues Oliver Wahlen, Jiangjiang Ceng, and Gunnar Braun, who worked together with me on the Compiler Designer project. Without their contributions, their support, and the inspiring working atmosphere, this work would have been impossible. I am also indebted to Felix Engel for many stimulating discussions and the excellent cooperation in the SIMD project. Life would be bleak without all the nice and funny moments I had with my co-students during all these years. I thank all of them.

2012-12-19

Engineering a Compiler, 2nd Edition

The practice of compiler construction changes continually, in part because the designs of processors and systems change. For example, when we began to write Engineering a Compiler (eac) in 1998, some of our colleagues questioned the wisdom of including a chapter on instruction scheduling because out-of-order execution threatened to make scheduling largely irrelevant. Today, as the second edition goes to press, the rise of multicore processors and the push for more cores has made in-order execution pipelines attractive again because their smaller footprints allow the designer to place more cores on a chip. Instruction scheduling will remain important for the near-term future. At the same time, the compiler construction community continues to develop new insights and algorithms, and to rediscover older techniques that were effective but largely forgotten. Recent research has created excitement surrounding the use of chordal graphs in register allocation (see Section 13.5.2). That work promises to simplify some aspects of graph-coloring allocators. Brzozowski’s algorithm is a dfa minimization technique that dates to the early 1960s but has not been taught in compiler courses for decades (see Section 2.6.2). It provides an easy path from an implementation of the subset construction to one that minimizes dfas. A modern course in compiler construction might include both of these ideas. How, then, are we to structure a curriculum in compiler construction so that it prepares students to enter this ever changing field? We believe that the course should provide each student with the set of base skills that they will need to build new compiler components and to modify existing ones. Students need to understand both sweeping concepts, such as the collaboration between the compiler, linker, loader, and operating system embodied in a linkage convention, and minute detail, such as how the compiler writer might reduce the aggregate code space used by the register-save code at each procedure call.

2012-12-18

Algebra and Trigonometry, 3ed

For many students an Algebra and Trigonometry course represents the first opportunity to discover the beauty and practical power of mathematics. Thus instructors are faced with the challenge of teaching the concepts and skills of the subject while at the same time imparting an appreciation for its effectiveness in modeling the real world. This book aims to help instructors meet this challenge. In writing this Third Edition, our purpose is to further enhance the usefulness of the book as an instructional tool for teachers and as a learning tool for students. There are several major changes in this edition including a restructuring of each exercise set to better align the exercises with the examples of each section. In this edition each exercise set begins with Concepts Exercises, which encourage students to work with basic concepts and to use mathematical vocabulary appropriately. Several chapters have been reorganized and rewritten (as described below) to further focus the exposition on the main concepts; we have added a new chapter on vectors in two and three dimensions. In all these changes and numerous others (small and large) we have retained the main features that have contributed to the success of this book

2012-12-14

Perspectives on Projective Geometry

Geometry is the mathematical discipline that deals with the interrelations of objects in the plane, in space, or even in higher dimensions. Practicing geometry comes in very different flavors. More than any other mathematical discipline, the field of geometry ranges from the very concrete and visual to the very abstract and fundamental. In the one extreme, geometry deals with very concrete objects such as points, lines, circles, and planes and studies the interrelations between them. On the other side, geometry is a benchmark for logical rigor, the elegance of axiom systems, and logical chains of proof. There is a third way of thinking about geometry that stands alongside the visual and the logic-based approaches: the algebraic treatment. Here algebraic structures such as vectors, matrices, and equations are used to form a kind of parallel world, in which each geometric object and relation has an algebraic manifestation. In this parallel world, too, the considerations may be very concrete and algorithmic or very abstract and functorial.

2012-12-13

Discrete and Computational Geometry

Although geometry is as old as mathematics itself, discrete geometry only fully emerged in the twentieth century, and computational geometry was only christened in the late 1970s. The terms “discrete” and “computational” fit well together, as the geometry must be discretized in preparation for computations. “Discrete” here means concentration on finite sets of points, lines, triangles, and other geometric objects, and is used to contrast with “continuous” geometry, for example, smooth surfaces. Although the two endeavors were growing naturally on their own, it has been the interaction between discrete and computational geometry that has generated the most excitement, with each advance in one field spurring an advance in the other. The interaction also draws upon two traditions: theoretical pursuits in pure mathematics and applicationsdriven directions often arising in computer science. The confluence has made the topic an ideal bridge between mathematics and computer science. It is precisely to bridge that gap that we have written this book.

2012-12-13

Foundations of Geometry, 2nd Edition.

This is a textbook for an undergraduate course in axiomatic geometry. The text is targeted at mathematics students who have completed the calculus sequence and perhaps a first course in linear algebra, but who have not yet encountered such upper-level mathematics courses as real analysis and abstract algebra. A course based on this book will enrich the education of all mathematics majors and will ease their transition into more advanced mathematics courses. The book also includes emphases that make it especially appropriate as the textbook for a geometry course taken by future high school mathematics teachers.

2012-12-13

Gems of Geometry

This book is based on lectures given several times at Reading University in England at their School of Continuing Education, from about 2002. One might wonder why I gave these lectures. I had been attending a few lectures on diverse subjects such as Music, Latin and Greek and my wife suggested that perhaps I should give some lectures myself. I was somewhat taken aback by this but then realised that I did have some useful material lying around that would make a starting point. When I was a boy (a long time ago) I much enjoyed reading books such as Mathematical Snapshots by Steinhaus and Mathematical Recreations and Essays by Rouse Ball. Moreover, I had made a few models such as the minimal set of squares that fit together to make a rectangle, some sets of Chinese Rings, and 31 coloured cubes and these items were still around. This starting point was much enhanced by some models that my daughter Janet had made when at school. A junior class had been instructed to make some models for an open day but had made a mess instead. Janet (then in the sixth form) was asked to save the day. Thus I also had available models of many regular figures including the Poinsot- Kepler figures and the compound of five tetrahedra and that of five cubes.

2012-12-13

Enumerative Combinatorics, Volume 1(2nd)

Enumerative combinatorics has undergone enormous development since the publication of the first edition of this book in 1986. It has become more clear what the essential topics are, and many interesting newancillary results have been discovered. This second edition is an attempt to bring the coverage of the first edition more up to date and to impart a wide variety of additional applications and examples. The main difference between this edition and the first is the addition of ten new sections (six in Chapter 1 and four in Chapter 3) and more than 350 newexercises. In response to complaints about the difficulty of assigning homework problems whose solutions are included, I have added some relatively easy exercises without solutions, marked by an asterisk. There are also a few organizational changes, the most notable being the transfer of the section on P-partitions from Chapter 4 to Chapter 3, and extending this section to the theory of (P,ω)-partitions for any labeling ω. In addition, the old Section 4.6 has been split into Sections 4.5 and 4.6. There will be no second edition of volume 2 nor a volume 3. Since the references in volume 2 to information in volume 1 are no longer valid for this second edition, I have included a table entitled “First Edition Numbering,” which gives the conversion between the two editions for all numbered results (theorems, examples, exercises, etc., but not equations).

2012-12-13

Handbook Of Discrete And Combinatorial Mathematics

The importance of discrete and combinatorial mathematics has increased dramatically within the last few years. The purpose of the Handbook of Discrete and Combinatorial Mathematics is to provide a comprehensive reference volume for computer scientists, engineers, mathematicians, and others, such as students, physical and social scientists, and reference librarians, who need information about discrete and combinatorial mathematics. This book is the first resource that presents such information in a ready-reference form designed for use by all those who use aspects of this subject in their work or studies. The scope of this book includes the many areas generally considered to be parts of discrete mathematics, focusing on the information considered essential to its application in computer science and engineering. Some of the fundamental topic areas covered include: logic and set theory graph theory enumeration trees integer sequences network sequences recurrence relations combinatorial designs generating functions computational geometry number theory coding theory and cryptography abstract algebra discrete optimization linear algebra automata theory discrete probability theory data structures and algorithms.

2012-12-13

Advanced Engineering Mathematics 7th Edition

This seventh edition of Advanced Engineering Mathematics differs from the sixth in four ways. First, based on reviews and user comments, new material has been added, including the following. • Orthogonal projections and least squares approximations of vectors and functions. This provides a unifying theme in recognizing partial sums of eigenfunction expansions as projections onto subspaces, as well as understanding lines of best fit to data points. • Orthogonalization and the production of orthogonal bases. • LU factorization of matrices. • Linear transformations and matrix representations. • Application of the Laplace transform to the solution of Bessel’s equation and to problems involving wave motion and diffusion. • Expanded treatment of properties and applications of Legendre polynomials and Bessel functions, including a solution of Kepler’s problem and a model of alternating current flow. • Heaviside’s formula for the computation of inverse Laplace transforms. • A complex integral formula for the inverse Laplace transform, including an application to heat diffusion in a slab. • Vector operations in orthogonal curvilinear coordinates. • Application of vector integral theorems to the development of Maxwell’s equations. • An application of the Laplace transform convolution to a replacement scheduling problem.

2012-12-13

3D Math Primer for Graphics and Game Development 2nd Edition

Fletcher would like to thank his wife, A’me, who endured the absolute eternity that it took to produce this book, and his general tendency to generate lots of interesting ideas for large-scale projects that are initiated and then dropped a quarter of the way through. (No more gigantic projects for at least two or three weeks, I promise!) Ian would like to thank his wife and children for not whining too loudly, and Fletcher for putting up with his procrastination. He would also like to thank Douglas Adams for the herring sandwich scoop, the bowl of petunias, and countless other references to the Hitchhiker’s Guide to the Galaxy trilogy that you will find in this book. Mike Pratcher gets a very huge thanks for his detailed and knowledgable critique, and for writing a very large portion of the exercises. Matt Carter made the robot and kitchen and agreed to numerous requests to pose the robot one way or another. Thanks to Glenn Gamble for the dead sheep. Eric Huang created the cover illustration and all other 2D artwork that required any artistic talent whatsoever. (The authors made the rest.) Pavel Krajcevski provided helpful criticism.

2012-12-13

Geometric Algebra Computing

This book presents new results on applications of geometric algebra. The time when researchers and engineers were starting to realize the potential of quaternions for applications in electrical, mechanic, and control engineering passed a long time ago.

2012-12-13

Beginning Math and Physics for Game Programmers

Whether you're a hobbyist or a budding game design pro, your objective is probably the same: To create the coolest games possible using today's increasingly sophisticated technology. To do that, however, you need to understand some basic math and physics concepts. Not to worry: You don't need to go to night school if you get this handy guide! Through clear, step-by-step instructions, author Wendy Stahler covers the trigonometry snippets, vector operations, and 1D/2D/3D motion you need to improve your level of game development. Each chapter includes exercises to make the learning stick, and Visualization Experience sections are sprinkled throughout that walk you through a demo of the chapter's content. By the end of the volume, you'll have a thorough understanding of all of the math and physics concepts, principles, and formulas you need to control and enhance your user's gaming experience.

2011-08-03

3D Math Primer

3D Math Primer for Graphics and Game Development covers fundamental 3D math concepts that are especially useful for computer game developers and programmers. The authors discuss the mathematical theory in detail and then provide the geometric interpretation necessary to make 3D math intuitive. Working C++ classes illustrate how to put the techniques into practice, and exercises at the end of each chapter help reinforce the concepts. This book explains basic concepts such as vectors, coordinate spaces, matrices, transformations, Euler angles, homogenous coordinates, geometric primitives, intersection tests, and triangle meshes; discusses orientation in 3D, including thorough coverage of quaternions and a comparison of the advantages and disadvantages of different representation techniques; describes working C++ classes for mathematical and geometric entities and several different matrix classes, each tailored to specific geometric tasks; includes complete derivations for all the primitive transformation matrices.

2011-06-16

Focus on 3D Terrain Programming

This book is one-of-a-kind. Most 3D programming books on the market today concentrate on only one (or two) of the four algorithms that are presented in this book. Terrain engines have applications in games, but also in various simulations and they play a very important part in military flight simulations. Terrain engine programming is not only hot and widely applicable, it's fun!. This book is an informative adventure through the world of 3D terrain, packed full of demos, figures and information.

2011-06-15

API Design for C++

The design of application programming interfaces can affect the behavior, capabilities, stability, and ease of use of end-user applications. With this book, you will learn how to design a good API for large-scale long-term projects. With extensive C++ code to illustrate each concept, API Design for C++ covers all of the strategies of world-class API development. Martin Reddy draws on over fifteen years of experience in the software industry to offer in-depth discussions of interface design, documentation, testing, and the advanced topics of scripting and plug-in extensibility. Throughout, he focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. * The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility. * Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online. * Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects.

2011-06-13

Graphics Gems I-III

一本全面的图形学基础的资料合集,压缩包里有前3卷。

2010-12-25

Inside the C++ Object Model

C++大师Lippman的经典著作,深入探讨C++对象模型。 想了解C++对象模型机制的

2010-12-16

How Not To Program In C++

How Not To Program In C++ 主要是一些,简单的小程序为例子,向你阐述C++编程中要注意的问题。

2010-12-16

Effective C++ and More Effective C++

教会你C++专家的技巧,及真知灼见。 Effective C++ 和 More Effective C++,整合在一个CHM文档里。

2010-12-16

Euclidean and Non-Euclidean Geometries

几何学的入门书籍,比较简单。 有兴趣的可以看看

2010-10-07

Compiler Design In C

一本简明的编译器设计实验教程 非常简单明了,虽然很古老。。。

2010-10-03

Formal Syntax And Semantics of Programming Languages

With this book, readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts. The book presents the typically difficult subject of "formal methods" in an informal, easy-to-follow manner. A "laboratory component" is integrated throughout the text.

2010-10-03

Algorithms For Compiler Design

其实不是很好。 但可以作为一本参考书,有些常用的编译器设计的算法还是可以找到的。。。

2010-10-03

Algorithms in a Nutshell

一本简明的算法手册,有很多实用的算法技巧。 帮助你快速掌握,使用的算法技术。

2010-10-03

Effective STL

全面详细的教会你,STL专业技巧,和需要注意的问题。

2010-09-22

C++ SQLITE 学生管理系统

我写过一个学生管理系统 控制台的,用到了SQLITE,当时纯粹是为了完成任务,写的很烂。可以参考一下,希望对你有帮助。

2010-09-12

3D Computer Graphics - A Mathematical Introduction With OpenGL

一本较为基础的图形学入门教材,用较为多的数学知识,加上OpenGL例子来讲授计算机图形学。 压缩包里有PDF电子书和完整源代码。

2010-09-05

OpenGL Distilled

一本快速的OpenGL 2.1入门书籍。。 压缩包里有CHM电子书和完整源代码。

2010-08-29

Introduction to 3D Game Programming with DirectX 9.0

一本全面的DirectX 9 3D编程入门书籍,不论是基础还是,API,讲解非常透彻到位。。。。

2010-08-25

Special Effects Game Programming With DirectX 源代码

内容简介   本书是一部关于DirectX游戏程序设计的理论用书,本书分为三个部分,第一部分介绍了Windows编程、3D图形学以及DirectX的基础知识;第二部分以示例方式介绍了在特效游戏中使用DirectX实现各种二维图形效果的方法,包括火焰、二维水面、图像反馈的扭曲、云彩、图像模糊化及消隐等;第三部分介绍了实现三维图形效果的方法,包括各种粒子、爆炸、投射、炫光、三维水体及顶点和像素的消隐等。   本书叙述深入浅出,代码举例丰富而精炼,读者可在其指导下迅速上手掌握DirectX特效游戏程序设计的基本方法。本书适合各种水平的编程人员学习和参考。 编辑推荐 本书是一部关于DirectX游戏程序设计的理论用书,全书分为三个部分,第一部分介绍了Windows编程、3D图形学以及DirectX的基础知识;第二部分以示例方式介绍了在特效游戏中使用DirectX实现各种二维图形效果的方法,包括火焰、二维水面、图像反馈的扭曲、云彩、图像模糊化及消隐等;第三部分介绍了实现三维图形效果的方法,包括各种粒子、爆炸、投射、炫光、三维水体及顶点和像素的消隐等。

2010-08-10

Tricks of the Windows Game Programming Gurus Second Edition

内容简介 《WINDOWS游戏编程大师技巧》(第2版)介绍了在Windows环境下进行游戏编程所需用到的各方面知识,作者是著名的游戏开发大师Andrè LaMothe,他的每一本作品基本上都被视为游戏编程书籍的镇山之作。本书第一版的中文版自面市以来获得了广泛好评,持续热销,多次重印。此次修订在多方面更新了第一版中的内容,并且清除了拼写和技术错误,使用DirectX的最新版本来配合编译本书所带的程序代码,加入了大量新内容,例如关于16 位RGB 高彩模式的更多细节及众多新增的解释,还有一个新章节专门讨论文本解析(text parsing)。总之,这是《Windows游戏编程大师技巧》的一个更加清楚、更加完全的版本。 编辑推荐 《WINDOWS游戏编程大师技巧》(第2版)将带领你到达游戏编程技术的另一个层次。光是人工智能那部分就很让人着迷了——那些演示非常精彩。你还能从哪里获得如此详尽的介绍,教你把模糊逻辑学、神经网络和遗传法则运用到视频游戏上去呢?另外本书深入浅出地介绍了物理建模,教你如何将完全碰撞反应、动量传递和正向运动学等内容应用到游戏开发中,并进行实时模拟。

2010-08-10

The Linux Programmers Toolbox

一本全民的关于程序员的工具箱,让你更加的高效的工作。。。

2010-08-04

UNIX Power Tools 3rd Edition

UNIX Power Tools 3rd Edition。 一本非常全面的Unix书籍,全面描述Unix的各种技巧,如果你只能买一本Unix书的话,买这一本就足够了。1130页!!!

2010-08-04

Windows游戏编程大师技巧(第二版) 源码

Windows游戏编程大师技巧(第二版) 完整源代码。。。。。 可以用来参考。。。

2010-08-04

Isometric Game Programming with DirectX 7

一本全面的关于斜视角的游戏编程的技术的书。 全面描述了,块状地图,斜视角的技巧。。。。。

2010-08-04

C in A Nutshell

一本简明的C语言参考手册,每个知识点都有例子,简单明了。。。。。

2010-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除