用C語(yǔ)言畫一個(gè)圓
一、概念說明
1.1圓
在一個(gè)平面內(nèi),圍繞一個(gè)點(diǎn)并以一定長(zhǎng)度為距離旋轉(zhuǎn)一周所形成的封閉曲線叫做圓(Circle)。
圓的表達(dá)式:(x - a)² +(y - b)² = r²
a=0,b=0的情況下: x² + y² = r²
1.2圓的圖樣
僅供參考理解:
二、問題呈現(xiàn)
1.問題描述
Problem Description:
在屏幕上用字符“*”畫一個(gè)空心的圓。
2.輸入輸出
Input
無(wú)
Output
用字符“*”顯示一個(gè)空心的圓
3.測(cè)試樣例
Sample Input
無(wú)
Sample Output
三、源碼實(shí)現(xiàn)(+注釋)
#include<stdio.h> #include<stdlib.h> #include<math.h> //定義該數(shù)學(xué)函數(shù)庫(kù) 因?yàn)橐玫絪qrt函數(shù) int main(){ double y; int x,m; for(y = 10;y >= -10; y--){ //圓的半徑為10 //計(jì)算y對(duì)應(yīng)的列坐標(biāo)m,2.03是屏幕縱橫比調(diào)節(jié)系數(shù) m = 2.03 * sqrt(100-y*y); //因?yàn)槠聊坏男芯啻笥诹芯?,不進(jìn)行調(diào)節(jié)顯示出來(lái)的將是橢圓 for(x = 1;x < 30-m; x++) printf(" "); //圖形左側(cè)空白控制 printf("*"); //左半圓 for( ;x < 30+m; x++) printf(" ");//圖形空心部分控制 printf("*\n");//圓的右側(cè) } }
四、輸出結(jié)果圖示
五、簡(jiǎn)要解釋
1.實(shí)現(xiàn)關(guān)鍵
關(guān)鍵在于在屏幕上用“ * “ 畫一個(gè)空心的圓。
我們輸出圓可利用圖形的左右對(duì)稱性。 根據(jù)圓的方程:
x * x + y * y = r * r 可以計(jì)算出圓上每一點(diǎn)行和列的對(duì)應(yīng)關(guān)系。
2.小說明
? m = 2.03 * sqrt(100 - y * y);
① y就是圓的方程中的y
② y對(duì)應(yīng)的列坐標(biāo)m
③2.03是屏幕縱橫比調(diào)節(jié)系數(shù)
為什么要調(diào)節(jié)屏幕縱橫比 ? 因?yàn)樵陔娔X上,一般都是行距大于列距,例如可以聯(lián)系常見的屏幕分辨率1920x1080 1920>1080來(lái)理解。
④sqrt是math數(shù)學(xué)函數(shù)庫(kù)中的開方函數(shù)
總結(jié)
到此這篇關(guān)于用C語(yǔ)言畫一個(gè)圓的文章就介紹到這了,更多相關(guān)C語(yǔ)言圓內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入C++四種強(qiáng)制類型轉(zhuǎn)換的總結(jié)
本篇文章是對(duì)C++中四種強(qiáng)制類型轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)
在Qt中提供了QSqlTableModel模型類,它為開發(fā)者提供了一種直觀的方式來(lái)與數(shù)據(jù)庫(kù)表格進(jìn)行交互,本文就來(lái)介紹一下Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié),感興趣的可以了解一下2023-12-12C++與C#互調(diào)dll的實(shí)現(xiàn)步驟
這篇文章主要介紹了C++與C#互調(diào)dll的實(shí)現(xiàn)步驟,dll動(dòng)態(tài)鏈接庫(kù)的共享在一些大型項(xiàng)目中有一定的應(yīng)用價(jià)值,需要的朋友可以參考下2014-08-08C語(yǔ)言實(shí)現(xiàn)可增容動(dòng)態(tài)通訊錄詳細(xì)過程
這篇文章主要為大家介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易通訊錄的完整流程,此通訊錄還可以增容,并且每個(gè)環(huán)節(jié)都有完整代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-05-05使用c++實(shí)現(xiàn)OpenCV繪制旋轉(zhuǎn)矩形圖形
這篇文章主要給大家介紹了使用c++實(shí)現(xiàn)OpenCV繪制圖形旋轉(zhuǎn)矩形的方法案例,通過圖文及代碼形式進(jìn)行了詳細(xì)的描述,有需要的朋友可以參考下,希望可以有所幫助2021-08-08