Mathematica程序 计算两线段_第1页
Mathematica程序 计算两线段_第2页
Mathematica程序 计算两线段_第3页
Mathematica程序 计算两线段_第4页
Mathematica程序 计算两线段_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mathematica程序计算两线段之间的最短距离(*输入四个点坐标*)(*将坐标输成7/2形式可以得到准确解,输成3.5只能得到有一定精确度 的数值解.*)(*如果两线段分别为AB,CD,按照以下规则输入坐 标:xA,yA,xB,yB,xC,yC,xD,yD或者xA,yA,xB,yB,xC,yC,xD,yD或者两种混和输入,必须保证按 照顺序输入*)zuobiao = 0,0, 13,9, 6,6, 0, 8;zuobiao = PartitionFlattenzuobiao, 2;(*下面进行坐标旋转,目的是让两条直线均不与坐标轴平行,省去以后 很多分情况的麻烦,一劳永逸*)xuanzj

2、= 0, Pi/6, Pi/4;brr = ;err = ;juli = ;frr = ;chuizuf =.;Fori = 1, i = Lengthxuanzj, i+,Forj = 1, j =0 & (brr31 - brr51)*(brr51- brr41) = 0,Print-两线段相交,最短距离为0;xiangjiao = 1,xiangjiao = 0;(*下面先定义一个函数chuizu用来计算点到直线的垂足坐标*)chuizuzuobiao_:=Modulearr,arr = Flattenzuobiao;(-(-arr1 arr3A2 + 2 arr1 arr3 arr5-

3、arr1 arr5A2 - arr3 arr2 arr4 +arr5 arr2 arr4 - arr5 arr4A2 +arr3 arr2 arr6 - arr5 arr2 arr6 +arr3 arr4 arr6 + arr5 arr4 arr6-arr3 arr6A2)/(arr3A2 - 2 arr3 arr5 +arr5A2 + arr4A2 - 2 arr4 arr6 +arr6A2), -(-arr1 arr3 arr4 +arr1 arr5 arr4 + arr3 arr5 arr4-arr5A2 arr4 - arr2 arr4A2 +arr1 arr3 arr6 - arr3

4、A2 arr6-arr1 arr5 arr6 + arr3 arr5 arr6 +2 arr2 arr4 arr6-arr2 arr6A2)/(arr3A2 - 2 arr3 arr5 + arr5A2 + arr4A2 - 2 arr4 arr6 + arr6A2);(*下面是两线段线不相交时,计算各个端点到所对线段的最短距离9crr = brr1, brr3, brr4, brr2, brr3,brr4, brr3, brr1, brr2, brr4, brr1, brr2;Ifxiangjiao = 0,Fori = 1, i =0 & (crri31 - chuizuf1)/(crri

5、31- crri21) = 0,frr = Appendfrr, crri1, chuizuf;juli =Appendjuli, SimplifyNormcrri1 - chuizuf(*A勺垂足 F 在CD内,取线段AF距离*);If(crri 21 - chuizuf1)/(crri21- crri31) = 0,frr = Appendfrr, crri1, crri 2 ;juli =Appendjuli,SimplifyNormcrri1 - crri2(*A的垂足F在C 的 外侧,取线段AC距离*);crri31) =0 & (crri31 - chuizuf1)/(crri31

6、- crri21) 0,frr = Appendfrr, crri1, crri3;juli =Appendjuli,SimplifyNormcrri1 - crri3(*A勺垂足F 在D 的 外侧,取线段AD距离*);Print准确解;PrintSortjuli, Less1;Print数值解;PrintSortjuli / N1;(*下面是作图*)Forj = 1, j = Lengthbrr, j+,err = Appenderr, brrj1*CosAlpha +brrj2*SinAlpha, -brrj1*SinAlpha +brrj2*CosAlpha;err = Partitionerr, 2;Iffrr != ,grr = TableNormfrri1 - frri 2 / N, i, 1, Lengthfrr;Fori = 1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论