随笔 - 373  文章 - 1  评论 - 771  阅读 - 137万

数学图形之双曲抛物面

双曲抛物面又称马鞍面,它在笛卡儿坐标系中的方程为:


z = \frac{x^2}{a^2} - \frac{y^2}{b^2}.

其中x、y、z是平面直角坐标系三个坐标轴方向上的变量,a、b是常数。

本文将展示几种生成双曲抛物面算法和切图.使用自己定义语法的脚本代码生成数学图形.相关软件参见:数学图形可视化工具,该软件免费开源.QQ交流群: 367752815

(1)

vertices = dimension1:64 dimension2:64

x = from (-4) to (4) dimension1
z = from (-4) to (4) dimension2

y = x*x - z*z

 

(2)参数方程表示

复制代码
#y = x*x/a/a - z*z/b/b

vertices = dimension1:64 dimension2:64

u = from (-3) to (3) dimension1
v = from (-3) to (3) dimension2

a = rand2(0.5, 2)
b = rand2(0.5, 2)

x = a*(u + v)
z = b*(u - v)
y = 2*u*v
复制代码

(3)三角函数表示

复制代码
vertices = D1:64 D2:64

u = from (0) to (2*PI) D1
v = from (0) to (3) D2

a = rand2(0.5, 1)

x = v*sin(u)
z = v*cos(u)
y = a*v*v*sin(u*2)
复制代码

 

(4)乘法表示

如果把双曲抛物面

 z = {x^2 \over a^2} - {y^2 \over b^2}

顺着+z的方向旋转π/4的角度,则方程为:

 z = {1\over 2} (x^2 + y^2) \left({1\over a^2} - {1\over b^2}\right) + x y \left({1\over a^2}+{1\over b^2}\right)

如果\ a=b,则简化为:

 z = {2\over a^2} x y .

最后,设 a=\sqrt{2} ,我们可以看到双曲抛物面

 z = {x^2 - y^2 \over 2} .

与以下的曲面是全等的:

\ z = x y

因此它可以视为乘法表的几何表示。

vertices = dimension1:64 dimension2:64

x = from (-4) to (4) dimension1
z = from (-4) to (4) dimension2

y = x*z

 

posted on   叶飞影  阅读(13833)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示