เครื่องคำนวณรัศมีของวงกลม
บทนำ
รัศมี ของวงกลมเป็นหนึ่งในคุณสมบัติพื้นฐานที่สุดของมัน มันคือระยะทางจากจุดศูนย์กลางของวงกลมไปยังจุดใด ๆ บนเส้นรอบวง เครื่องคำนวณนี้ช่วยให้คุณสามารถกำหนดรัศมีของวงกลมได้จาก สาม พารามิเตอร์การป้อนข้อมูลที่แตกต่างกัน:
- เส้นผ่านศูนย์กลาง
- เส้นรอบวง
- พื้นที่
โดยการให้ค่าหนึ่งในค่าดังกล่าว คุณสามารถคำนวณรัศมีโดยใช้ความสัมพันธ์ทางคณิตศาสตร์ที่มีอยู่ในเรขาคณิตของวงกลม
สูตร
รัศมีสามารถคำนวณจากเส้นผ่านศูนย์กลาง เส้นรอบวง หรือพื้นที่โดยใช้สูตรต่อไปนี้:
-
จากเส้นผ่านศูนย์กลาง ():
-
จากเส้นรอบวง ():
-
จากพื้นที่ ():
สูตรเหล่านี้ได้แก่จากคุณสมบัติพื้นฐานของวงกลม:
- เส้นผ่านศูนย์กลาง: เส้นผ่านศูนย์กลางคือสองเท่าของรัศมี ().
- เส้นรอบวง: เส้นรอบวงคือระยะทางรอบวงกลม ().
- พื้นที่: พื้นที่ที่ถูกล้อมรอบโดยวงกลม ().
การคำนวณ
การคำนวณรัศมีจากเส้นผ่านศูนย์กลาง
เมื่อให้เส้นผ่านศูนย์กลาง รัศมีจะเท่ากับครึ่งหนึ่งของมัน:
ตัวอย่าง:
หากเส้นผ่านศูนย์กลางเป็น 10 หน่วย:
การคำนวณรัศมีจากเส้นรอบวง
เริ่มต้นด้วยสูตรเส้นรอบวง:
แก้ไขสำหรับ :
ตัวอย่าง:
หากเส้นรอบวงเป็น หน่วย:
การคำนวณรัศมีจากพื้นที่
เริ่มต้นด้วยสูตรพื้นที่:
แก้ไขสำหรับ :
ตัวอย่าง:
หากพื้นที่เป็น ตารางหน่วย:
กรณีขอบและการตรวจสอบข้อมูลนำเข้า
-
ข้อมูลนำเข้าศูนย์หรือเชิงลบ: วงกลมไม่สามารถมีเส้นผ่านศูนย์กลาง เส้นรอบวง หรือพื้นที่ที่เป็นลบหรือศูนย์ หากค่าหนึ่งในนี้เป็นศูนย์หรือเชิงลบ รัศมีจะไม่สามารถกำหนดได้ เครื่องคำนวณจะแสดงข้อความแสดงข้อผิดพลาดในกรณีดังกล่าว
-
ข้อมูลนำเข้าที่ไม่ใช่ตัวเลข: เครื่องคำนวณต้องการข้อมูลนำเข้าที่เป็นตัวเลข ค่าไม่ใช่ตัวเลข (เช่น ตัวอักษรหรือสัญลักษณ์) จะถือว่าไม่ถูกต้อง
ความแม่นยำและการปัดเศษ
เครื่องคำนวณนี้ใช้การคำนวณด้วยเลขทศนิยมความแม่นยำสูงสำหรับการคำนวณ ผลลัพธ์จะถูกแสดงโดยปกติแล้วจะปัดเศษเป็น สี่ ตำแหน่งทศนิยมเพื่อความแม่นยำที่มากขึ้น เมื่อใช้ค่าคงที่ทางคณิตศาสตร์เช่น เครื่องคำนวณจะใช้ความแม่นยำเต็มที่ในภาษาหรือสภาพแวดล้อมการเขียนโปรแกรม โปรดทราบว่าการคำนวณด้วยเลขทศนิยมอาจทำให้เกิดข้อผิดพลาดเล็กน้อยในการปัดเศษในบางกรณี
กรณีการใช้งาน
การคำนวณรัศมีของวงกลมเป็นสิ่งจำเป็นในหลายสาขา:
วิศวกรรมและการก่อสร้าง
-
การออกแบบส่วนประกอบวงกลม: วิศวกรมักต้องการกำหนดรัศมีเมื่อออกแบบล้อ เกียร์ ท่อ หรือโดม
-
สถาปัตยกรรม: สถาปนิกใช้รัศมีในการออกแบบโค้ง โดม และอาคารกลม
ดาราศาสตร์
-
วงโคจรของดาวเคราะห์: นักดาราศาสตร์คำนวณรัศมีของวงโคจรของดาวเคราะห์ตามข้อมูลการสังเกต
-
วัตถุท้องฟ้า: การกำหนดขนาดของดาวเคราะห์ ดาวฤกษ์ และวัตถุท้องฟ้าอื่น ๆ
การแก้ปัญหาประจำวัน
-
ศิลปะและการออกแบบ: ศิลปินและนักออกแบบคำนวณรัศมีเพื่อสร้างรูปแบบและการออกแบบวงกลม
-
โครงการ DIY: การคำนวณวัสดุที่จำเป็นสำหรับโต๊ะ สวน หรือบ่อน้ำกลม
คณิตศาสตร์และการศึกษา
-
การเรียนรู้เรขาคณิต: การเข้าใจคุณสมบัติของวงกลมเป็นพื้นฐานในด้านการศึกษาเรขาคณิต
-
การแก้ปัญหา: การคำนวณรัศมีเป็นเรื่องปกติในปัญหาทางคณิตศาสตร์และการแข่งขัน
ทางเลือก
ในขณะที่รัศมีเป็นคุณสมบัติหลัก บางครั้งคุณสมบัติอื่น ๆ ของวงกลมอาจสะดวกกว่าในการวัดโดยตรง:
-
การวัดความยาวของเส้นโค้ง: มีประโยชน์เมื่อคุณมีจุดที่แน่นอนบนวงกลมและต้องการคำนวณรัศมี
-
การใช้พื้นที่ส่วนหรือความยาวของเส้นโค้ง: ในกรณีที่เกี่ยวข้องกับส่วนที่เป็นบางส่วนของวงกลม
ประวัติศาสตร์
การศึกษาเกี่ยวกับวงกลมมีมาตั้งแต่สมัยโบราณ:
-
เรขาคณิตโบราณ: วงกลมได้รับการศึกษาแล้วตั้งแต่สมัยของชาวอียิปต์และชาวบาบิโลน
-
องค์ประกอบของยูคลิด: ประมาณ 300 ปีก่อนคริสต์ศักราช ยูคลิดได้กำหนดวงกลมและคุณสมบัติของมันในงานที่สำคัญของเขา องค์ประกอบ
-
อาร์คิมิดีส: ให้วิธีการประมาณค่า (\pi) และคำนวณพื้นที่และปริมาตรที่เกี่ยวข้องกับวงกลมและทรงกลม
-
การพัฒนาของ (\pi): ตลอดหลายศตวรรษ นักคณิตศาสตร์เช่น หลิว ฮุ่ย, จู ชงจื้อ, อารยภา และในที่สุด จอห์น วอลลิสและไอแซค นิวตัน ได้ปรับปรุงค่าและความเข้าใจเกี่ยวกับ (\pi)
รัศมียังคงเป็นแนวคิดพื้นฐานไม่เพียงแต่ในเรขาคณิต แต่ยังรวมถึงฟิสิกส์ วิศวกรรม และวิทยาศาสตร์ประยุกต์ต่าง ๆ
ตัวอย่าง
นี่คือตัวอย่างโค้ดในหลายภาษาโปรแกรมเพื่อคำนวณรัศมีจากเส้นผ่านศูนย์กลาง เส้นรอบวง และพื้นที่
จากเส้นผ่านศูนย์กลาง
Python
## คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
def radius_from_diameter(diameter):
if diameter <= 0:
raise ValueError("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.")
return diameter / 2
## ตัวอย่างการใช้งาน
d = 10
r = radius_from_diameter(d)
print(f"รัศมีคือ {r} หน่วย.")
JavaScript
// คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
function radiusFromDiameter(diameter) {
if (diameter <= 0) {
throw new Error("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.");
}
return diameter / 2;
}
// ตัวอย่างการใช้งาน
let d = 10;
let r = radiusFromDiameter(d);
console.log(`รัศมีคือ ${r} หน่วย.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw new IllegalArgumentException("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.");
}
return diameter / 2;
}
public static void main(String[] args) {
double d = 10;
double r = radiusFromDiameter(d);
System.out.printf("รัศมีคือ %.2f หน่วย.%n", r);
}
}
C++
// คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
#include <iostream>
#include <stdexcept>
double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw std::invalid_argument("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.");
}
return diameter / 2.0;
}
int main() {
double d = 10.0;
try {
double r = radiusFromDiameter(d);
std::cout << "รัศมีคือ " << r << " หน่วย." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
radius_from_diameter <- function(diameter) {
if (diameter <= 0) {
stop("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.")
}
return(diameter / 2)
}
## ตัวอย่างการใช้งาน
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("รัศมีคือ %.2f หน่วย.\n", r))
Ruby
## คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
def radius_from_diameter(diameter)
raise ArgumentError, "เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์." if diameter <= 0
diameter / 2.0
end
## ตัวอย่างการใช้งาน
d = 10
r = radius_from_diameter(d)
puts "รัศมีคือ #{r} หน่วย."
PHP
<?php
// คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
function radiusFromDiameter($diameter) {
if ($diameter <= 0) {
throw new Exception('เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.');
}
return $diameter / 2;
}
// ตัวอย่างการใช้งาน
$d = 10;
$r = radiusFromDiameter($d);
echo "รัศมีคือ {$r} หน่วย.";
?>
Rust
// คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
if diameter <= 0.0 {
return Err("เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์.");
}
Ok(diameter / 2.0)
}
fn main() {
let d = 10.0;
match radius_from_diameter(d) {
Ok(r) => println!("รัศมีคือ {:.2} หน่วย.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// คำนวณรัศมีจากเส้นผ่านศูนย์กลาง
func radiusFromDiameter(_ diameter: Double) throws -> Double {
if diameter <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "เส้นผ่านศูนย์กลางต้องมากกว่าศูนย์."])
}
return diameter / 2.0
}
// ตัวอย่างการใช้งาน
do {
let d = 10.0
let r = try radiusFromDiameter(d)
print("รัศมีคือ \(r) หน่วย.")
} catch {
print(error.localizedDescription)
}
จากเส้นรอบวง
Python
import math
## คำนวณรัศมีจากเส้นรอบวง
def radius_from_circumference(circumference):
if circumference <= 0:
raise ValueError("เส้นรอบวงต้องมากกว่าศูนย์.")
return circumference / (2 * math.pi)
## ตัวอย่างการใช้งาน
C = 31.4159
r = radius_from_circumference(C)
print(f"รัศมีคือ {r:.2f} หน่วย.")
JavaScript
// คำนวณรัศมีจากเส้นรอบวง
function radiusFromCircumference(circumference) {
if (circumference <= 0) {
throw new Error("เส้นรอบวงต้องมากกว่าศูนย์.");
}
return circumference / (2 * Math.PI);
}
// ตัวอย่างการใช้งาน
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`รัศมีคือ ${r.toFixed(2)} หน่วย.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw new IllegalArgumentException("เส้นรอบวงต้องมากกว่าศูนย์.");
}
return circumference / (2 * Math.PI);
}
public static void main(String[] args) {
double C = 31.4159;
double r = radiusFromCircumference(C);
System.out.printf("รัศมีคือ %.2f หน่วย.%n", r);
}
}
C++
// คำนวณรัศมีจากเส้นรอบวง
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw std::invalid_argument("เส้นรอบวงต้องมากกว่าศูนย์.");
}
return circumference / (2.0 * M_PI);
}
int main() {
double C = 31.4159;
try {
double r = radiusFromCircumference(C);
std::cout << "รัศมีคือ " << r << " หน่วย." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## คำนวณรัศมีจากเส้นรอบวง
radius_from_circumference <- function(circumference) {
if (circumference <= 0) {
stop("เส้นรอบวงต้องมากกว่าศูนย์.")
}
return(circumference / (2 * pi))
}
## ตัวอย่างการใช้งาน
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("รัศมีคือ %.2f หน่วย.\n", r))
Ruby
## คำนวณรัศมีจากเส้นรอบวง
def radius_from_circumference(circumference)
raise ArgumentError, "เส้นรอบวงต้องมากกว่าศูนย์." if circumference <= 0
circumference / (2 * Math::PI)
end
## ตัวอย่างการใช้งาน
C = 31.4159
r = radius_from_circumference(C)
puts "รัศมีคือ #{format('%.2f', r)} หน่วย."
PHP
<?php
// คำนวณรัศมีจากเส้นรอบวง
function radiusFromCircumference($circumference) {
if ($circumference <= 0) {
throw new Exception('เส้นรอบวงต้องมากกว่าศูนย์.');
}
return $circumference / (2 * M_PI);
}
// ตัวอย่างการใช้งาน
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "รัศมีคือ " . round($r, 2) . " หน่วย.";
?>
Rust
use std::f64::consts::PI;
// คำนวณรัศมีจากเส้นรอบวง
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
if circumference <= 0.0 {
return Err("เส้นรอบวงต้องมากกว่าศูนย์.");
}
Ok(circumference / (2.0 * PI))
}
fn main() {
let C = 31.4159;
match radius_from_circumference(C) {
Ok(r) => println!("รัศมีคือ {:.2} หน่วย.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// คำนวณรัศมีจากเส้นรอบวง
func radiusFromCircumference(_ circumference: Double) throws -> Double {
if circumference <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "เส้นรอบวงต้องมากกว่าศูนย์."])
}
return circumference / (2 * Double.pi)
}
// ตัวอย่างการใช้งาน
do {
let C = 31.4159
let r = try radiusFromCircumference(C)
print(String(format: "รัศมีคือ %.2f หน่วย.", r))
} catch {
print(error.localizedDescription)
}
จากพื้นที่
Python
import math
## คำนวณรัศมีจากพื้นที่
def radius_from_area(area):
if area <= 0:
raise ValueError("พื้นที่ต้องมากกว่าศูนย์.")
return math.sqrt(area / math.pi)
## ตัวอย่างการใช้งาน
A = 78.5398
r = radius_from_area(A)
print(f"รัศมีคือ {r:.2f} หน่วย.")
JavaScript
// คำนวณรัศมีจากพื้นที่
function radiusFromArea(area) {
if (area <= 0) {
throw new Error("พื้นที่ต้องมากกว่าศูนย์.");
}
return Math.sqrt(area / Math.PI);
}
// ตัวอย่างการใช้งาน
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`รัศมีคือ ${r.toFixed(2)} หน่วย.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromArea(double area) {
if (area <= 0) {
throw new IllegalArgumentException("พื้นที่ต้องมากกว่าศูนย์.");
}
return Math.sqrt(area / Math.PI);
}
public static void main(String[] args) {
double A = 78.5398;
double r = radiusFromArea(A);
System.out.printf("รัศมีคือ %.2f หน่วย.%n", r);
}
}
C++
// คำนวณรัศมีจากพื้นที่
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromArea(double area) {
if (area <= 0) {
throw std::invalid_argument("พื้นที่ต้องมากกว่าศูนย์.");
}
return std::sqrt(area / M_PI);
}
int main() {
double A = 78.5398;
try {
double r = radiusFromArea(A);
std::cout << "รัศมีคือ " << r << " หน่วย." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## คำนวณรัศมีจากพื้นที่
radius_from_area <- function(area) {
if (area <= 0) {
stop("พื้นที่ต้องมากกว่าศูนย์.")
}
return(sqrt(area / pi))
}
## ตัวอย่างการใช้งาน
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("รัศมีคือ %.2f หน่วย.\n", r))
MATLAB
% คำนวณรัศมีจากพื้นที่
function r = radius_from_area(area)
if area <= 0
error('พื้นที่ต้องมากกว่าศูนย์.');
end
r = sqrt(area / pi);
end
% ตัวอย่างการใช้งาน
A = 78.5398;
r = radius_from_area(A);
fprintf('รัศมีคือ %.2f หน่วย.\n', r);
C#
using System;
class CircleRadiusCalculator
{
public static double RadiusFromArea(double area)
{
if (area <= 0)
throw new ArgumentException("พื้นที่ต้องมากกว่าศูนย์.");
return Math.Sqrt(area / Math.PI);
}
static void Main()
{
double A = 78.5398;
double r = RadiusFromArea(A);
Console.WriteLine("รัศมีคือ {0:F2} หน่วย.", r);
}
}
Go
package main
import (
"fmt"
"math"
)
func radiusFromArea(area float64) (float64, error) {
if area <= 0 {
return 0, fmt.Errorf("พื้นที่ต้องมากกว่าศูนย์.")
}
return math.Sqrt(area / math.Pi), nil
}
func main() {
A := 78.5398
r, err := radiusFromArea(A)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("รัศมีคือ %.2f หน่วย.\n", r)
}
Ruby
## คำนวณรัศมีจากพื้นที่
def radius_from_area(area)
raise ArgumentError, "พื้นที่ต้องมากกว่าศูนย์." if area <= 0
Math.sqrt(area / Math::PI)
end
## ตัวอย่างการใช้งาน
A = 78.5398
r = radius_from_area(A)
puts "รัศมีคือ #{format('%.2f', r)} หน่วย."
PHP
<?php
// คำนวณรัศมีจากพื้นที่
function radiusFromArea($area) {
if ($area <= 0) {
throw new Exception('พื้นที่ต้องมากกว่าศูนย์.');
}
return sqrt($area / M_PI);
}
// ตัวอย่างการใช้งาน
$A = 78.5398;
$r = radiusFromArea($A);
echo "รัศมีคือ " . round($r, 2) . " หน่วย.";
?>
Rust
use std::f64::consts::PI;
// คำนวณรัศมีจากพื้นที่
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
if area <= 0.0 {
return Err("พื้นที่ต้องมากกว่าศูนย์.");
}
Ok((area / PI).sqrt())
}
fn main() {
let A = 78.5398;
match radius_from_area(A) {
Ok(r) => println!("รัศมีคือ {:.2} หน่วย.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// คำนวณรัศมีจากพื้นที่
func radiusFromArea(_ area: Double) throws -> Double {
if area <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "พื้นที่ต้องมากกว่าศูนย์."])
}
return sqrt(area / Double.pi)
}
// ตัวอย่างการใช้งาน
do {
let A = 78.5398
let r = try radiusFromArea(A)
print(String(format: "รัศมีคือ %.2f หน่วย.", r))
} catch {
print(error.localizedDescription)
}
Excel
## คำนวณรัศมีจากเส้นผ่านศูนย์กลางในเซลล์ B1
=IF(B1>0, B1/2, "ข้อมูลไม่ถูกต้อง")
## คำนวณรัศมีจากเส้นรอบวงในเซลล์ B2
=IF(B2>0, B2/(2*PI()), "ข้อมูลไม่ถูกต้อง")
## คำนวณรัศมีจากพื้นที่ในเซลล์ B3
=IF(B3>0, SQRT(B3/PI()), "ข้อมูลไม่ถูกต้อง")
การมองเห็น
แผนภาพ SVG ที่แสดงความสัมพันธ์ระหว่างรัศมี เส้นผ่านศูนย์กลาง และเส้นรอบวง:
อ้างอิง
- วงกลม - วิกิพีเดีย
- เส้นรอบวง - Math Is Fun
- พื้นที่ของวงกลม - Khan Academy
- ประวัติของ (\pi) - วิกิพีเดีย