GJK计算碰撞代码的应用//-----------------------------------------------------------------------------//Torque3D//Copyright(C)GarageGames.com,Inc.////Thecorealgorithmsinthisfilearebasedoncodewritten//byG.vandenBergenforhisinterferencedetectionlibrary,//"SOLID2.0"//-----------------------------------------------------------------------------#include"core/dataChunker.h"#include"collision/collision.h"#include"sceneGraph/sceneObject.h"#include"collision/convex.h"#include"collision/gjk.h"//----------------------------------------------------------------------------staticF32rel_error=1E-5f;//relativeerrorinthecomputeddistancestaticF32sTolerance=1E-3f;//DistancetolerancestaticF32sEpsilon2=1E-20f;//ZerolengthvectorstaticU32sIteration=15;//Stuckinaloop?S32num_iterations=0;S32num_irregularities=0;//----------------------------------------------------------------------------GjkCollisionState::GjkCollisionState(){a=b=0;}GjkCollisionState::~GjkCollisionState(){}//----------------------------------------------------------------------------voidGjkCollisionState::swap(){Convex*t=a;a=b;b=t;CollisionStateList*l=mLista;mLista=mListb;mListb=l;v.neg();}//----------------------------------------------------------------------------voidGjkCollisionState::compute_det(){//Dotnewpointwithcurrentsetfor(inti=0,bit=1;i0)returnfalse;}}returntrue;}//----------------------------------------------------------------------------inlineboolGjkCollisionState::closest(VectorF&v){compute_det();for(ints=bits;s;--s){if((s&bits)==s){if(valid(s|last_bit)){ bits=s|last_bit;if(bits!=15) compute_vector(bits,v); returntrue;}}}if(valid(last_bit)){bits=last_bit;v=y[last];returntrue;}returnfalse;}//----------------------------------------------------------------------------inlineboolGjkCollisionState::degenerate(constVectorF&w){for(inti=0,bit=1;imState=this;mListb=CollisionStateList::alloc();mListb->mState=this;}//----------------------------------------------------------------------------voidGjkCollisionState::reset(constMatrixF&a2w,constMatrixF&b2w){VectorFzero(0,0,0),sa,sb;a2w.mulP(a->support(zero),&sa);b2w.mulP(b->support(zero),&sb);v=sa-sb;dist=v.len();}//----------------------------------------------------------------------------voidGjkCollisionState::getCollisionInfo(constMatrixF&mat,Collision*info){AssertFatal(false,"GjkCollisionState::getCollisionInfo()-Thereremainscalingproblemshere.");//ThisassumesthattheshapesdonotintersectPoint3Fpa,pb;if(bits){getClosestPoints(pa,pb);mat.mulP(pa,&info->point);b->getTransform().mulP(pb,&pa);info->normal=info->point-pa;}else{mat.mulP(p[last],&info->point);info->normal=v;}info->normal.normalize();info->object=b->getObject();}voidGjkCollisionState::getClosestPoints(Point3F&p1,Point3F&p2){F32sum=0;p1.set(0,0,0);p2.set(0,0,0);for(inti=0,bit=1;isupport(va);a2w.mulP(p[last],&sa);VectorFvb,sb;w2b.mulV(v,&vb);q[last]=b->support(vb);b2w.mulP(q[last],&sb);VectorFw=sa-sb;if(mDot(v,w)>0)returnfalse;if(degenerate(w)){++num_irregularities;returnfalse;}y[last]=w;all_bits=bits|last_bit;++num_iterations;if(!closest(v)||num_iterations>sIteration){++num_irregularities;returnfalse;}}while(bitssEpsilon2);returntrue;}F32GjkCollisionState::distance(constMatrixF&a2w,constMatrixF&b2w,constF32dontCareDist,constMatrixF*_w2a,constMatrixF*_w2b){num_iterations=0;MatrixFw2a,w2b;if(_w2a==NULL||_w2b==NULL){w2a=a2w;w2b=b2w;w2a.inverse();w2b.inverse();}else{w2a=*_w2a;w2b=*_w2b;}reset(a2w,b2w);bits=0;all_bits=0;F32mu=0;do{nextBit();VectorFva,sa;w2a.mulV(-v,&va);p[last]=a->support(va);a2w.mulP(p[last],&sa);VectorFvb,sb;w2b.mulV(v,&vb);q[last]=b->support(vb);b2w.mulP(q[last],&sb);VectorFw=sa-sb;F32nm=mDot(v,w)/dist;if(nm>mu)mu=nm;if(mu>dontCareDist)returnmu;if(mFabs(dist-mu)sIteration){++num_irregularities;returndist;}y[last]=w;all_bits=bits|last_bit;if(!closest(v)){++num_irregularities;returndist;}dist=v.len();}while(bitssTolerance);if(bits==15&&mu<=0)dist=0;returndist;}
2024/11/12 17:21:22 50KB GJK 碰撞
1
SAP财务FICO的PA教材,成本业务方面,英文版本,PA考试使用。
2024/9/4 19:03:37 16.03MB SAP
1
1.利用proteus软件仿真单片机扩展8255芯片,实现PA口输出控制小灯循环左移点亮。
2.利用8255芯片的PB口接开关做输入,PA口接小灯做输出,用小灯亮灭显示开关状态。
2024/8/31 17:56:40 55KB 单片机 proteus 8255芯片
1
PA口接8个拨动开关K1-K8,PB口接8个LED。
初始由开关K1-K8设定8位不同的值,当执行程序后LED按K1-K8初始设定的值点亮,并向右流动(8255A工作在0方式)。
选择完成在数码管上显示“8255-A”。
2024/8/3 0:18:30 728KB 接口实验报告 8255A
1
今天小编给大家带来一款免费的图像处理工具,它就是PaintNET中文版。
Paint.NET是Windows平台上的一个图像和照片处理软件,它由华盛顿州立大学的学生开发和维护并由微软公司提供项目指导,早期定位于MSPaint的免费替代软件,现在逐渐发展为一个功能强大且易用的的图像和照片处理软件,支持图层,无限制的历史记录,特效,和许多实用工具,并且开放源代码和完全免费,界面看起来有点像Photoshop。
用来开发Paint.NET的语言是C#,而安装程序和界面整合相关功能所用的开发语言是C++。
Paint.NETPaint.NET中文版是一个免费的图像和照片处理软件,它由由美国华盛顿州大学开发,是微软官方支持的一个高级研究生设计项目成果。
Paint.NET开发初衷便是为用户提供一个免费的强大的微软绘图板替代软件,现在逐渐发展为一个功能强大且易用的的图像和照片处理软件,已经获得不少专业用户的青睐,成为主流图像编辑选择之一。
它功能强大,支持图层、CloneStmap、EdgeDetection、MotionBlur及History等无限制的历史记录、特效以及许多实用工具,并且开放源代码和完全免费,界面看起来有点像Photoshop。
该软件的开发语言是C#[1],在.NETFramework环境(事先需要安装)下运行。
支持简体中文等多语系界面。
最初作为一项计算机高级图形设计项目,Paint.NET在2004年春由华盛顿大学被提出。
在概念提出及维护者RickBrewster的不断努力下,其功能不断加强,并在2004年下学期得到进一步发展。
目前,RickBrewster在微软工作,当然,其最初成员也有来自微软及受微软赞助的背景,这使得Paint.NET开始受到人们的日益瞩目。
下面让我们在最新公布上的Paint.NETv2.5Beta4版中,一起来品味Paint.NET的疯狂与梦想。
Paint.NET工具面板与PS的感觉比较一致,其基本功能如选取、移动、魔棒、文字、色彩吸管、克隆、画笔、橡皮、颜色替换、刷子、直线、矩形、椭圆等共20项。
就数量和各工具的调整参数而言,与PS差距不小,不过满足日常的基本应用应该没有问题。
在Paint.NET中,各项工具的使用方法与PS基本保持一致,比如克隆工具,均采用Ctrl+鼠标左键定义“源”,并使用鼠标左键进行克隆。
Paint.NET的范围选取工具包括矩形、椭圆、套索、魔棒。
当选定范围时被选定区域显示为浅蓝色,同时区域边沿会有运动的点画线标识,动态效果十足。
文字功能在Paint.NET中显得比较弱,字体格式调整的参数几乎空白。
不过Paint.NET对中文字体支持比较好,笔者安装的数十种字体均可以正常显示并应用。
字体工具中与PS中使用习惯不同的是其移动方式,在Paint.NET中添加的文字右下角会出现一个十字光标的按钮,点击该按钮可以轻松移动文字对角,使用起来极为方便。
“层”概念的引入使Paint.NET有了质的提升,新层可设置名称、显示与否、混合模式(7种)、透明度(0-255)等参数。
历史面板的功能在Paint.NET也较为突出,只要你的硬盘空间足够,Paint.NET支持无限次“后退”操作。
作为重要的创作的工具,笔刷的样式在Paint.NET中提供了50种,可以满足更多人的需要。
不过,说实话,在使用中Paint.NET的笔刷效果依然给人一种意尤未尽的缺憾。
几何绘图工具在Paint.NET中包括直线、矩形、圆角矩形、椭圆和自定义形状(很可惜多边形工具没有)。
根据工具样上的三种模式选取,可以创造出更多的变化。
简单直观的用户界面Paint.NET使用WindowsAero界面,具有立体感、透视感,使用户拥有了家的感觉。
另外由于其简单直观的界面,使用户很容易找到自己需要的工具。
两侧共有四个窗口——工具、历史记录、颜色和图层。
用户可以在窗口顶部的下拉菜单中自行选择删除或添加。
键盘快捷键熟悉PS软件的人都知道,它支持许多键盘快捷键,而Paint.NET也支持。
当鼠标悬停在一个工具上时,就会显示出该工具的名称以及所代表的快捷键。
PaintNET性能Paint.NET运行很快速,不管你是哪种类型的电脑,Paint.NET运行速度都很快。
不过这也不能说明它就不会出现崩溃现象,目前只希望它能继续保持下去。
在线社区Paint.NET最大的特色就是有一个活跃的在线社区,用户之间可以进行交流和讨论问题。
在Paint.NET论坛上有两个主要特点就是教程和插件。
在线社区是一个不错的主意,相信这会帮助用户及时的解决问题。
PaintNET特殊效果Pa
1
利用8255的PA口来控制LED灯,并循环显示出(0-9)的数字,数字间要有一定的延时。
2024/5/24 8:25:49 2KB 8255 LED灯显示
1
本资料为SX278的PCB文件,可直接打板使用,我自己已经做个测试,没有任何问题,现在分享给大家
2024/4/13 18:38:41 9.7MB SX1278 PA PCB
1
前言第1章概述1.1宽带无线移动通信系统的发展1.2功率放大器线性化技术简介1.2.1国内外研究现状1.2.2本书的创新性工作1.3本书结构安排第2章功率放大器数学模型2.1功率放大器非线性效应分析2.2非线性效应基带等效分析2.3无记忆功率放大器典型模型2.3.1Saleh模型2.3.2Rapp模型2.3.3多项式模型2.4宽带功率放大器记忆效应分析2.5有记忆功率放大器模型2.5.1Volterra模型2.5.2多项式模型2.5.3Wiener模型2.5.4Hammerstein模型2.5.5并行Hammerstein模型2.5.6神经网络模型2.6本章小结第3章功率放大器非线性对传输信号的影响3.1非线性的时域及频域分析3.1.1谐波失真3.1.2互调失真3.1.3交调失真3.1.4AM/AM和AM/PM畸变3.2功率放大器非线性对多载波信号功率谱的影响3.2.1无记忆模型功率谱的解析表达3.2.2有记忆模型功率谱的解析表达3.2.3仿真及分析3.3功率放大器非线性对多载波信号符号率的影响3.3.1误符号率的解析表达3.3.2仿真及分析3.4功率放大器非线性评价指标3.4.1分贝压缩点功率3.4.2三阶互调系数3.4.3三阶截断点3.4.4交调系数3.4.5输入及输出回退3.4.6系统性能总损耗3.5本章小结第4章宽带功率放大器预失真技术简介4.1数字预失真技术综述4.2预失真技术基本原理4.3非自适应性预失真技术4.3.1方案概述4.3.2特性曲线的测量4.4射频自适应预失真技术4.5中频自适应预失真技术4.6基带自适应数字预失真技术4.7本章小结第5章宽带功率放大器预失真估计结构5.1直接学习结构5.2间接学习结构5.2.1基于IDLA的新算法5.2.2仿真及分析5.3本章小结第6章基于查询表的数字预失真6.1查询表预失真方法综述6.1.1查询表形式6.1.2查询表的指针方式6.1.3查询表地址索引方式6.1.4查询表自适应算法6.1.5查询表预失真方法的不足6.2无记忆查询表预失真方法6.2.1常规查询表预失真算法6.2.2改进的查询表预失真方法6.3有记忆查询表预失真方法6.3.1一维查询表预失真方法6.3.2二维查询表预失真方法6.4本章小结第7章基于多项式的数字预失真7.1多项式预失真方法综述7.1.1多项式模型7.1.2多项式自适应算法7.1.3多项式预失真方法的不足7.2多项式形式的选择7.2.1预失真多项式形式7.2.2正交多项式模型7.3无记忆多项式预失真方法7.3.1分段无记忆多项式预失真方法7.3.2直接学习结构递推系数估计方法7.3.3间接学习结构系数估计方法7.3.4正交多项式预失真方法7.3.5动态系数多项式预失真方法7.4有记忆多项式预失真方法7.4.1分段有记忆多项式预失真方法7.4.2归一化最小均方系数估计方法7.4.3广义归一化梯度下降系数估计方法7.4.4广义记忆多项式预失真方法7.4.5分数阶记忆多项式预失真方法7.4.6Hammerstein预失真方法7.5本章小结第8章宽带功率放大器预失真方案设计8.1数字预失真系统设计8.2反馈环路延迟估计8.2.1常规环路延迟估计方法8.2.2提出的环路延迟估计方法8.2.3仿真分析8.3PAPR降低技术与预失真8.3.1问题引出8.3.2PAPR降低技术8.3.3限幅对OFDM信号预失真性能的影响8.3.4PAPR降低技术与PA线性化的内在联系8.4宽带功率放大器的有效阶估计8.5关于硬件实现8.5.1非自适应预失真硬件实现8.5.2自适应数字预失真硬件实现8.6宽带功率放大器预失真新理论与技术8.6.1功率放大器预失真新理论8.6.2功率放大器预失真新技术8.7本章小结参考文献附录A符号表附录B缩略语
2023/12/19 1:19:29 18.5MB 预失真
1
1单元1:SAPS/4HANA概览2课程:介绍SAPHANA和SAPS/4HANA9课程:介绍SAPFiori14单元2:S/4HANA中的财务会计(FI)概览15课程:概述SAPS/4HANA中的财务会计(FI)组件23单元3:总账(G/L)会计24课程:概述会计核算中的组织要素30课程:维护总账主记录37课程:过账总账中的交易49单元4:应付账款50课程:维护供应商主记录53课程:维护应付账款事务63课程:管理应付账款与物料管理之间的集成68课程:执行应付账款关账操作77单元5:应收账款78课程:维护客户主记录81课程:管理应收账款事务85课程:管理客户信函92课程:创建应收账款争议事件96课程:管理应付账款与销售订单管理之间的集成102课程:使用CO-PA分析获利能力105课程:执行应收账款关账操作115单元6:资产会计116课程:维护资产主记录120课程:执行资产交易127课程:执行资产会计期末关账活动135单元7:银行会计136课程:维护银行会计主记录140课程:管理银行会计事务150单元8:总账会计中的关账操作151课程:执行总账(G/L)关账操作
2023/11/28 2:36:40 16.1MB S4F10_ZH_Col11
1
jre6aa_16004_pa.depot使用方法:JDK,JRE,andPlug-in6.0.04InstallationInstructionsPleaseseetheJDK,JRE,andPlug-in6.0.04ReleaseNotes'installationinstructionsfordetailedinstallationinstructions.Note:Whendownloadinga.depot,.tar,or.shfile,somebrowsersdon'trecognizethe.depot,.tar,or.shformatandtreatthefileasatextorapplication-specificfile.Ifthishappens,right-clicktheDownloadDirectly>>button(ontheSoftwaredownloadconfirmationwindow)andselectSaveTargetAs....ToverifythatthefiledownloadedcorrectlyyouneedtouseMD5SecureChecksum(md5sum).YoucandownloadMD5SecureChecksumatHP-UXMD5SecureChecksumifyoudonotalreadyhavethisutility.ToverifyyourdownloadwithMD5SecureChecksum,attheUNIXprompt,executethecommand:md5sumIfthefiledownloadedcorrectly,thechecksumnumberforthefileyoudownloadedshouldmatchtheMD5Checksumnumbergivenforthatfile.
2023/11/23 17:38:56 12.39MB HP-UX JDK6 资源 下载
1
共 27 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡