Whiz Tools

Kalkulačka polomeru kruhu

Úvod

Polomer kruhu je jednou z jeho najzákladnejších vlastností. Je to vzdialenosť od stredu kruhu k akémukoľvek bodu na jeho obvode. Táto kalkulačka vám umožňuje určiť polomer kruhu na základe troch rôznych vstupných parametrov:

  1. Priemer
  2. Obvod
  3. Plocha

Poskytnutím ktorejkoľvek z týchto hodnôt môžete vypočítať polomer pomocou matematických vzťahov, ktoré sú inherentné v geometrii kruhu.

Vzorec

Polomer sa dá vypočítať z priemeru, obvodu alebo plochy pomocou nasledujúcich vzorcov:

  1. Z priemeru (dd):

    r=d2r = \frac{d}{2}
  2. Z obvodu (CC):

    r=C2πr = \frac{C}{2\pi}
  3. Z plochy (AA):

    r=Aπr = \sqrt{\frac{A}{\pi}}

Tieto vzorce sú odvodené z základných vlastností kruhu:

  • Priemer: Priemer je dvojnásobok polomeru (d=2rd = 2r).
  • Obvod: Obvod je vzdialenosť okolo kruhu (C=2πrC = 2\pi r).
  • Plocha: Plocha uzavretá kruhom (A=πr2A = \pi r^2).

Výpočet

Vypočítanie polomeru z priemeru

Pri danom priemere je polomer jednoducho jeho polovica:

r=d2r = \frac{d}{2}

Príklad:

Ak je priemer 10 jednotiek:

r=102=5 jednotiekr = \frac{10}{2} = 5 \text{ jednotiek}

Vypočítanie polomeru z obvodu

Začneme s vzorcom pre obvod:

C=2πrC = 2\pi r

Riešením pre rr:

r=C2πr = \frac{C}{2\pi}

Príklad:

Ak je obvod 31.415931.4159 jednotiek:

r=31.41592π31.41596.28325 jednotiekr = \frac{31.4159}{2\pi} \approx \frac{31.4159}{6.2832} \approx 5 \text{ jednotiek}

Vypočítanie polomeru z plochy

Začneme s vzorcom pre plochu:

A=πr2A = \pi r^2

Riešením pre rr:

r=Aπr = \sqrt{\frac{A}{\pi}}

Príklad:

Ak je plocha 78.539878.5398 štvorcových jednotiek:

r=78.5398π=78.53983.141625=5 jednotiekr = \sqrt{\frac{78.5398}{\pi}} = \sqrt{\frac{78.5398}{3.1416}} \approx \sqrt{25} = 5 \text{ jednotiek}

Okrajové prípady a overovanie vstupov

  • Nulové alebo negatívne vstupy: Kruh nemôže mať negatívny alebo nulový priemer, obvod alebo plochu. Ak sú niektoré z týchto hodnôt nulové alebo negatívne, polomer je nedefinovaný. Kalkulačka v takýchto prípadoch zobrazí chybovú správu.

  • Nekvantitatívne vstupy: Kalkulačka vyžaduje kvantitatívne vstupy. Nekvantitatívne hodnoty (napr. písmená alebo symboly) sú neplatné.

Presnosť a zaokrúhľovanie

Táto kalkulačka používa aritmetiku s dvojitou presnosťou pre výpočty. Výsledky sú zvyčajne zobrazované zaokrúhlené na štyri desatinné miesta pre väčšiu presnosť. Pri použití matematických konštánt, ako je π\pi, kalkulačka využíva plnú presnosť dostupnú v programovacom jazyku alebo prostredí. Buďte si vedomí, že aritmetika s plávajúcou desatinnou čiarkou môže v niektorých prípadoch zaviesť malé zaokrúhľovacie chyby.

Použitie

Vypočítanie polomeru kruhu je nevyhnutné v rôznych oblastiach:

Inžinierstvo a stavebníctvo

  • Navrhovanie kruhových komponentov: Inžinieri často potrebujú určiť polomer pri navrhovaní kolies, ozubených kolies, rúr alebo kupolí.

  • Architektúra: Architekti používajú polomer na navrhovanie oblúkov, kupol a kruhových budov.

Astronómia

  • Planétové orbity: Astronómovia vypočítavajú polomer planétových orbít na základe pozorovacích údajov.

  • Nebeské telesá: Určovanie veľkostí planét, hviezd a iných nebeských objektov.

Každodenné riešenie problémov

  • Umenie a dizajn: Umeleckí a dizajnoví pracovníci vypočítavajú polomer na vytvorenie kruhových vzorov a dizajnov.

  • DIY projekty: Vypočítanie materiálov potrebných na kruhové stoly, záhrady alebo fontány.

Matematika a vzdelávanie

  • Učenie geometrie: Pochopenie vlastností kruhov je základné vo vzdelávaní geometrie.

  • Riešenie problémov: Výpočty polomeru sú bežné v matematických úlohách a súťažiach.

Alternatívy

Aj keď je polomer primárnou vlastnosťou, niekedy sú iné vlastnosti kruhu pohodlnejšie na meranie priamo:

  • Meranie dĺžky chordy: Užitečné, keď máte pevné body na kruhu a potrebujete vypočítať polomer.

  • Používanie plochy sektora alebo dĺžky oblúka: V prípadoch, ktoré sa týkajú čiastkových sekcií kruhu.

História

Štúdium kruhov siaha až do starovekých civilizácií:

  • Staroveká geometria: Kruh sa študoval už od čias starovekých Egypťanov a Babylončanov.

  • Euklidove prvky: Okolo roku 300 pred n. l. Euklid definoval kruh a jeho vlastnosti vo svojom zásadnom diele Prvky.

  • Archimedes: Poskytol metódy na aproximáciu (\pi) a vypočítal plochy a objemy súvisiace s kruhmi a guľami.

  • Vývoj (\pi): Po stáročiach matematikovia ako Liu Hui, Zu Chongzhi, Aryabhata a nakoniec John Wallis a Isaac Newton zdokonalili hodnotu a pochopenie (\pi).

Polomer zostáva základným konceptom nielen v geometrii, ale aj v oblasti fyziky, inžinierstva a rôznych aplikovaných vied.

Príklady

Tu sú príklady kódu v niekoľkých programovacích jazykoch na výpočet polomeru z priemeru, obvodu a plochy.

Z priemeru

Python
## Vypočítajte polomer z priemeru
def radius_from_diameter(diameter):
    if diameter <= 0:
        raise ValueError("Priemer musí byť väčší ako nula.")
    return diameter / 2

## Príklad použitia
d = 10
r = radius_from_diameter(d)
print(f"Polomer je {r} jednotiek.")
JavaScript
// Vypočítajte polomer z priemeru
function radiusFromDiameter(diameter) {
    if (diameter <= 0) {
        throw new Error("Priemer musí byť väčší ako nula.");
    }
    return diameter / 2;
}

// Príklad použitia
let d = 10;
let r = radiusFromDiameter(d);
console.log(`Polomer je ${r} jednotiek.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromDiameter(double diameter) {
        if (diameter <= 0) {
            throw new IllegalArgumentException("Priemer musí byť väčší ako nula.");
        }
        return diameter / 2;
    }

    public static void main(String[] args) {
        double d = 10;
        double r = radiusFromDiameter(d);
        System.out.printf("Polomer je %.2f jednotiek.%n", r);
    }
}
C++
// Vypočítajte polomer z priemeru
#include <iostream>
#include <stdexcept>

double radiusFromDiameter(double diameter) {
    if (diameter <= 0) {
        throw std::invalid_argument("Priemer musí byť väčší ako nula.");
    }
    return diameter / 2.0;
}

int main() {
    double d = 10.0;
    try {
        double r = radiusFromDiameter(d);
        std::cout << "Polomer je " << r << " jednotiek." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Vypočítajte polomer z priemeru
radius_from_diameter <- function(diameter) {
  if (diameter <= 0) {
    stop("Priemer musí byť väčší ako nula.")
  }
  return(diameter / 2)
}

## Príklad použitia
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("Polomer je %.2f jednotiek.\n", r))
Ruby
## Vypočítajte polomer z priemeru
def radius_from_diameter(diameter)
  raise ArgumentError, "Priemer musí byť väčší ako nula." if diameter <= 0
  diameter / 2.0
end

## Príklad použitia
d = 10
r = radius_from_diameter(d)
puts "Polomer je #{r} jednotiek."
PHP
<?php
// Vypočítajte polomer z priemeru
function radiusFromDiameter($diameter) {
    if ($diameter <= 0) {
        throw new Exception('Priemer musí byť väčší ako nula.');
    }
    return $diameter / 2;
}

// Príklad použitia
$d = 10;
$r = radiusFromDiameter($d);
echo "Polomer je {$r} jednotiek.";
?>
Rust
// Vypočítajte polomer z priemeru
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
    if diameter <= 0.0 {
        return Err("Priemer musí byť väčší ako nula.");
    }
    Ok(diameter / 2.0)
}

fn main() {
    let d = 10.0;
    match radius_from_diameter(d) {
        Ok(r) => println!("Polomer je {:.2} jednotiek.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Vypočítajte polomer z priemeru
func radiusFromDiameter(_ diameter: Double) throws -> Double {
    if diameter <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Priemer musí byť väčší ako nula."])
    }
    return diameter / 2.0
}

// Príklad použitia
do {
    let d = 10.0
    let r = try radiusFromDiameter(d)
    print("Polomer je \(r) jednotiek.")
} catch {
    print(error.localizedDescription)
}

Z obvodu

Python
import math

## Vypočítajte polomer z obvodu
def radius_from_circumference(circumference):
    if circumference <= 0:
        raise ValueError("Obvod musí byť väčší ako nula.")
    return circumference / (2 * math.pi)

## Príklad použitia
C = 31.4159
r = radius_from_circumference(C)
print(f"Polomer je {r:.2f} jednotiek.")
JavaScript
// Vypočítajte polomer z obvodu
function radiusFromCircumference(circumference) {
    if (circumference <= 0) {
        throw new Error("Obvod musí byť väčší ako nula.");
    }
    return circumference / (2 * Math.PI);
}

// Príklad použitia
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`Polomer je ${r.toFixed(2)} jednotiek.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromCircumference(double circumference) {
        if (circumference <= 0) {
            throw new IllegalArgumentException("Obvod musí byť väčší ako nula.");
        }
        return circumference / (2 * Math.PI);
    }

    public static void main(String[] args) {
        double C = 31.4159;
        double r = radiusFromCircumference(C);
        System.out.printf("Polomer je %.2f jednotiek.%n", r);
    }
}
C++
// Vypočítajte polomer z obvodu
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromCircumference(double circumference) {
    if (circumference <= 0) {
        throw std::invalid_argument("Obvod musí byť väčší ako nula.");
    }
    return circumference / (2.0 * M_PI);
}

int main() {
    double C = 31.4159;
    try {
        double r = radiusFromCircumference(C);
        std::cout << "Polomer je " << r << " jednotiek." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Vypočítajte polomer z obvodu
radius_from_circumference <- function(circumference) {
  if (circumference <= 0) {
    stop("Obvod musí byť väčší ako nula.")
  }
  return(circumference / (2 * pi))
}

## Príklad použitia
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("Polomer je %.2f jednotiek.\n", r))
Ruby
## Vypočítajte polomer z obvodu
def radius_from_circumference(circumference)
  raise ArgumentError, "Obvod musí byť väčší ako nula." if circumference <= 0
  circumference / (2 * Math::PI)
end

## Príklad použitia
C = 31.4159
r = radius_from_circumference(C)
puts "Polomer je #{format('%.2f', r)} jednotiek."
PHP
<?php
// Vypočítajte polomer z obvodu
function radiusFromCircumference($circumference) {
    if ($circumference <= 0) {
        throw new Exception('Obvod musí byť väčší ako nula.');
    }
    return $circumference / (2 * M_PI);
}

// Príklad použitia
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "Polomer je " . round($r, 2) . " jednotiek.";
?>
Rust
use std::f64::consts::PI;

// Vypočítajte polomer z obvodu
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
    if circumference <= 0.0 {
        return Err("Obvod musí byť väčší ako nula.");
    }
    Ok(circumference / (2.0 * PI))
}

fn main() {
    let C = 31.4159;
    match radius_from_circumference(C) {
        Ok(r) => println!("Polomer je {:.2} jednotiek.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Vypočítajte polomer z obvodu
func radiusFromCircumference(_ circumference: Double) throws -> Double {
    if circumference <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Obvod musí byť väčší ako nula."])
    }
    return circumference / (2 * Double.pi)
}

// Príklad použitia
do {
    let C = 31.4159
    let r = try radiusFromCircumference(C)
    print(String(format: "Polomer je %.2f jednotiek.", r))
} catch {
    print(error.localizedDescription)
}

Z plochy

Python
import math

## Vypočítajte polomer z plochy
def radius_from_area(area):
    if area <= 0:
        raise ValueError("Plocha musí byť väčšia ako nula.")
    return math.sqrt(area / math.pi)

## Príklad použitia
A = 78.5398
r = radius_from_area(A)
print(f"Polomer je {r:.2f} jednotiek.")
JavaScript
// Vypočítajte polomer z plochy
function radiusFromArea(area) {
    if (area <= 0) {
        throw new Error("Plocha musí byť väčšia ako nula.");
    }
    return Math.sqrt(area / Math.PI);
}

// Príklad použitia
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`Polomer je ${r.toFixed(2)} jednotiek.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromArea(double area) {
        if (area <= 0) {
            throw new IllegalArgumentException("Plocha musí byť väčšia ako nula.");
        }
        return Math.sqrt(area / Math.PI);
    }

    public static void main(String[] args) {
        double A = 78.5398;
        double r = radiusFromArea(A);
        System.out.printf("Polomer je %.2f jednotiek.%n", r);
    }
}
C++
// Vypočítajte polomer z plochy
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromArea(double area) {
    if (area <= 0) {
        throw std::invalid_argument("Plocha musí byť väčšia ako nula.");
    }
    return std::sqrt(area / M_PI);
}

int main() {
    double A = 78.5398;
    try {
        double r = radiusFromArea(A);
        std::cout << "Polomer je " << r << " jednotiek." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Vypočítajte polomer z plochy
radius_from_area <- function(area) {
  if (area <= 0) {
    stop("Plocha musí byť väčšia ako nula.")
  }
  return(sqrt(area / pi))
}

## Príklad použitia
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("Polomer je %.2f jednotiek.\n", r))
MATLAB
% Vypočítajte polomer z plochy
function r = radius_from_area(area)
    if area <= 0
        error('Plocha musí byť väčšia ako nula.');
    end
    r = sqrt(area / pi);
end

% Príklad použitia
A = 78.5398;
r = radius_from_area(A);
fprintf('Polomer je %.2f jednotiek.\n', r);
C#
using System;

class CircleRadiusCalculator
{
    public static double RadiusFromArea(double area)
    {
        if (area <= 0)
            throw new ArgumentException("Plocha musí byť väčšia ako nula.");
        return Math.Sqrt(area / Math.PI);
    }

    static void Main()
    {
        double A = 78.5398;
        double r = RadiusFromArea(A);
        Console.WriteLine("Polomer je {0:F2} jednotiek.", r);
    }
}
Go
package main

import (
	"fmt"
	"math"
)

func radiusFromArea(area float64) (float64, error) {
	if area <= 0 {
		return 0, fmt.Errorf("Plocha musí byť väčšia ako 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("Polomer je %.2f jednotiek.\n", r)
}
Ruby
## Vypočítajte polomer z plochy
def radius_from_area(area)
  raise ArgumentError, "Plocha musí byť väčšia ako nula." if area <= 0
  Math.sqrt(area / Math::PI)
end

## Príklad použitia
A = 78.5398
r = radius_from_area(A)
puts "Polomer je #{format('%.2f', r)} jednotiek."
PHP
<?php
// Vypočítajte polomer z plochy
function radiusFromArea($area) {
    if ($area <= 0) {
        throw new Exception('Plocha musí byť väčšia ako nula.');
    }
    return sqrt($area / M_PI);
}

// Príklad použitia
$A = 78.5398;
$r = radiusFromArea($A);
echo "Polomer je " . round($r, 2) . " jednotiek.";
?>
Rust
use std::f64::consts::PI;

// Vypočítajte polomer z plochy
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
    if area <= 0.0 {
        return Err("Plocha musí byť väčšia ako nula.");
    }
    Ok((area / PI).sqrt())
}

fn main() {
    let A = 78.5398;
    match radius_from_area(A) {
        Ok(r) => println!("Polomer je {:.2} jednotiek.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Vypočítajte polomer z plochy
func radiusFromArea(_ area: Double) throws -> Double {
    if area <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Plocha musí byť väčšia ako nula."])
    }
    return sqrt(area / Double.pi)
}

// Príklad použitia
do {
    let A = 78.5398
    let r = try radiusFromArea(A)
    print(String(format: "Polomer je %.2f jednotiek.", r))
} catch {
    print(error.localizedDescription)
}

Excel

## Vypočítajte polomer z priemeru v bunke B1
=IF(B1>0, B1/2, "Neplatný vstup")

## Vypočítajte polomer z obvodu v bunke B2
=IF(B2>0, B2/(2*PI()), "Neplatný vstup")

## Vypočítajte polomer z plochy v bunke B3
=IF(B3>0, SQRT(B3/PI()), "Neplatný vstup")

Vizualizácia

SVG diagram ilustrujúci vzťah medzi polomerom, priemerom a obvodom:

Polomer (r) Priemer (d) Obvod (C)

Referencie

  1. Kruh - Wikipedia
  2. Obvod - Math Is Fun
  3. Plocha kruhu - Khan Academy
  4. História (\pi) - Wikipedia
Feedback