向量运用
来源:互联网 发布:数据库银行管理er图 编辑:程序博客网 时间:2024/05/28 17:08
可能有错。
1.判断点在线段上
×乘。先判断特殊情况 水平和垂直,再判断它是否共线。
local p = cc.p( 40, 71) local lineA = cc.p(20,50) local lineB = cc.p(40, 70) local pa = cc.pSub(p,lineA) local ab = cc.pSub(lineB,lineA) local dir1 = false if (p.x >= lineA.x and p.x <=lineB.x) and (p.y >= lineA.y and p.y <= lineB.y) then dir1 = true end print("dir1",dir1) if cc.pCross(pa,ab) == 0 and dir1 then print("在。") end
2.不规则物体反弹
local rect1 = line:getBoundingBox() local rect2 = cicleSprite:getBoundingBox() local cy = math.tan(deg) * 532.87 + 532.87 print("当前坐标为",cy) rect1.y = cy +cicleSprite:getContentSize().height / 2 local isco = cc.rectIntersectsRect(rect1,rect2) if isco then if self.cc == nil then self.cc = cc.Sprite:create("res/Player.png") self:addChild(self.cc) print("坐标Y为",rect2.x) self.cc:setPosition(rect2.x,cy) end local zs = cc.pSub(cc.p(0,480),cc.p(display.cx+500,480)) local cx = cc.p(zs.y,-zs.x) guiyihua_ = cc.pNormalize(cc.p(cx.x ,cx.y))--单位向量n -- 求投影向量N。N = (-s.n)n m_x = - (vec_s.x * guiyihua_.x + vec_s.y * guiyihua_.y) * guiyihua_.x m_y = - (vec_s.x * guiyihua_.x + vec_s.y * guiyihua_.y) * guiyihua_.y -- 画图可知 由公式 向量: s + m = t ,m + t = f--->>f = 2t - s m2 = cc.pAdd(cc.p(vec_s.x,vec_s.y),cc.p(m_x,m_y)) fx = - vec_s.x + 2 * m2.x fy = - vec_s.y + 2 * m2.y print("fx",fx) vec_s.x = fx vec_s.y = fy cicleSprite:setPosition(cicleSprite:getPositionX() + vec_s.x * dt * 2 ,cicleSprite:getPositionY() + vec_s.y * dt * 2)
0 0
- 向量运用
- 向量运用-判断方向
- 向量运用-摇杆。乱。
- 正交向量在CDMA中的运用
- 运用向量求10000!的阶乘
- 运用numpy进行数组、向量、矩阵运算
- 运用向量求两个很长正数的和
- SGU 110 三维计算几何 向量的灵活运用
- U3D中运用向量点乘判断方位
- 向量
- 向量
- 向量
- 向量
- 向量
- 向量
- 向量
- 向量
- 向量
- MonkeyRunner自动化
- Hdu4632 Palindrome subsequence
- 数据挖掘入门
- [00302]执行精确的浮点数运算
- 用webBrowser打开网页出现脚本错误怎么办
- 向量运用
- 将Tomcat注册为Windows本地服务
- Golang编码规范
- 把资源编译进EXE之(二)打造定制的资源编译器
- Android画布和图形绘制---Canvas and Drawables
- ArcEngine Hittest学习总结
- JSP 详解
- oracle查询结果指定排序规则
- Linux 下安装 jdk-7u79-linux-x64.tar.gz