Android 预置默认的语音信箱号码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android 预置默认的语音信箱号码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1560字,纯文字阅读大概需要3分钟。
内容图文
大意:中文题,很好理解,搞清楚各种变量就行。
思路:我知道的好像有两种解法,一种是求土匪的头心与子弹射出的直线求点到直线距离,在判断一下方向对不对;另一种是求出子弹射出点与土匪头心连线,求出子弹的射出的直线,求两直线的夹角, 求出子弹射出点与土匪头心连线,求出求出子弹射出点与土匪头的切线,求两直线的夹角,比较这两个夹角的大小判断是不是会打到。
这里我用第一种方法过的,就贴第一种的吧。
struct point { double x, y, z; } A, B, C; ///计算cross product U x V point xmult(point u,point v){ point ret; ret.x=u.y*v.z-v.y*u.z; ret.y=u.z*v.x-u.x*v.z; ret.z=u.x*v.y-u.y*v.x; return ret; } ///两点距离,单参数取向量大小 double Distance(point p1,point p2){ return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)+(p1.z-p2.z)*(p1.z-p2.z)); } ///矢量差 U - V point subt(point u,point v){ point ret; ret.x=u.x-v.x; ret.y=u.y-v.y; ret.z=u.z-v.z; return ret; } ///向量大小 double vlen(point p){ return sqrt(p.x*p.x+p.y*p.y+p.z*p.z); } double ptoline(point p,point l1,point l2){ return vlen(xmult(subt(p,l1),subt(l2,l1)))/Distance(l1,l2); } int n; double h1,r1; double h2,r2,x3,y3,z3; void Solve() { scanf("%d", &n); while(n--) { scanf("%lf%lf%lf%lf%lf", &h1, &r1, &A.x, &A.y, &A.z); scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &h2, &r2, &B.x, &B.y, &B.z, &C.x, &C.y, &C.z); A.z = A.z+h1-r1; B.z = B.z+h2*0.9-r2; double x = A.x-B.x; double y = A.y-B.y; double z = A.z-B.z; //printf("%lf %lf %lf\n", x, y, z); point D; D.x = C.x+B.x; D.y = C.y+B.y; D.z = C.z+B.z; double d = ptoline(A, B, D); //printf("%lf\n", d); if(d <= r1 && (x*C.x+y*C.y+z*C.z > 0)) { printf("YES\n"); } else { printf("NO\n"); } } }
原文:http://blog.csdn.net/fanmengke_im/article/details/23821595
内容总结
以上是互联网集市为您收集整理的Android 预置默认的语音信箱号码全部内容,希望文章能够帮你解决Android 预置默认的语音信箱号码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。