0与1,x与y与z的画卷

前言

上一篇文章

Surfer,线性函数-CSDN博客文章浏览阅读557次,点赞17次,收藏12次。surferhttps://blog.csdn.net/Elanx4/article/details/138289373?spm=1001.2014.3001.5501

学习

功能

surfer可以计算并展示展示三维代数曲面,

其中有x表示x轴坐标,

y表示y轴坐标,

z表示z轴坐标,

软件内提供“a”,“b”,“c”作为变量(参数)。

支持常规算术运算以及指数。

surfer中支持输入类似于:

1.2*x^2+1.2*z^2-5*(y+0.5)^3*(0.5-y)^3=0 【柠檬方程】

这样的方程来绘制图像:

坐标系里的每一个点由给定的x,y和z值来确定。而相对应的数值去带入相应的变量可以使得上述公式为零,这个点就在曲面上。通过名叫射线追踪的方法,SURFER可以找到所有这样的点;它们叫做方程的零点。所有这些零点组成相应的曲面。——来自surfer

还有一些特性:

如果方程中不包含参数 y和 z,这意味着y和z不受限制,可以取任意值。方程x=0包含了所有无论x坐标为0且y和 z可以取任何数的点.因此它就是 yz平面:


然而为什么一个无限延伸的平面看起来像个实心圆?这是因为我们用程序来展示平面,程序里展示的曲面总是在一个隐形球面的内部,我们只能看到曲面在球面内部的部分,否则,它无法在屏幕显示出来。——改编自surfer

 在右侧滑杆栏中可以调整相关参数。

可以调整放大倍数zoom。

但是这里的缩放是在一个隐形球面中进行的,刚开始使用时可能会有些奇怪。

除了可以调整zoom,这里还可以调整参数的值(如果代数式含参)。

在左侧“颜色”一栏可以调整前景色和后景色,

能够使图像两面呈现不同的色彩,

为代数式,

添加了一份艺术色彩。

 在surfer中的初步几何平面(二维)内的代数尝试

surfer比较简 陋 洁,没有新建文件的功能,

我们只能通过实例来新建。

surfer文件的后缀是*.jsurfer

由代数式x·y=0,

我新建了一个文件,内容如下:

#jSurfer surface description
#Tue Apr 30 17:15:23 CST 2024
back_material_specular_intensity=0.5
camera_type=ORTHOGRAPHIC_CAMERA
light_position_7=0.0 0.0 0.0
light_position_6=0.0 0.0 0.0
light_position_5=0.0 0.0 0.0
light_position_4=0.0 0.0 0.0
light_position_3=0.0 0.0 0.0
light_position_2=0.0 -100.0 100.0
camera_fov_y=60.0
light_position_1=100.0 100.0 100.0
light_position_0=-100.0 100.0 100.0
front_material_color=0.1254902 0.8784314 0.827451
background_color=1.0 1.0 1.0
light_intensity_7=1.0
front_material_ambient_intensity=0.4
light_intensity_6=1.0
scale_factor=0.5
light_intensity_5=1.0
light_intensity_4=1.0
light_intensity_3=1.0
front_material_specular_intensity=0.5
light_intensity_2=0.3
light_intensity_1=0.7
light_intensity_0=0.5
rotation_matrix=0.9982771061621802 0.0037608024691454097 -0.05859070196552772 0.0  -0.001255924891183464 0.9990879718227635 0.04273143638543331 0.0  0.05869812742773203 -0.04258456770194343 0.9973709665955084 0.0  0.0 0.0 0.0 1.0
light_color_7=1.0 1.0 1.0
light_color_6=1.0 1.0 1.0
front_material_diffuse_intensity=0.8
light_color_5=1.0 1.0 1.0
light_color_4=1.0 1.0 1.0
light_color_3=1.0 1.0 1.0
light_color_2=1.0 1.0 1.0
light_color_1=1.0 1.0 1.0
light_color_0=1.0 1.0 1.0
light_status_7=OFF
light_status_6=OFF
light_status_5=OFF
light_status_4=OFF
front_material_shininess=30.0
light_status_3=OFF
light_status_2=ON
light_status_1=ON
light_status_0=ON
camera_height=2.0
surface_equation=x*y
camera_transform=1.0 0.0 0.0 -0.0  0.0 1.0 0.0 -0.0  0.0 0.0 1.0 -1.0  0.0 0.0 0.0 1.0
back_material_ambient_intensity=0.4
back_material_color=0.06666667 0.4509804 0.43137255
back_material_shininess=30.0
back_material_diffuse_intensity=0.8

 这个文件的最关键内容在底部:

surface_equation=x*y

这是描述代数式的。

做完准备工作后,我准备开始探索了。

如果从正面观察x*y=0,

我们就可以看到一个“坐标轴”。

只有从正面才可以,因为surfer是三维绘制。

我现在想要绘制一次函数y=2x+3.

也就是说y-2x-3=0

加上坐标轴,也就是这样:

x*y*(y-2*x-3)=0

注意:surfer不可省略*

绘制完毕。

如果我要绘制反比例函数y=3/x.

那么y-3/x=0.

 但是surfer不支持除号,

所以需要化为:

x*y-3=0

再来一个带指数的运算。

 y=x²

化为surfer能够读取的格式:

y-x^2=0

ok了。 

再来试试参数。

就用这个抛物线为例。

简单变换代数式:

x*y*(y-x^2-b)=0

这里添加了一个参数b。

此时b=0.

 

此时b=0.5.

由于surfer特性,b不能为负数。

要想做出负数效果,必须将-b改为+b。

像这样:

x*y*(y-x^2+b)=0

 

负数b的效果。 

怎么样?是不是很简单?

这样你就掌握了surfer的初步运算逻辑。 

结语 

今天简单探索了一下函数。

相信你能够有更多的了解。

我将继续学习三维绘制的内容 ,

让我们在学习的道路上走越nb!

好好学习,天天向上!

期待我的下一篇文章!

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elanx4

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值