How do I draw an ellipse and an ellipsoid using MATLAB?

(x^2/a^2)+(y^2/b^2)=1

n=40;

a=0; b=2*pi;

c=0; d=2*pi;

for i=1:n

u=a+(b-a)*(i-1)/(n-1);

for j=1:m

v=a+(d-c)*(j-1)/(m-1);

x(i,j)=sin(u)*cos(v);

y(i,j)=sin(u)*sin(v);

z(i,j)=cos(u);

end

end

mesh(x,y,z);

But I want the shape?

解决方案

Ellipse article on Wikipedia had a simple JavaScript code to draw ellipses.

It uses the parametric form:

x(theta) = a0 + ax*sin(theta) + bx*cos(theta)

y(theta) = b0 + ay*sin(theta) + by*cos(theta)

where

(a0,b0) is the center of the ellipse

(ax,ay) vector representing the major axis

(bx,by) vector representing the minor axis

I translated the code into a MATLAB function:

calculateEllipse.m

function [X,Y] = calculateEllipse(x, y, a, b, angle, steps)

%# This functions returns points to draw an ellipse

%#

%# @param x X coordinate

%# @param y Y coordinate

%# @param a Semimajor axis

%# @param b Semiminor axis

%# @param angle Angle of the ellipse (in degrees)

%#

narginchk(5, 6);

if nargin<6, steps = 36; end

beta = -angle * (pi / 180);

sinbeta = sin(beta);

cosbeta = cos(beta);

alpha = linspace(0, 360, steps)' .* (pi / 180);

sinalpha = sin(alpha);

cosalpha = cos(alpha);

X = x + (a * cosalpha * cosbeta - b * sinalpha * sinbeta);

Y = y + (a * cosalpha * sinbeta + b * sinalpha * cosbeta);

if nargout==1, X = [X Y]; end

end

and an example to test it:

%# ellipse centered at (0,0) with axes length

%# major=20, ,minor=10, rotated 50 degrees

%# (drawn using the default N=36 points)

p = calculateEllipse(0, 0, 20, 10, 50);

plot(p(:,1), p(:,2), '.-'), axis equal

matlab画倾斜的椭球,在MATLAB中绘制椭圆和椭球相关推荐

  1. html如何画出四个圆圈,HTML5 Canvas中绘制椭圆的4种方法

    概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...

  2. HTML5 Canvas 绘制椭圆与椭圆弧的实现

    由于 HTML Canvas 2D Context标准中并没有直接绘制椭圆与椭圆弧的方法,所以浏览器普遍没有这个方法,不过,Chrome支持 ellipse方法,至于从哪个版本开始支持的,我就未查证了 ...

  3. matlab画y x 2,怎么用MATLAB画x^2+y^2=4*x图像

    第一问:不能用通常的三维命令来绘制椭圆球体,应用专用的绘制椭圆球体命令ellipsoid().更改后 由热心网友提供的答案1: 给你图片吧,纯代码常常会被百度认为不符合要求,你自己打这个方程应该是单叶 ...

  4. matlab画平面心型线,如何用matlab画出心形线

    心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹线.下面就简单讲解一下如何用matlab画出心形线. 1.心形线的数学定义 2.编制的绘制心形线的matlab程序 ...

  5. matlab 画电机效率图,如何用matlab绘制电机效率map图或发动机万有特性曲线

    如何用matlab绘制电机效率map图或发动机万有特性曲线 前段时间写论文,需要绘制电机效率map图,其实和发动机万有特性曲线一样.. 看了好多资料都不会,问问师兄也没具体画过..困惑中查到貌似有几个 ...

  6. matlab 画狗头彩蛋,我用matlab画制动力分配曲线,求程序代码

    matlab画函数曲线 c = 3.00e8;h = 6.63e-34;k = 1.38e-23;lambda = (1:10:5000).*1e-9; figure(1)subplot(2,1,1) ...

  7. matlab画分形minkowski,分形系列之matlab绘制koch曲线

    从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下,在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成新的图形如此迭代,形 ...

  8. matlab 三维y轴平面图,#如何在excel中绘制三维坐标系?#excel怎么画图平面坐标图...

    用excel绘制曲线图时如何进行坐标轴转换 点"插入"->"图表"->"XY图","子图表类型"选择&quo ...

  9. matlab绘制一组椭圆,在MATLAB中绘制椭圆和椭圆体

    Ellipse文章 Wikipedia有一个简单的JavaScript代码绘制椭圆. 它使用参数形式: x(theta) = a0 + ax*sin(theta) + bx*cos(theta) y( ...

最新文章

  1. 【转】android错误 aapt.exe已停止工作的解决方法
  2. 张一鸣宣布卸任字节CEO!网友:完不成OKR被优化了!
  3. c/c++文件I/O函数学习--不断补充
  4. python使用mysql
  5. ssl1762-工厂的烦恼【图论,最短路变形(最长路)】
  6. 《Apache之访问本地用户家目录》——RHEL6.3
  7. Linux服务器部署python项目
  8. 计算机网络试题及答案(史上最全)
  9. 学生每日计划表_小学生假期每天计划表 每日作息安排
  10. Hello MySQL(四)——MySQL数据库创建实例
  11. JZOJ 3337. 【NOI2013模拟】wyl8899的TLE
  12. 小程序码(getUnlimited,createQRCode)
  13. 【SoC FPGA】外设PIO按键点灯
  14. Arduino/stm32 智能小车设计(一)
  15. 交换机之间的链路聚合
  16. 发人深省 可惜你们忘了他
  17. Java知识点全面汇总
  18. 日常论文分享---持续更新中
  19. 生物信息学python脚本_Python生物信息学数据管理
  20. 清分系统层即综合中央计算机,轨道交通AFC系统介绍

热门文章

  1. 税收征收管理法律制度
  2. vfp 右键发送邮件_邮件批量发送的方法教程
  3. mysql重启电脑提示145_MYSQL错误:Can’t open file: ‘#215;#215;#215;.MYI’ (errno: 145)修复方法...
  4. java session 生命周期_JavaWeb关于session生命周期的几种设置方法
  5. 玻璃质感_素描丨零基础,你也可以画出玻璃质感
  6. 通Python实现操作 excel表格 工作效率提升百倍
  7. Python 缓冲区
  8. python一条语句分析几个常用函数和概念
  9. c语言p,用C语言实现P、V操作
  10. 对源码包打补丁方法Patch