早教吧作业答案频道 -->数学-->
关于最小包围圆问题我还想请教一下:1.主函数的两个参数有什么用?2.程序中距离圆心最远的点程序中好像程序判断点是否在圆内,如果不在,则用圆上两点和圆外的点重新求最小圆,并不是用
题目详情
关于最小包围圆问题我还想请教一下:1.主函数的两个参数有什么用?2.程序中距离圆心最远的点程序中好像
程序判断点是否在圆内,如果不在,则用圆上两点和圆外的点重新求最小圆,并不是用距离圆心最远的点去判断是否在圆内并求最小圆啊.
程序判断点是否在圆内,如果不在,则用圆上两点和圆外的点重新求最小圆,并不是用距离圆心最远的点去判断是否在圆内并求最小圆啊.
▼优质解答
答案和解析
1.
主函数的参数本程序并没有使用,但是这个main的参数在C语言中是有约定的,假设你编写的程序叫做circle,那么当你运行circle 100 5的时候,main会得到argc=3(代表参数的个数,第一个参数是程序名),而argv是一个字符串指针的数组,值分别为:
argv[0]="circle" //程序名
argv[1]="100" 第一个参数
argv[2]="5" 第二个参数
这两个参数主要用于程序获得命令行的参数.
2.
我给你的参考实现里的确像你说的,并没有求圆心外距离最大的点.因为即使不求最远的,也能保证这个过程最终是收敛的,因为包含圆外一点和圆上两点的新圆肯定比原来的大,而点的个数是有限的,所以最终总能得到一个最大的圆.你可以针对这个做出优化,
有时候会存在半径相同,圆心不同的多个解,本程序只能求出其中一种.
给定如下四个点,就存在两个符合条件的最小圆,他们的半径相同,但是圆心不同:
(1·,0),(0,1) (0,0) (1.1,1.1)这四个点,有两组解
The circle's center is [0.600000,0.500000],radius is 0.781025
The circle's center is [0.500000,0.600000],radius is 0.781025
主函数的参数本程序并没有使用,但是这个main的参数在C语言中是有约定的,假设你编写的程序叫做circle,那么当你运行circle 100 5的时候,main会得到argc=3(代表参数的个数,第一个参数是程序名),而argv是一个字符串指针的数组,值分别为:
argv[0]="circle" //程序名
argv[1]="100" 第一个参数
argv[2]="5" 第二个参数
这两个参数主要用于程序获得命令行的参数.
2.
我给你的参考实现里的确像你说的,并没有求圆心外距离最大的点.因为即使不求最远的,也能保证这个过程最终是收敛的,因为包含圆外一点和圆上两点的新圆肯定比原来的大,而点的个数是有限的,所以最终总能得到一个最大的圆.你可以针对这个做出优化,
有时候会存在半径相同,圆心不同的多个解,本程序只能求出其中一种.
给定如下四个点,就存在两个符合条件的最小圆,他们的半径相同,但是圆心不同:
(1·,0),(0,1) (0,0) (1.1,1.1)这四个点,有两组解
The circle's center is [0.600000,0.500000],radius is 0.781025
The circle's center is [0.500000,0.600000],radius is 0.781025
看了 关于最小包围圆问题我还想请教...的网友还看了以下:
回奶最快的中药配方 俗称最简单的回奶中药配方 2020-03-28 …
关于快排的中心思想快速排序的中心思想是什么?例如:541,132,984,746,518,181, 2020-04-07 …
读辽中南工业基地图,完成下列问题。(6分)(1)该工业基地中,服务范围最广、级别最高的中心城市是。 2020-05-02 …
一个三角形,不是等腰.记这个三角形最长边的长度为a,最长的中线为c,最高的长度为b,请写出它们的大 2020-05-13 …
世界上笔画最多的汉字是什么?最多的,中日等国都可以 2020-05-13 …
最近的中国经济新闻因为最近要做政治课前新闻播报,需要三条最近的经济类新闻!不要太长 简短一点的 2020-05-16 …
系统中有多个中断同时发生时,系统将根据中断优先级来响应优先级最高的中断请求。若要调整中断事件 2020-05-23 …
在计算机中断处理中,如果多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。但是 2020-05-24 …
如果多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求,若调整中断事件的响应次序 2020-05-24 …
如果多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。若调整中断事件的响应次序 2020-05-24 …