Kalkulátor poloměru kruhu
Úvod
Poloměr kruhu je jednou z jeho nejzákladnějších vlastností. Je to vzdálenost od středu kruhu k libovolnému bodu na jeho obvodu. Tento kalkulátor vám umožňuje určit poloměr kruhu na základě tří různých vstupních parametrů:
- Průměr
- Obvod
- Plocha
Poskytnutím jakékoli z těchto hodnot můžete vypočítat poloměr pomocí matematických vztahů inherentních v geometrii kruhu.
Vzorec
Poloměr lze vypočítat z průměru, obvodu nebo plochy pomocí následujících vzorců:
-
Z průměru ():
-
Z obvodu ():
-
Z plochy ():
Tyto vzorce jsou odvozeny ze základních vlastností kruhu:
- Průměr: Průměr je dvojnásobek poloměru ().
- Obvod: Obvod je vzdálenost kolem kruhu ().
- Plocha: Plocha uzavřená kruhem ().
Výpočet
Výpočet poloměru z průměru
Pokud máte průměr, poloměr je jednoduše polovina z něj:
Příklad:
Pokud je průměr 10 jednotek:
Výpočet poloměru z obvodu
Začínáme s vzorcem pro obvod:
Řešení pro :
Příklad:
Pokud je obvod jednotek:
Výpočet poloměru z plochy
Začínáme s vzorcem pro plochu:
Řešení pro :
Příklad:
Pokud je plocha čtverečních jednotek:
Hraniční případy a validace vstupu
-
Nulové nebo záporné vstupy: Kruh nemůže mít záporný nebo nulový průměr, obvod nebo plochu. Pokud je některá z těchto hodnot nulová nebo záporná, poloměr je nedefinovaný. Kalkulátor v takových případech zobrazí chybovou zprávu.
-
Nekvantitativní vstupy: Kalkulátor vyžaduje kvantitativní vstupy. Nekvantitativní hodnoty (např. písmena nebo symboly) jsou neplatné.
Přesnost a zaokrouhlení
Tento kalkulátor používá aritmetiku s dvojitou přesností pro výpočty. Výsledky jsou obvykle zobrazeny zaokrouhlené na čtyři desetinná místa pro větší přesnost. Při použití matematických konstant jako kalkulátor využívá plnou přesnost dostupnou v programovacím jazyce nebo prostředí. Buďte si vědomi, že aritmetika s plovoucí desetinnou čárkou může v některých případech zavést malé zaokrouhlovací chyby.
Případové použití
Výpočet poloměru kruhu je zásadní v různých oblastech:
Inženýrství a stavebnictví
-
Navrhování kruhových komponentů: Inženýři často potřebují určit poloměr při navrhování kol, ozubených kol, trubek nebo kupolí.
-
Architektura: Architekti používají poloměr k navrhování oblouků, kupolí a kruhových budov.
Astronomie
-
Planetární orbity: Astronomové vypočítávají poloměr planetárních orbit na základě pozorovacích dat.
-
Nebeské tělesa: Určení velikostí planet, hvězd a dalších nebeských objektů.
Každodenní řešení problémů
-
Umění a design: Umělci a designéři vypočítávají poloměr pro vytváření kruhových vzorů a designů.
-
DIY projekty: Výpočet materiálů potřebných pro kruhové stoly, zahrady nebo fontány.
Matematika a vzdělávání
-
Učení geometrie: Porozumění vlastnostem kruhů je základní v geometrickém vzdělávání.
-
Řešení problémů: Výpočty poloměru jsou běžné v matematických úlohách a soutěžích.
Alternativy
I když je poloměr primární vlastností, někdy jsou jiné vlastnosti kruhu pohodlnější měřit přímo:
-
Měření délky chordy: Užitečné, když máte pevné body na kruhu a potřebujete vypočítat poloměr.
-
Použití plochy sektoru nebo délky oblouku: V případech zahrnujících částečné sekce kruhu.
Historie
Studium kruhů sahá až do starověkých civilizací:
-
Starověká geometrie: Kruh byl studován od dob starých Egypťanů a Babylonců.
-
Euklidovy prvky: Kolem roku 300 př. n. l. Euklid definoval kruh a jeho vlastnosti ve své zásadní práci Prvky.
-
Archimédés: Poskytl metody pro aproximaci (\pi) a vypočítal plochy a objemy související s kruhy a koulemi.
-
Vývoj (\pi): Během staletí matematikové jako Liu Hui, Zu Chongzhi, Aryabhata a nakonec John Wallis a Isaac Newton zdokonalili hodnotu a porozumění (\pi).
Poloměr zůstává základním konceptem nejen v geometrii, ale také v oblasti fyziky, inženýrství a různých aplikovaných věd.
Příklady
Zde jsou příklady kódu v několika programovacích jazycích pro výpočet poloměru z průměru, obvodu a plochy.
Z průměru
Python
## Vypočítat poloměr z průměru
def radius_from_diameter(diameter):
if diameter <= 0:
raise ValueError("Průměr musí být větší než nula.")
return diameter / 2
## Příklad použití
d = 10
r = radius_from_diameter(d)
print(f"Poloměr je {r} jednotek.")
JavaScript
// Vypočítat poloměr z průměru
function radiusFromDiameter(diameter) {
if (diameter <= 0) {
throw new Error("Průměr musí být větší než nula.");
}
return diameter / 2;
}
// Příklad použití
let d = 10;
let r = radiusFromDiameter(d);
console.log(`Poloměr je ${r} jednotek.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw new IllegalArgumentException("Průměr musí být větší než nula.");
}
return diameter / 2;
}
public static void main(String[] args) {
double d = 10;
double r = radiusFromDiameter(d);
System.out.printf("Poloměr je %.2f jednotek.%n", r);
}
}
C++
// Vypočítat poloměr z průměru
#include <iostream>
#include <stdexcept>
double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw std::invalid_argument("Průměr musí být větší než nula.");
}
return diameter / 2.0;
}
int main() {
double d = 10.0;
try {
double r = radiusFromDiameter(d);
std::cout << "Poloměr je " << r << " jednotek." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Vypočítat poloměr z průměru
radius_from_diameter <- function(diameter) {
if (diameter <= 0) {
stop("Průměr musí být větší než nula.")
}
return(diameter / 2)
}
## Příklad použití
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("Poloměr je %.2f jednotek.\n", r))
Ruby
## Vypočítat poloměr z průměru
def radius_from_diameter(diameter)
raise ArgumentError, "Průměr musí být větší než nula." if diameter <= 0
diameter / 2.0
end
## Příklad použití
d = 10
r = radius_from_diameter(d)
puts "Poloměr je #{r} jednotek."
PHP
<?php
// Vypočítat poloměr z průměru
function radiusFromDiameter($diameter) {
if ($diameter <= 0) {
throw new Exception('Průměr musí být větší než nula.');
}
return $diameter / 2;
}
// Příklad použití
$d = 10;
$r = radiusFromDiameter($d);
echo "Poloměr je {$r} jednotek.";
?>
Rust
// Vypočítat poloměr z průměru
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
if diameter <= 0.0 {
return Err("Průměr musí být větší než nula.");
}
Ok(diameter / 2.0)
}
fn main() {
let d = 10.0;
match radius_from_diameter(d) {
Ok(r) => println!("Poloměr je {:.2} jednotek.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Vypočítat poloměr z průměru
func radiusFromDiameter(_ diameter: Double) throws -> Double {
if diameter <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Průměr musí být větší než nula."])
}
return diameter / 2.0
}
// Příklad použití
do {
let d = 10.0
let r = try radiusFromDiameter(d)
print("Poloměr je \(r) jednotek.")
} catch {
print(error.localizedDescription)
}
Z obvodu
Python
import math
## Vypočítat poloměr z obvodu
def radius_from_circumference(circumference):
if circumference <= 0:
raise ValueError("Obvod musí být větší než nula.")
return circumference / (2 * math.pi)
## Příklad použití
C = 31.4159
r = radius_from_circumference(C)
print(f"Poloměr je {r:.2f} jednotek.")
JavaScript
// Vypočítat poloměr z obvodu
function radiusFromCircumference(circumference) {
if (circumference <= 0) {
throw new Error("Obvod musí být větší než nula.");
}
return circumference / (2 * Math.PI);
}
// Příklad použití
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`Poloměr je ${r.toFixed(2)} jednotek.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw new IllegalArgumentException("Obvod musí být větší než nula.");
}
return circumference / (2 * Math.PI);
}
public static void main(String[] args) {
double C = 31.4159;
double r = radiusFromCircumference(C);
System.out.printf("Poloměr je %.2f jednotek.%n", r);
}
}
C++
// Vypočítat poloměr z obvodu
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw std::invalid_argument("Obvod musí být větší než nula.");
}
return circumference / (2.0 * M_PI);
}
int main() {
double C = 31.4159;
try {
double r = radiusFromCircumference(C);
std::cout << "Poloměr je " << r << " jednotek." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Vypočítat poloměr z obvodu
radius_from_circumference <- function(circumference) {
if (circumference <= 0) {
stop("Obvod musí být větší než nula.")
}
return(circumference / (2 * pi))
}
## Příklad použití
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("Poloměr je %.2f jednotek.\n", r))
Ruby
## Vypočítat poloměr z obvodu
def radius_from_circumference(circumference)
raise ArgumentError, "Obvod musí být větší než nula." if circumference <= 0
circumference / (2 * Math::PI)
end
## Příklad použití
C = 31.4159
r = radius_from_circumference(C)
puts "Poloměr je #{format('%.2f', r)} jednotek."
PHP
<?php
// Vypočítat poloměr z obvodu
function radiusFromCircumference($circumference) {
if ($circumference <= 0) {
throw new Exception('Obvod musí být větší než nula.');
}
return $circumference / (2 * M_PI);
}
// Příklad použití
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "Poloměr je " . round($r, 2) . " jednotek.";
?>
Rust
use std::f64::consts::PI;
// Vypočítat poloměr z obvodu
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
if circumference <= 0.0 {
return Err("Obvod musí být větší než nula.");
}
Ok(circumference / (2.0 * PI))
}
fn main() {
let C = 31.4159;
match radius_from_circumference(C) {
Ok(r) => println!("Poloměr je {:.2} jednotek.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Vypočítat poloměr z obvodu
func radiusFromCircumference(_ circumference: Double) throws -> Double {
if circumference <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Obvod musí být větší než nula."])
}
return circumference / (2 * Double.pi)
}
// Příklad použití
do {
let C = 31.4159
let r = try radiusFromCircumference(C)
print(String(format: "Poloměr je %.2f jednotek.", r))
} catch {
print(error.localizedDescription)
}
Z plochy
Python
import math
## Vypočítat poloměr z plochy
def radius_from_area(area):
if area <= 0:
raise ValueError("Plocha musí být větší než nula.")
return math.sqrt(area / math.pi)
## Příklad použití
A = 78.5398
r = radius_from_area(A)
print(f"Poloměr je {r:.2f} jednotek.")
JavaScript
// Vypočítat poloměr z plochy
function radiusFromArea(area) {
if (area <= 0) {
throw new Error("Plocha musí být větší než nula.");
}
return Math.sqrt(area / Math.PI);
}
// Příklad použití
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`Poloměr je ${r.toFixed(2)} jednotek.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromArea(double area) {
if (area <= 0) {
throw new IllegalArgumentException("Plocha musí být větší než nula.");
}
return Math.sqrt(area / Math.PI);
}
public static void main(String[] args) {
double A = 78.5398;
double r = radiusFromArea(A);
System.out.printf("Poloměr je %.2f jednotek.%n", r);
}
}
C++
// Vypočítat poloměr z plochy
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromArea(double area) {
if (area <= 0) {
throw std::invalid_argument("Plocha musí být větší než nula.");
}
return std::sqrt(area / M_PI);
}
int main() {
double A = 78.5398;
try {
double r = radiusFromArea(A);
std::cout << "Poloměr je " << r << " jednotek." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Vypočítat poloměr z plochy
radius_from_area <- function(area) {
if (area <= 0) {
stop("Plocha musí být větší než nula.")
}
return(sqrt(area / pi))
}
## Příklad použití
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("Poloměr je %.2f jednotek.\n", r))
MATLAB
% Vypočítat poloměr z plochy
function r = radius_from_area(area)
if area <= 0
error('Plocha musí být větší než nula.');
end
r = sqrt(area / pi);
end
% Příklad použití
A = 78.5398;
r = radius_from_area(A);
fprintf('Poloměr je %.2f jednotek.\n', r);
C#
using System;
class CircleRadiusCalculator
{
public static double RadiusFromArea(double area)
{
if (area <= 0)
throw new ArgumentException("Plocha musí být větší než nula.");
return Math.Sqrt(area / Math.PI);
}
static void Main()
{
double A = 78.5398;
double r = RadiusFromArea(A);
Console.WriteLine("Poloměr je {0:F2} jednotek.", r);
}
}
Go
package main
import (
"fmt"
"math"
)
func radiusFromArea(area float64) (float64, error) {
if area <= 0 {
return 0, fmt.Errorf("Plocha musí být větší než nula.")
}
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("Poloměr je %.2f jednotek.\n", r)
}
Ruby
## Vypočítat poloměr z plochy
def radius_from_area(area)
raise ArgumentError, "Plocha musí být větší než nula." if area <= 0
Math.sqrt(area / Math::PI)
end
## Příklad použití
A = 78.5398
r = radius_from_area(A)
puts "Poloměr je #{format('%.2f', r)} jednotek."
PHP
<?php
// Vypočítat poloměr z plochy
function radiusFromArea($area) {
if ($area <= 0) {
throw new Exception('Plocha musí být větší než nula.');
}
return sqrt($area / M_PI);
}
// Příklad použití
$A = 78.5398;
$r = radiusFromArea($A);
echo "Poloměr je " . round($r, 2) . " jednotek.";
?>
Rust
use std::f64::consts::PI;
// Vypočítat poloměr z plochy
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
if area <= 0.0 {
return Err("Plocha musí být větší než nula.");
}
Ok((area / PI).sqrt())
}
fn main() {
let A = 78.5398;
match radius_from_area(A) {
Ok(r) => println!("Poloměr je {:.2} jednotek.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Vypočítat poloměr z plochy
func radiusFromArea(_ area: Double) throws -> Double {
if area <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Plocha musí být větší než nula."])
}
return sqrt(area / Double.pi)
}
// Příklad použití
do {
let A = 78.5398
let r = try radiusFromArea(A)
print(String(format: "Poloměr je %.2f jednotek.", r))
} catch {
print(error.localizedDescription)
}
Excel
## Vypočítat poloměr z průměru v buňce B1
=IF(B1>0, B1/2, "Neplatný vstup")
## Vypočítat poloměr z obvodu v buňce B2
=IF(B2>0, B2/(2*PI()), "Neplatný vstup")
## Vypočítat poloměr z plochy v buňce B3
=IF(B3>0, SQRT(B3/PI()), "Neplatný vstup")
Vizualizace
SVG diagram ilustrující vztah mezi poloměrem, průměrem a obvodem:
Odkazy
- Kruh - Wikipedia
- Obvod - Math Is Fun
- Plocha kruhu - Khan Academy
- Historie (\pi) - Wikipedia