找回密码
 注册
查看: 2032|回复: 0

delaunay三角形划分的fortran程序

[复制链接]
发表于 2014-9-13 10:59:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我从http://nht.xjtu.edu.cn/nht/downpage.asp下载了delaunay.for & unstruct.for 程序。现在正在研究,本人初学者,菜鸟一枚,希望了解这方面的大神予以指导,深表感谢。



ENTRY INITIAL
      NS=2
      KTSTACK(1,1)=NPP-3
      KTSTACK(1,2)=NPP-2
      KTSTACK(1,3)=NPP-1
      KTSTACK(2,1)=NPP-1
      KTSTACK(2,2)=NPP
      KTSTACK(2,3)=NPP-3
      DO 100 INSERTNO=1,NPP-4
      WRITE(*,*)'INSERTNO',INSERTNO
      I=INSERTNO


请问其中的NPP和INSERTNO代表什么意思啊?

DIMENSION MPOINT(5500)

      NPOINT=0
      XX=APOINT(INSERTNO,1)
      YY=APOINT(INSERTNO,2)
      XT=XX
      YT=YY
      DO 3100 J=1,NS
      N1=KTSTACK(J,1)
      N2=KTSTACK(J,2)
      N3=KTSTACK(J,3)
      XT1=APOINT(N1,1)
      YT1=APOINT(N1,2)
      XT2=APOINT(N2,1)
      YT2=APOINT(N2,2)
      XT3=APOINT(N3,1)
      YT3=APOINT(N3,2)
      CALL INTRIANGLE

XT1是代表N1点X方向坐标,YT1是代表N1点Y方向的坐标吗?



ENTRY INTRIANGLE
      X123=(XT1+XT2+XT3)/3.
      Y123=(YT1+YT2+YT3)/3.
      Z1=(YT2-YT1)*X123-(XT2-XT1)*Y123+YT1*(XT2-XT1)-XT1*(YT2-YT1)
      Z2=(YT2-YT1)*XT-(XT2-XT1)*YT+YT1*(XT2-XT1)-XT1*(YT2-YT1)
      Z12=Z1*Z2
      Z2=(YT3-YT2)*X123-(XT3-XT2)*Y123+YT2*(XT3-XT2)-XT2*(YT3-YT2)
      Z3=(YT3-YT2)*XT-(XT3-XT2)*YT+YT2*(XT3-XT2)-XT2*(YT3-YT2)
      Z23=Z2*Z3
      Z1=(YT3-YT1)*X123-(XT3-XT1)*Y123+YT1*(XT3-XT1)-XT1*(YT3-YT1)
      Z3=(YT3-YT1)*XT-(XT3-XT1)*YT+YT1*(XT3-XT1)-XT1*(YT3-YT1)
      Z13=Z1*Z3
      LT=.FALSE.
      IF(Z12.GE.0..AND.Z23.GE.0..AND.Z13.GE.0.) LT=.TRUE.
      RETURN


上面的程序是为了判断新增点在原三角形外接圆的内部吗?我不知道为什么公式是这样,希望有好心人帮帮忙,解答一下,万分感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表