sin

【30分钟学完】canvas动画|游戏基础(7):动量守恒与多物体碰撞

谁说胖子不能爱 提交于 2019-12-06 00:17:11
前言 一路沿着本系列教程学习的朋友可能会发现,前面教程中都尽量避免提及质量的概念,很多运动概念也时刻提醒大家这不是真实的物体运动。因为真实的物体运动其实跟质量都是密不可分的,而且质量的引入自然必须提及力学概念,所以为了不内容冗余才忽略了质量。 从本篇开始,将会正式引入物理力学概念,给每个物体赋予质量概念,为了更加真实的模拟现实环境的物体运动。 阅读本篇前请先打好前面的基础。 本人能力有限,欢迎牛人共同讨论,批评指正。 动量与动量守恒 【科普】一般而言,一个物体的动量指的是这个物体在它运动方向上保持运动的趋势。动量实际上是牛顿第一定律的一个推论。 动量即是“物体运动的量”,是物体的质量和速度的乘积,是矢量,能够反应出运动的效果,一般用p表示。举个例子,低速运动的重物,跟高速运动的子弹,拥有相同的威力。 p = m * v 【科普】动量是守恒量。动量守恒定律表示为:一个系统不受外力或者所受外力之和为零,这个系统中所有物体的总动量保持不变。它的一个推论为:在没有外力干预的情况下,任何系统的质心都将保持匀速直线运动或静止状态不变。动量守恒定律可由机械能对空间平移对称性推出。 动量守恒即系统在碰撞前的总动量等于系统在碰撞后的总动量。其中的系统简单理解就是物体的集合。在可以忽略碰撞以外的因素时,动量是守恒的。 (m0 * v0) + (m1 * v1) = (m0 * v0Final) +

ioctl操作

拥有回忆 提交于 2019-12-05 17:52:00
  在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数。ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口。网络程序(特别是服务器程序)经常在程序启动执行后使用ioctl获取所在主机全部网络接口的信心,包括:接口地址、是否支持广播、是否支持多播。 #include <unistd.h> int ioctl(int fd,int request,...../* void *arg /); //返回:若成功则为0.失败则我-1 套接字操作 文件操作 接口操作 ARP高速缓存操作 路由表操作 流系统   不但某些ioclt操作和某些fcntl操作功能重叠(譬如把套接字设置为非阻塞),而且某些操作可以使用ioctl以不止一种方式制定(譬如设置套接字的进程组属主)。下表列出了网络相关ioctl请求的request参数以及arg地址必须指向的数据类型。 套接字操作   明确要求套接字ioctl请求有三个,它们都要求ioctl的第三个参数是指向某个整数的一个指针。 SIOCATMARK:如果本套接字的读指针当前位于带外标记,那就通过由第三个参数指向的帧数放回一个非0值,否则返回一个0值。 SIOCGPGRP:通过由第三个参数指向的整数返回本套接字的进程ID或进程组ID,该ID指定针对本套接字的SIGIO或SIGURG信号的接受进程。 SIOCSPGR

「数学」导数微积分初步

▼魔方 西西 提交于 2019-12-05 10:42:15
这几天比较系统的学了一下微积分和导数(其实是高考课课余没事干和不想在机房颓废。。 一、导数 其实就是个变化率的问题。 我们设一个函数$f(x)$的导数为$D[f(x)]$ 那么: $$D[f(x)]=\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}$$ 导数是这样用的。 $$f(x+\Delta x)=f(x)+D[f(x)]\Delta x$$ 然后写一些常用的求导公式。 1.$$f(x)=ax+b$$ $$\begin{array}{rcl}D[f(x)]&=&\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}\\&=&\lim_{\Delta x\rightarrow 0}\frac{ax+b+a\Delta x - (ax+b)}{\Delta x}\\&=&\lim_{\Delta x\rightarrow 0}\frac{a\Delta x}{\Delta x}=a\end{array}$$ 2.$$f(x)=x^n$$ $$\begin{array}{rcl}D[f(x)]&=&\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}\\&=&

sockaddr和sockaddr_in的区别

我怕爱的太早我们不能终老 提交于 2019-12-05 05:26:38
struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。 在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。 网络中的地址包含3个方面的属性: 1 地址类型: ipv4还是ipv6 2 ip地址 3 端口 相应的,头文件有如下定义: include <netinet/in.h> struct sockaddr { unsigned short sa_family; // 2 bytes address family, AF_xxx char sa_data[14]; // 14 bytes of protocol address }; // IPv4 AF_INET sockets: struct sockaddr_in { short sin_family; // 2 bytes e.g. AF_INET, AF_INET6 unsigned short sin_port; // 2 bytes e.g. htons(3490) struct in_addr sin_addr; // 4 bytes see struct in_addr, below char sin_zero[8]; // 8 bytes zero this if you want to }; struct in_addr { unsigned

【学习笔记】欧拉公式的证明

时光总嘲笑我的痴心妄想 提交于 2019-12-05 05:19:20
欧拉公式: \[ e^{i\theta}=\cos \theta + i \sin \theta \] 证明一 令 \[ f(\theta)=\frac{e^{i\theta}}{\cos \theta + i \sin \theta} \] 对 \(f(\theta)\) 求导,可以得到: \[ \begin{aligned} f^{\prime}(\theta) &= \frac{\left(e^{i\theta}\right)^{\prime}(\cos \theta + i \sin \theta)-e^{i\theta}\left(\cos \theta + i \sin \theta\right)^\prime}{\left(\cos \theta + i \sin \theta\right)^2}\\ &= \frac{i\cdot e^{i\theta}(\cos \theta + i \sin \theta)-e^{i\theta}\left(-\sin \theta + i \cos \theta\right)}{\left(\cos \theta + i \sin \theta\right)^2}\\ &= \frac{i\cdot e^{i\theta}(\cos \theta + i \sin \theta)-i\cdot e^{i\theta}\left

ASP.NET Core WebApi中使用FluentValidation验证数据模型

核能气质少年 提交于 2019-12-05 04:11:23
原文: ASP.NET Core WebApi中使用FluentValidation验证数据模型 原文链接: Common features in ASP.NET Core 2.1 WebApi: Validation 作者:Anthony Giretti 译者:Lamond Lu 介绍 # 验证用户输入是一个Web应用中的基本功能。对于生产系统,开发人员通常需要花费大量时间,编写大量的代码来完成这一功能。如果我们使用FluentValidation构建ASP.NET Core Web API,输入验证的任务将比以前容易的多。 FluentValidation是一个非常流行的构建强类型验证规则的.NET库。 配置项目 # 第一步:下载FluentValidation # 我们可以使用Nuget下载最新的 FluentValidation 库 CopyPM> Install-Package FluentValidation.AspNetCore 第二步:添加FluentValidation服务 # 我们需要在 Startup.cs 文件中添加FluentValidation服务 Copypublic void ConfigureServices(IServiceCollection services) { // mvc + validating services.AddMvc()

【学习笔记】欧拉公式的证明

时光总嘲笑我的痴心妄想 提交于 2019-12-05 00:53:32
欧拉公式: \[ e^{i\theta}=\cos \theta + i \sin \theta \] 证明一 令 \[ f(\theta)=\frac{e^{i\theta}}{\cos \theta + i \sin \theta} \] 对 \(f(\theta)\) 求导,可以得到: \[ \begin{aligned} f^{\prime}(\theta) &= \frac{\left(e^{i\theta}\right)^{\prime}(\cos \theta + i \sin \theta)-e^{i\theta}\left(\cos \theta + i \sin \theta\right)^\prime}{\left(\cos \theta + i \sin \theta\right)^2}\\ &= \frac{i\cdot e^{i\theta}(\cos \theta + i \sin \theta)-e^{i\theta}\left(-\sin \theta + i \cos \theta\right)}{\left(\cos \theta + i \sin \theta\right)^2}\\ &= \frac{i\cdot e^{i\theta}(\cos \theta + i \sin \theta)-i\cdot e^{i\theta}\left

仿射变换及其变换矩阵的理解

回眸只為那壹抹淺笑 提交于 2019-12-04 18:30:02
原文地址: https://www.cnblogs.com/shine-lee/p/10950963.html 写在前面 2D图像常见的坐标变换如下图所示: 这篇文章不包含 透视变换 (projective/perspective transformation),而将重点放在 仿射变换 (affine transformation),将介绍仿射变换所包含的各种变换,以及变换矩阵该如何理解记忆。 仿射变换:平移、旋转、放缩、剪切、反射 仿射变换包括如下所有变换,以及这些变换任意次序次数的组合 : 平移 (translation)和 旋转 (rotation)顾名思义,两者的组合称之为 欧式变换 (Euclidean transformation)或 刚体变换 (rigid transformation); 放缩 (scaling)可进一步分为 uniform scaling 和 non-uniform scaling ,前者每个坐标轴放缩系数相同(各向同性),后者不同;如果放缩系数为负,则会叠加上 反射 (reflection)——reflection可以看成是特殊的scaling; 刚体变换+uniform scaling 称之为, 相似变换 (similarity transformation),即平移+旋转+各向同性的放缩; 剪切变换 (shear mapping

每日一题_191117

社会主义新天地 提交于 2019-12-04 15:29:53
半径为 \(1\) 的圆上有三个动点 \(A,B,C\) ,则 \(\overrightarrow{AB}\cdot \overrightarrow{AC}\) 的最小值为 \((\qquad)\) \(\mathrm{A}.-1\) \(\qquad\mathrm{B}.-\dfrac{3}{4}\) \(\qquad\mathrm{C}.-\dfrac{1}{2}\) \(\qquad\mathrm{D}.-\dfrac{1}{4}\) 解析: 不妨设 \[ A(0,1),B(\cos\alpha,\sin\alpha),C(\cos\beta,\sin\beta),\alpha,\beta\in\left[0,2\pi\right).\] 于是 \[ \begin{split} \overrightarrow{AB}\cdot\overrightarrow{AC}&=\left( \cos\alpha,\sin\alpha-1\right)\cdot \left(\cos\beta,\sin\beta-1\right)\\ &=\cos\alpha\cos\beta+\sin\alpha\sin\beta-\left(\sin\alpha+\sin\beta\right)+1\\ &=\cos\left(\alpha-\beta\right)-2\sin\dfrac{

每日一题_191119

旧城冷巷雨未停 提交于 2019-12-04 15:28:53
设 \(P(x,y)\) 为椭圆 \(\dfrac{x^2}{16}+\dfrac{y^2}{12}=1\) 在第一象限上的点,则 \(\dfrac{x}{4-x}+\dfrac{3y}{6-y}\) 的最小值为 \(\underline{\qquad\qquad}\) . 解析: 由题设 \[P(4\cos\theta,2\sqrt{3}\sin\theta),\theta\in\left(0,\dfrac{\pi}{2}\right),\] 则 \[ \begin{split} &\dfrac{4}{4-x}+\dfrac{18}{6-y}-4\\ =&\dfrac{1}{1-\cos\theta}+\dfrac{3\sqrt{3}}{\sqrt{3}-\sin\theta}-4\\ =&\dfrac{1}{1-\cos \theta}+\dfrac{1}{1-\dfrac{\sin\theta}{\sqrt{3}}}+\dfrac{1}{1-\dfrac{\sin\theta}{\sqrt{3}}}+\dfrac{1}{1-\dfrac{\sin\theta}{\sqrt{3}}}-4\\ \geqslant& \dfrac{\left(1+1+1+1\right)^2}{\left(1-\cos\theta\right)+\left(1-\dfrac{\sin\theta}