C语言实现直角坐标转换为极坐标的方法

Irina ·
更新时间:2024-09-21
· 710 次阅读

本文实例讲述了C语言实现直角坐标转换为极坐标的方法。分享给大家供大家参考,具体如下:

#include<stdio.h> #include<math.h> struct complex_s{ double x,y; }; double real_part(struct complex_s z){ return z.x; } double img_part(struct complex_s z){ return z.y; } double magnitude(struct complex_s z){ return sqrt(z.x*z.x + z.y*z.y); } double angle(struct complex_s z){ return atan2(z.y, z.x); } struct complex_s make_from_real_img(double x, double y){ struct complex_s z; z.x = x; z.y = y; return z; } struct complex_s make_from_mag_ang(double r, double A){ struct complex_s z; z.x = r * cos(A); z.y = r * sin(A); return z; } struct complex_s add_complex(struct complex_s z1,struct complex_s z2){ return make_from_real_img(real_part(z1)+real_part(z2), img_part(z1) + img_part(z2)); } struct complex_s sub_complex(struct complex_s z1,struct complex_s z2){ return make_from_real_img(real_part(z1)-real_part(z2), img_part(z1) - img_part(z2)); } struct complex_s mul_complex(struct complex_s z1,struct complex_s z2){ return make_from_mag_ang(real_part(z1)*real_part(z2), img_part(z1) + img_part(z2)); } struct complex_s div_complex(struct complex_s z1,struct complex_s z2){ return make_from_mag_ang(real_part(z1)/real_part(z2), img_part(z1) + img_part(z2)); } int main(void){ struct complex_s z1 = {3.0,4.0}; struct complex_s z2= {2.0,5.0}; struct complex_s x; x = add_complex(z1,z2); printf("x={%f,%f}",x.x,x.y); return 0; }

结果:

[root@localhost struct]# ./jizuobiao.out x={5.000000,9.000000}

希望本文所述对大家C语言程序设计有所帮助。

您可能感兴趣的文章:C语言 坐标移动详解及实例代码c语言计算三角形面积代码C语言中字符的输入输出以及计算字符个数的方法详解C语言求幂计算的高效解法C语言实现计算树的深度的方法C语言中计算正弦的相关函数总结安装OpenMPI来配合C语言程序进行并行计算C语言科学计算入门之矩阵乘法的相关计算C语言简单实现计算字符个数的方法北邮计算机考研复试题的C语言解答精选C语言中计算二叉树的宽度的两种方式



极坐标 方法 坐标转换 C语言

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Genet 2020-03-11
820