24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1644  |  回复: 0

asunshan

银虫 (著名写手)

[求助] 求助:::module中子程序与函数调用

!!!在调用module中的subroutine bezier_curve时
!!!!!为什么函数ab和函数bezier_control如果调研两次就会出现问题!!!
!!!编译时包若如下:
Error        1         error LNK2019: unresolved external symbol _AB referenced in function _FUN_SUM_mp_BEZIER_CURVE        Source1.obj       
Error        2         error LNK2019: unresolved external symbol _BEZIER_CONTROL referenced in function _FUN_SUM_mp_BEZIER_CURVE        Source1.obj       


module fun_sum
implicit none
real(8)::pz0,pz1,pz2,pz3,pz4
real(8)::pr0,pr1,pr2,pr3,pr4
real(8)::k1,k2,r1,r2,c1,c2
real(8)::a,b
real(8)::ti
real(8)::z(0:50),r(0:50)
integer::i
integer::point_num=50
real(8)::co_rz,co_p2
contains
!!!subroutine计算曲线上坐标
subroutine bezier_curve(t,zi,ri)!注意参数之中有数组元素,考虑如何书写语法
implicit none
real(8)::t,zi,ri
!real,external::zuobiao_co
!real,external::bezier_control
!real,external::ab
!real,external::mid_point
pz0=-19.21  
pz4=23.78407
pr0=68.046
pr4=170.615
k1=0.5
k2=30.0
r1=300.0
r2=5000.0
c1=0.1
c2=-0.5
!计算控制点和的坐标
co_rz=zuobiao_co(pr0,pr4,pz0,pz4,k1,k2)
pz1=pz0+c1*(co_rz-pz0)
pr1=pr0+c1*(k2*co_rz+pr4-pr0-k2*pz4)
pz3=pz4+c2*(pz4-co_rz)
pr3=pr4+c2*(k2*pz4-k2*co_rz)
!计算控制点的坐标
a=ab(pz0,pz1,pr0,pr1,r1)                  !!!为什么function_ab和function_bezier_control如果调研两次就会出现问题!!!
b=ab(pz3,pz4,pr3,pr4,r2)
co_p2=mid_point(pz0,pz1,pz3,pz4,pr0,pr1,pr3,pr4)
pz2=((pz1-pz0)*b-(pz4-pz3)*a)/co_p2
pr2=((pr1-pr0)*b-(pr4-pr3)*a)/co_p2
!计算贝塞尔曲线上从起点到终点的个点的坐标
    zi=bezier_control(pz0,pz1,pz2,pz3,pz4,t) !!!为什么function_ab和function_bezier_control如果调研两次就会出现问题!!!
    ri=bezier_control(pr0,pr1,pr2,pr3,pr4,t)
end subroutine

!!!计算控制点,中常见的部分
real function zuobiao_co(r0,r4,z0,z4,ki,kj)
implicit none
real(8)::r0,r4,z0,z4
real(8)::ki,kj
zuobiao_co=(r4-r0+ki*z0-kj*z4)/(ki-kj)
return
end function
!!!计算控制点的坐标
real function mid_point(z0,z1,z3,z4,r0,r1,r3,r4)
implicit none
real(8)::z0,z1,z3,z4,r0,r1,r3,r4
mid_point=(z1-z0)*(r4-r3)-(z4-z3)*(r1-r0)
return
end function
!!!曲线上坐标点计算公式
real function bezier_control(p0,p1,p2,p3,p4,t)!注意参数之中有数组元素,考虑如何书写语法
implicit none
real(8)::p0,p1,p2,p3,p4
real(8)::t
bezier_control=p0*((1-t)**4)+4*p1*t*((1-t)**3)+6*p2*(t**2)*((1-t)**2)+4*p3*(t**3)*(1-t)+p4*(t**4)
return
end function
!!!计算系数a,b
real function ab(zi,zj,ri,rj,r)
implicit none
real(8)::zi,zj,ri,rj,r
ab=zi*rj-zj*ri-(4*((zj-zi)**2.0+(rj-ri)**2.0)**1.5)/(3.0*r)
return
end function

end module fun_sum

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!主程序
program bezier
!use number
use fun_sum
implicit none
character(len=20)::filename="shroud.txt"
integer,parameter::fileid=10
open(fileid, file=filename)
write(fileid,"(2X'编号',4X'z坐标',7X'r坐标')"
write(*,"(2X'编号',4X'z坐标',7X'r坐标')"
do i=0,point_num
  ti=real(i)/real(point_num)
  call bezier_curve(ti,z(i),r(i))
  write(fileid,"(I5,2X,F10.5,2X,F10.5,2X)"i,z(i),r(i)
  write(*,"(I5,2X,F10.5,2X,F10.5,2X)"i,z(i),r(i)
end do
pause
end program
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 asunshan 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +8 1234567wang 2026-05-17 10/500 2026-05-18 18:52 by zzahkj
[基金申请] 国自然上会要求 +5 无名者登山 2026-05-18 9/450 2026-05-18 17:50 by BlakeReary
[教师之家] 上海大学实验技术岗位非升即走 +8 嘻嘻哈哈乐呵呵 2026-05-15 8/400 2026-05-18 11:53 by ning312
[基金申请] 青C资助名额大幅增加! +12 西葫芦炒鸡蛋 2026-05-13 16/800 2026-05-18 10:02 by Equinoxhua
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +6 cjf4bx70cj 2026-05-14 7/350 2026-05-17 18:49 by Equinoxhua
[考博] 找博士生导师 +4 小代想上岸 2026-05-15 5/250 2026-05-17 17:44 by 脱颖而出
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 v9tggjlwd0 2026-05-15 4/200 2026-05-17 08:06 by 11n4dfd8yn
[考博] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 7hlccowb3h 2026-05-15 4/200 2026-05-17 07:46 by 11n4dfd8yn
[找工作] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 l7k6xnh0yc 2026-05-14 6/300 2026-05-17 07:31 by 11n4dfd8yn
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 l7k6xnh0yc 2026-05-14 8/400 2026-05-17 07:26 by 11n4dfd8yn
[公派出国] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +6 l7k6xnh0yc 2026-05-14 6/300 2026-05-17 07:16 by 11n4dfd8yn
[找工作] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k37jurhrau 2026-05-16 3/150 2026-05-17 01:37 by ue3ir18jc3
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 k37jurhrau 2026-05-16 4/200 2026-05-17 01:35 by ue3ir18jc3
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k37jurhrau 2026-05-16 3/150 2026-05-17 01:25 by ue3ir18jc3
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[有机交流] 求有机合成大神指点三硫酸乙烯酯(CAS:2793408-99-6)的合成路线 30+3 Leekmid 2026-05-13 10/500 2026-05-16 16:37 by czyzsu
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 5/250 2026-05-16 16:20 by czyzsu
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k37jurhrau 2026-05-16 3/150 2026-05-16 13:57 by vcdazktkjx
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 l7k6xnh0yc 2026-05-14 6/300 2026-05-16 11:29 by h3oerqvkv9
[考博] 材料类只有一篇综述能申博么 +4 乐逍遥谷 2026-05-13 4/200 2026-05-14 12:05 by zhyzzh
信息提示
请填处理意见