zoukankan      html  css  js  c++  java
  • 数学图形之双曲抛物面

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

    
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 = {1over 2} (x^2 + y^2) left({1over a^2} - {1over b^2}
ight) + x y left({1over a^2}+{1over b^2}
ight)

    如果 a=b,则简化为:

     z = {2over 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

  • 相关阅读:
    基督山伯爵---大仲马
    数据结构
    11. 标准库浏览 – Part II
    python 标准库
    Python 官方文件
    Python 函数
    学员名片管理系统
    如何进入多级菜单
    Python 文件操作
    Python 字符串 (isdigit, isalnum,isnumeric)转
  • 原文地址:https://www.cnblogs.com/WhyEngine/p/3919265.html
Copyright © 2011-2022 走看看