image - 如何从用 fortran 90 编写的 3x3 矩阵写入 3D 图像?
问题描述
我正在尝试用 fortran 90 编写 3D 图像。
我想要在图像中的对象的代码:
这是 fortran 中的多维数据集代码:
PROGRAM myimage
integer xmax,ymax,zmax
parameter (xmax=10,ymax=10,zmax=10)
INTEGER mytable(1:xmax,1:ymax,1:zmax)
do 1 i1=1,xmax
do 2 i2=1,ymax
do 3 i3=1,zmax
mytable(i1,i2,i3)=0
if ((i1.ge.3).and.(i1.le.6).and.(i2.ge.3).and.(i2.le.6).and.(i3.ge.3).and.(i3.le.6)) then
mytable(i1,i2,i3)=1
endif
3 continue
2 continue
1 continue
end
我想获得的图像类型:
我想要的图像类型是这样的:
立方体是我的像素 mytable=1
,它周围会有像素:mytable=0
我尝试了什么:
我首先尝试编写代码直接在fortran中制作图像,但结果发现发出的图像不是我想要的3D图像(见附录1)。
问题:
你能解释一下如何在 3D 中查看这种类型的对象吗?
例如,根据 Vladimir F 的评论,我下载了 Paraview。我发现这个问题与我现在的立场非常相似。
但是如果我选择以 UCD 格式写入文件,我不明白我必须在文件中写什么。我没有在互联网上找到解释,并且问题中的链接不起作用。
附录1:
这是 2D 图像和我尝试编码的 3D 图像的代码。
我首先写了一个有效的 2D 图像。我试图将其推广到 3D。我想以mytable=1
3D 形式查看对象。
subroutine image2d(mytable,xmax,ymax,zmax)
integer xmax,ymax,zmax,mytable(1:xmax,1:ymax,1:zmax)
character*15 fname
WRITE(fname,'(a)')'myimage2d.ppm'
open (100,file=fname,form='formatted')
write(100,'(a)') 'P3'
write(100,*) '#'
write(100,*) xmax,ymax
write(100,*) 2
do 10 i10=1,xmax
do 20 i20=1,ymax
if (mytable(i10,i20,5).eq.0) then
write(100,*) '2 2 2'
else if (mytable(i10,i20,5).eq.1) then
write(100,*) '0 0 0'
end if
20 continue
10 continue
end
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine image3d(mytable,xmax,ymax,zmax)
integer xmax,ymax,zmax,mytable(1:xmax,1:ymax,1:zmax)
character*15 fname
WRITE(fname,'(a)')'myimage3d.ppm'
open (200,file=fname,form='formatted')
write(200,'(a)') 'P3'
write(200,*) '#'
write(200,*) xmax,ymax,zmax
write(200,*) 3
do 11 i10=1,xmax
do 21 i20=1,ymax
do 31 i30=1,ymax
if (mytable(i10,i20,i30).eq.0) then
write(200,*) '2 2 2'
else if (mytable(i10,i20,i30).eq.1) then
write(200,*) '0 1 2'
end if
31 continue
21 continue
11 continue
end
解决方案
推荐阅读
- javascript - 如何在第二个 API 函数中访问第一个 API 函数中的变量
- phpstorm - 在之前和之后添加一个新行PhpStorm 中的标记
- python - Python - 将 .gzip 附件添加到电子邮件
- asp.net-core - 如何保证操作和日志成功?
- c# - c# asp net updatepanel 导致页面刷新
- xamarin - Xamarin.Forms 设计开始菜单
- sql - 具有深度嵌套数组循环的 SQL 查询 OpenJson
- php - 如何计算在php中具有不同值的文件的匹配数
- typescript - 从联合类型中提取字符串文字值以进行更强的类型检查
- angular - 在 Angular 8 的 Bootstrap 模式对话框中可见组件后如何运行函数?