算法合集之从立体几何问题看降低编程复杂度

上传人:无*** 文档编号:182750617 上传时间:2023-01-27 格式:PPT 页数:24 大小:193.55KB
返回 下载 相关 举报
算法合集之从立体几何问题看降低编程复杂度_第1页
第1页 / 共24页
算法合集之从立体几何问题看降低编程复杂度_第2页
第2页 / 共24页
算法合集之从立体几何问题看降低编程复杂度_第3页
第3页 / 共24页
点击查看更多>>
资源描述
从立体几何问题看降低编程复杂度从立体几何问题看降低编程复杂度人大附中 高亦陶引言:一类立体几何问题lO(1)的空间复杂度lO(1)的时间复杂度l并非公认的简单题巨大的编程复杂度1 运用合适的思维方式l使用方程是一种进步方程是一种抽象的、通用的解题方法但是方程有时会忽略一部分已知信息l通过具体地思考、充分利用已知信息可以从本质入手,降低编程复杂度例1 Model Rocket Heightl给出两条直线的起点和方向,求它们公垂线中点的高度。l直线方向用仰角和方向角表示。数据的初步处理和思路公垂线叉积方向向量na b1,tan,sectan消元?行列式?浮点误差?根据空间向量基本定理有唯一解尝试解题可以化成三元一次方程组麻烦麻烦ABADDEBE 132 anb进一步思考ABADDEBE ABDEDEnnn 2DEABDEnnnnn 另外两个未知量ABABDEADBE 三角形内已知一边和内角,求另一边长最后一步2cosADDAPAPADAPAPADAPAPAPaaaaaaaa 2ABPBPBPBABPB bbbbbbbbAPABPB 小结22212ABDEABABDEABPBAPABPBAPADAPOCOAADDE nnnbbbaa 将盲目的方程组求解改为一系列向量运算降低了编程复杂度2 注意分类讨论l大量的分类+复杂的判断=难以承受的编程复杂度l合理地把不同的情况合并起来可以大大改善这种状况例2 Crossing Prismsl平面内有一个简单多边形。l多边形边数4,每个顶点都是整点,坐标取值范围为0,10。顶点按照逆时针方向排序。l现在将这个多边形分别放置在xz面和yz面上。它们关于面xy对称。l分别以这两个多边形为底,以y轴和x轴为母线,以10为高作两个棱柱。l求这两个棱柱的交的表面积。关注表面观察某个柱的一个侧面它的一部分是交的表面多数情况如果侧面与底面不平行交的表面一定是用侧面截柱得到的截面面积cos二面角射影面积二面角很容易求射影面积柱底图形与y1 y y2的交的面积重要情况如果侧面与底面平行边数4可以证明只有图中两种情况形状特殊的面柱底图形在特定高度上的宽面积宽2-(宽-边长)2对正方形也适用!继续利用这个宽也可以用来计算射影面积!射影面积sum(宽1+宽2)*高/2)需要对高度排序算法框架l对高度排序l计算每点高度处的宽l枚举每一条边判断平行与否宽2-(宽-边长)2或者2*射影面积/cos二面角计算宽 处理特殊情况求所有边与y=yk的交点最大值-最小值?完全不考虑不规范交点?利用逆时针顺序关系确定交点方向面积(宽1+宽2)*高/2?在局部改变宽的定义,利用点的逆时针序忽略一些边,使两个宽不同修改两个点的高度顺序最终使得面积可以照常计算特判会打破先前的算法框架一种具体的处理办法忽略和每个点相邻的边,让凹角顶点对应的宽较大同时确保四个点的高按逆时针顺序呈1,2+,2-,3或3,2-,2+,1的形式小结:合并的效果情况情况情况判断比较复杂的计算途径有点复杂的计算途径另外的计算途径判断情况情况情况处理中间量另外的计算途径剩下的计算途径总结和启示l算法是多样化的,选择时要注重适用适用性l在遇到新问题时,首先想一想能不能在现有框架内解决,而不是随意添加新的内容l对算法同样可以从类似内容中合并相同点从而达到精简的效果谢谢
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!