gpt4 book ai didi

linux - 在 bash 中将笛卡尔坐标转换为极坐标坐标

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:33 24 4
gpt4 key购买 nike

我们有将笛卡尔坐标转换为极坐标的作业,但我什至不知道如何开始。所以任何一点帮助都会很好。

我们必须用 bash 编写代码。这是我们得到的例子:

script.sh 256 128
Result: 286.216 1.107

我们必须插入数字作为参数,我们必须使用 bc 解释器。

http://linux.die.net/man/1/bc

最佳答案

因为这是你的作业,所以我写了你的程序,但我把它挂了进去。我的任务对你有一些好处:

  1. 你可以破解 bash。
  2. 你可以破解 awk。
  3. 你可以防止 bash 中的数学运算
  4. 你可以防止弧度/度数表达

我只是调用函数的例子,除非我完成我的程序,你会在我的程序末尾看到一些调用函数,它不是我的整个 main.write a main for it.

我的程序:

#!/bin/bash

### X and Y
export x=$1
export y=$2

####calculating r:

export r=`echo "sqrt(x*x+y*y)" |bc -l `


####Radian to Degree
r2d(){
echo "180,3.14156265358979323846,`echo $1`" |awk ' BEGIN {FS=","} { print $1/$2*$3'} ###HOOK

}
####Degree to Radian
d2r(){

echo "180,3.14156265358979323846,`echo $1`" |awk ' BEGIN {FS=","} { print $2/$1*$3'} ###HOOK
}

teta(){
if [ $x -lt 0 ];then

echo `echo "$1,$2" | awk 'BEGIN {FS=","} {print 3.14156265358979323846+atan2($2/$1,1)'}` ####HOOK
fi;

if [ $x -gt 0 ];then
echo `echo "$1,$2" | awk 'BEGIN {FS=","} {print atan2($2/$1,1)'}` ####HOOK
fi;
}

echo `r2d 2.09`
echo `d2r 120`
echo `teta $x,$y`

关于linux - 在 bash 中将笛卡尔坐标转换为极坐标坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com