精华内容
下载资源
问答
  • Python 绘制圆锥体(3D

    千次阅读 2019-01-06 23:47:34
    Python 绘制圆锥体 3D 圆锥体是几何中简单而漂亮的图形,Python具有强大的作图功能,但最近在试着用Python作图,发现很少文章介绍如何使用Python画圆锥体。 Python作图的大部分文档都是介绍2D作图,介绍3D作图,...

    Python 绘制圆锥体(3D图)

    圆锥体是几何中简单而漂亮的图形,Python具有强大的作图功能,但最近在试着用Python作图,发现很少文章介绍如何使用Python画圆锥体。
    Python作图的大部分文档都是介绍2D作图,介绍3D作图,大部分是使用meshgrid函数生成方形范围的数据,然后调用Axes3D的函数就完成了,这种做法的确简单有效,但遇到圆锥体、圆柱体这类3D图形,则往往束手无策。
    圆锥体几何图形很简单,用Matlab画圆锥体只要5行代码:

    使用Matlab绘制圆锥的立体图(Cone’s graph)

    那么Python是否具备这种功能?答案是肯定的。
    关键是提供合适的数据给Axes3D的函数。以底面在上,顶点在原点,半径和高度均为1的圆锥体为例(这个例子相对简单易懂),圆锥体面上的每个点,其高度正好是该点在平面上到中心原点的距离,而平面上每个点则是圆形上的一个点。圆形当然不能用方形表示,但用极坐标表示则很简单,所以可以定义极坐标,为每个点的x,y生成相应数据,并根据x,y计算出z的值。
    详细代码和结果图如下。

    # -*- coding: utf-8 -*-
    #每天给自己一个希望,试着不为明天而烦恼,不为昨天而叹息,只为今天更美好! 
    
    import matplotlib.pyplot as plt 
    import numpy as np 
    from mpl_toolkits.mplot3d import Axes3D
    
    # 简单方法画出漂亮的圆锥体(底面在上,顶点在原点)
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
     
    # 生成圆锥数据,底面半径为1,高度为1,其余的情形留待发挥
    # 先根据极坐标方式生成数据
    u = np.linspace(0, 2 * np.pi, 50)   #linspace的功能用来创建等差数列
    v = np.linspace(0, np.pi, 50)
    # 数据转化为平面坐标数据
    x = np.outer(np.cos(u), np.sin(v)) # outer(a,b) 外积:a的每个元素乘以b的每个元素,二维数组
    y = np.outer(np.sin(u), np.sin(v))
    z = np.sqrt(x**2+y**2)             #圆锥体的高
    
    # Plot the surface
    ax.plot_surface(x, y, z, cmap=plt.get_cmap('rainbow'))
     
    plt.show()
    

    结果图形如下所示,太漂亮了!
    在这里插入图片描述

    展开全文
  • Program:按照下面要求完成类的设计 (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性。 (2)修改项目三中第2题中所设计的球类、圆柱...1、在abstractclass包下分别定义了平面图...

    Program:按照下面要求完成类的设计

    (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性。

    (2)修改项目三中第2题中所设计的球类、圆柱类,圆锥类、矩形类、三角形类、圆类,分别继承平面图形抽象类和立体图形抽象类。

    (3)运行项目三中第2题中的测试方法,进行测试。

     

    Description:

    1、在abstractclass包下分别定义了平面图像抽象类Planum和立体图形抽象类Soild。

    2、在entity包中,创建了实体类:Triangle(三角形),Rectangle(矩形),Cylinder(圆柱体),Sphere(球体)。

    3、在main包中定义测试类TestDemo,进行测试。

        具体代码如下:

     

    抽象类

     1 /*
     2  * Description:定义平面图形的抽象类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 
    11 package abstractclass;
    12 
    13 public abstract class Planum {
    14 
    15     private double sideLength;        //边长
    16     private double height;            //17     
    18     //定义构造方法
    19     public Planum(double sideLength,double height) {
    20         
    21         this.sideLength = sideLength;
    22         this.height = height;
    23     }
    24 
    25     //定义setter()和getter()方法
    26     
    27     public double getSideLength() {
    28         return sideLength;
    29     }
    30 
    31     public void setSideLength(double sideLength) {
    32         this.sideLength = sideLength;
    33     }
    34 
    35     public double getHeight() {
    36         return height;
    37     }
    38 
    39     public void setHeight(double height) {
    40         this.height = height;
    41     }
    42     
    43     //抽象抽象方法,求得面积
    44     public abstract double getArea();
    45     
    46     
    47 }

     

     

     1 /*
     2  * Description:定义立体图形的抽象类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package abstractclass;
    11 
    12 public abstract class Solid {
    13     
    14     private double r;            //声明半径
    15     private final double PI = 3.14;    //声明π
    16     
    17     //定义构造方法
    18     public Solid(double r) {
    19         
    20         this.r = r;
    21     }
    22 
    23     //定义sette()和getter()方法
    24     
    25     public double getR() {
    26         return r;
    27     }
    28 
    29     public void setR(double r) {
    30         this.r = r;
    31     }
    32     
    33     public double getPI() {
    34         
    35         return this.PI;
    36     }
    37     
    38     //声明抽象方法,取得表面积
    39     public abstract double getArea();
    40     //声明抽象方法,取得体积
    41     public abstract double getSolid();
    42     
    45 }

     

    实体类:

     

     1 /*
     2  * Description:定义圆柱的实体类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package entity;
    11 
    12 
    13 import abstractclass.Solid;
    14 
    15 public class Cylinder extends Solid {
    16 
    17     private double height;        //声明圆柱体的高度
    18     
    19     //定义构造方法
    20     public Cylinder(double r,double height) {
    21         super(r);
    22         this.height = height;
    23     }
    24 
    25     //实现父类抽象方法,求得圆柱的表面积
    26     public double getArea() {
    27         
    28         return 4 * this.getPI() * Math.pow(this.getR(), 2);
    29     }
    30 
    31     //实现父类抽象方法,求得圆柱的体积
    32     public double getSolid() {
    33         
    34         double result =  this.getPI() * Math.pow(this.getR(), 2) * this.height;
    35         return Math.round(result*100.0) / 100.0;
    36     }
    37 }

     

     1 /*
     2  * Description:定义球的实体类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package entity;
    11 
    12 import abstractclass.Solid;
    13 
    14 public class Sphere extends Solid {
    15 
    16     //定义构造方法
    17     public Sphere(double r) {
    18         super(r);
    19     }
    20 
    21     //实现父类抽象方法,求得球的表面积
    22     public double getArea() {
    23         
    24         return 4 * this.getPI() * Math.pow(this.getR(), 2);
    25     }
    26 
    27     //实现父类抽象方法,求得球的体积
    28     public double getSolid() {
    29         
    30         return this.getPI() * Math.pow(this.getR(), 3);
    31     }
    32     
    33 }

     

     

     1 /*
     2  * Description:定义矩形实体类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package entity;
    11 
    12 import abstractclass.Planum;
    13 
    14 public class Rectangle extends Planum {
    15 
    16     //定义构造方法
    17     public Rectangle(double sideLength, double height) {
    18         
    19         super(sideLength, height);
    20     }
    21 
    22     //实现父类的抽象方法,求得矩形面积
    23     public double getArea() {
    24         
    25         return this.getHeight() * this.getSideLength();
    26     }
    27 
    28     
    29 }

     

     

     1 /*
     2  * Description:定义矩形实体类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package entity;
    11 
    12 import abstractclass.Planum;
    13 
    14 public class Triangle extends Planum {
    15 
    16     //定义构造方法
    17     public Triangle(double sideLength, double height) {
    18         super(sideLength, height);
    19     }
    20 
    21     //实现父类的抽象方法,求得三角形面积
    22     public double getArea() {
    23         
    24         return this.getHeight() * this.getSideLength() / 2;
    25     }
    26 
    27     
    28 }

     

    测试类

     

     1 /*
     2  * Description:定义测试类
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-10-16
     7  * 
     8  * */
     9 
    10 package main;
    11 
    12 import entity.Cylinder;
    13 import entity.Sphere;
    14 import entity.Triangle;
    15 import abstractclass.Planum;
    16 import abstractclass.Solid;
    17 
    18 public class TestDemo {
    19     
    20     public static void main(String args[]) {
    21         
    22         //实例化平面图形的抽象类对象
    23         Planum tri = new Triangle(10, 10);           //三角形
    24         Planum rec = new entity.Rectangle(10,20);    //矩形
    25         
    26         //实例化立体图形的抽象类对象
    27         Solid sph = new Sphere(1);                   //球体
    28         Solid cyl = new Cylinder(1, 10);             //圆柱
    29         
    30         //打印平面图形的面积
    31         System.out.println( "三角形的面积:" + tri.getArea() );
    32         System.out.println( "矩形的面积:" + rec.getArea() );
    33         
    34         System.out.println( "---------------风骚的Java分割线-----------------" );
    35         
    36         //打印球体的表面积和体积
    37         System.out.println( "球体的表面积:" + sph.getArea() );
    38         System.out.println( "球体的体积:" + sph.getSolid() );
    39         
    40         System.out.println( "---------------风骚的Java分割线-----------------" );
    41         
    42         //打印圆柱体的表面积和体积
    43         System.out.println( "圆柱体的表面积:" + cyl.getArea() );
    44         System.out.println( "圆柱的体积:" + cyl.getSolid() );    
    45         
    46     }
    47 
    48 }

     

    转载于:https://www.cnblogs.com/caizhen/p/7684235.html

    展开全文
  • C#——设计一个窗体应用程序,在该程序定义平面图形抽象类和其派生类圆、矩形、和三角形。 该程序实现的功能包括:输入相应图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图形的面积...

    C#——设计一个窗体应用程序,在该程序定义平面图形抽象类和其派生类圆、矩形、和三角形。

    该程序实现的功能包括:输入相应图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图形的面积。

    设计界面:

     

    编写代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace 图形面积
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            //圆
            private void button1_Click(object sender, EventArgs e)
            {
                Circle c = new Circle(Convert .ToDouble ( textBox1 .Text) );
                label4.Text = "圆的面积为:"+c.Area();
            }
            //矩形
            private void button2_Click(object sender, EventArgs e)
            {
                Trangle t = new Trangle(Convert .ToDouble (textBox1 .Text ),Convert .ToDouble (textBox2 .Text ));
                label4 .Text ="矩形的面积为:"+t.Area();
            }
            //三角形
            private void button3_Click(object sender, EventArgs e)
            {
                S s = new S(Convert .ToDouble (textBox1 .Text ),Convert .ToDouble (textBox2 .Text ));
                label4 .Text ="三角形的面积为:"+s.Area();
            }
        }
        //抽象基类
        public abstract class Figure
        {
            public abstract double Area();
        }
        //圆
        public class Circle : Figure
        {
            double r;
            public Circle(double r)
            {
                this.r = r;
            }
            public override double Area()
            {
                return r*r*3.14;
            }
        }
        //矩形
        public class Trangle : Figure
        {
            double length;
            double width;
            public Trangle(double length,double width)
            {
                this.length = length;
                this.width = width;
            }
            public override double Area()
            {
                return length*width ;
            }
        }
        //三角形
        public class S : Figure
        {
            double length;
            double width;
            public S(double length, double width)
            {
                this.length = length;
                this.width = width;
            }
            public override double Area()
            {
                return (length * width)/2;
            }
        }

    }
     

     

     

    运行结果:

     

     

    展开全文
  • 圆锥的立体几何定义:“以直角三角形的直角边所在直线为旋转轴,其余两边旋转360度而成的曲面所围成的几何体叫做圆锥。旋转轴叫做圆锥的轴。 垂直于轴的边旋转而成的曲面叫做圆锥的底面。不垂直于轴的边旋转而成的...

    圆锥的立体几何定义:“以直角三角形的直角边所在直线为旋转轴,其余两边旋转360度而成的曲面所围成的几何体叫做圆锥。旋转轴叫做圆锥的轴。 垂直于轴的边旋转而成的曲面叫做圆锥的底面。不垂直于轴的边旋转而成的曲面叫做圆锥的侧面。无论旋转到什么位置,不垂直于轴的边都叫做圆锥的母线。”


    Wikipedia上的定义如下:“A cone is a three-dimensional geometric shape that tapers smoothly from a flat base (frequently, though not necessarily, circular) to a point called the apex or vertex.
    A cone is formed by a set of line segments, half-lines, or lines connecting a common point, the apex, to all of the points on a base that is in a plane that does not contain the apex. Depending on the author, the base may be restricted to be a circle, any one-dimensional quadratic form in the plane, any closed one-dimensional figure, or any of the above plus all the enclosed points. If the enclosed points are included in the base, the cone is a solid object; otherwise it is a two-dimensional object in three-dimensional space. In the case of a solid object, the boundary formed by these lines or partial lines is called the lateral surface; if the lateral surface is unbounded, it is a conical surface.”


    那么如何使用软件绘制圆锥的图形呢?

    代码如下:

    参考了以下文章:https://zhidao.baidu.com/question/97543462.html(用matlab怎么画圆锥体?)

    z=cplxgrid(20);%在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
    x=real(z);
    y=imag(z);
    fz=sqrt((x.^2+y.^2));%圆锥公式,z^2=x^2+y^2来求fz
    cplxmap(z,fz)%作图

    在Matlab中输入以上代码,就可以得到圆锥图了(这图确实漂亮!)


    展开全文
  • 平面几何是高考的必考点,其中,三角形又是备受出题人喜爱的一中图形。对三角形的考察方式有很多,许多体型都可以与三角形相结合,比如向量、三角函数、圆锥曲线等。本文总结了高中三角形相关的知识点,其中涉及了...
  • 圆锥的立体几何定义:“以直角三角形的直角边所在直线为旋转轴,其余两边旋转360度而成的曲面所围成的几何体叫做圆锥。旋转轴叫做圆锥的轴。 垂直于轴的边旋转而成的曲面叫做圆锥的底面。不垂直于轴的边旋转而成的...
  • 圆锥

    2019-10-06 04:26:22
    效果如下: 1、首先给出的是圆锥面中的顶点坐标、纹理坐标和法向量生成的相关代码: import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import android.opengl...
  • 大家都知道地球是圆的,但是日常生活中...将球体表面转换为平面,不管用什么方法,都会存在“变形”问题,展开为平面时必然会破裂或产生褶皱。要解决球面不可展开的问题,就要涉及一个重要概念—“地图投影”。所谓...
  • 兰伯茨保形圆锥投影 (The Lamberts Conformal Conic projection) The Lamberts Conformal Conic (LCC) projection system was developed in the 18th century by a swiss mathematician named Johann Heinrich ...
  • 圆锥曲线总结

    千次阅读 2020-03-11 12:07:52
    过定点(x0,y0)(x_0,y_0)(x0​,y0​),作圆锥曲线的两条切线,连接切点构成的弦叫切点弦。(也叫(x0,y0)(x_0,y_0)(x0​,y0​)的极线) 2.解析式 对于圆(x−a)2+(x−b)2=r2(x-a)^2+(x-b)^2=r^2(x−a)2+(x−b)2=r2,切点...
  • 之前的博客中,我们绘制了三角形、正方形、圆形、立方体,今天我们将绘制圆锥、圆柱和球体。能够绘制这些基本的常规几何形体后,其他的常见几何形体的绘制对于我们来说就基本没问题了。绘制圆锥由之前的博客,我们...
  • 从头开始绘制一个圆锥

    千次阅读 2014-12-13 14:39:03
    如何建立一个带法线和纹理坐标的截头圆锥体.
  • 中学时代,在学习圆锥的...利用几何画板动态演示圆锥侧面展开,形象且直观,深刻地揭示了展开与原几何体的内在联系!下面将对该课件作详细介绍。几何画板中文版获取地址:http://wm.makeding.com/iclk/?zoneid...
  • 迄今公认的深度h的“抛物线”指数(“ 2代表圆锥,3/2代表球面,1代表平冲头”)仍然是ISO 14577标准的不变基础,该标准也强制执行多达3 + 8 ISO硬度和ISO弹性压痕模量的迭代参数。 现在,几乎所有这些通用方法都受...
  • 前言 求圆锥曲线方程,其本质是求解\(a\),\(b\),或\(p\)的值,所以常常...文字语言:平面内到两个定点\(F_1\),\(F_2\)的距离之和等于常数(\(>|F_1F_2|\))的动点\(P\)的集合称为椭圆,即\(|PF_1|+|PF_2|=2a\...
  • 题目要求: 写一个程序,定义抽象基类 Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求它们的和。...
  • 圆锥和圆柱光照和纹理 由于在圆锥的侧面中和底面圆中,重合的底面圆上的点的法...顶点数组中,索引为1到m+1个的底面圆上的点、索引为0的底面圆心组成底面圆,法向量为垂直于圆平面单位向量。侧面上的法向量,例如对于索
  • 圆锥曲线的离心率

    2019-02-14 21:15:00
    圆锥曲线的离心率问题中,使用频度比较多的就是定义式,比如椭圆的定义,双曲线的定义,抛物线的定义。 一、公式提示 注意别忘了使用初中平面几何知识; 法1:求\(a\),\(b\),\(c\); 法2:不知道\(a\),\(b\)...
  • 根据投影面不同,几何投影分为圆锥投影、圆柱投影和平面(方位)投影,本文将从概念、经纬线形状、变形、应用场景三个方面逐个解释上述投影的特点。 01圆锥投影 假定以圆锥面作为投影面,使圆锥面和地球体相切...
  • 圆锥曲线中的范围最值问题

    千次阅读 2019-10-01 18:17:08
    圆锥曲线中的最值问题类型较多,解法灵活多变,但总体上主要有两种方法:一是利用几何方法,即通过利用圆锥曲线的定义、几何性质以及平面几何中的定理、性质等进行求解;二是利用代数方法,即把需要求解最值的几何量...
  • 常用地图投影

    万次阅读 2020-03-11 11:04:14
    指除世界地图之外的半球、大洲、国家、省区、地区,即含区域比较大的中小比例尺地图。 圆锥投影 方位投影 伪圆锥投影 世界地图投影 多圆锥投影 圆柱投影 伪圆柱投影 地形投影 高斯-克吕格投影...
  • 按照前一章介绍后,我们自然会期望:通过平面中引进无穷远元素,来获得二阶曲线的度量性质。利用无穷远元素来引入极点和极线的理论,我们有以下定义: 无穷远点的极线称为圆锥曲线的直径,而无穷远直线的极点称为...
  • PPT2010创建立体感球体、圆柱、圆锥

    千次阅读 2013-02-05 10:28:35
     1、在操作区域绘制圆形,并在格式选项卡中将形状轮廓修改为无轮廓 2、右键单击刚绘制的圆形,选择设置形状格式,设置相关参数 3、在三维格式选项中,设置棱台顶端宽度与高度磅值,顶端与低端棱台效果设为无...
  • 最开始想要裁剪平面从球体得到球面三角形,但得到以后,再在坐标中心画那两个圆柱和圆锥却总是受到原先裁剪平面的影响,比如像这样 [img=https://img-bbs.csdn.net/upload/201408/27/1409125417_421927.png][/img] ...
  • 前言读本文前,你应该有基本的圆锥曲线知识,能够应对中等难度的题目;能够熟练运用韦达定理等传统方法解题;且有一定的数学功底。阅读本文后,你可以尝试自己推导所有结论,并形成较为系统的笔记,方便以后复习。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,045
精华内容 818
关键字:

圆锥形平面图