Kalkulator polumjera kruga
Uvod
Polumjer kruga je jedna od njegovih najosnovnijih osobina. To je udaljenost od središta kruga do bilo koje točke na njegovoj obodu. Ovaj kalkulator vam omogućuje da odredite polumjer kruga na temelju tri različita ulazna parametra:
- Promjer
- Opseg
- Površina
Dajući bilo koju od ovih vrijednosti, možete izračunati polumjer koristeći matematičke odnose svojstvene geometriji kruga.
Formula
Polumjer se može izračunati iz promjera, opsega ili površine koristeći sljedeće formule:
-
Iz promjera ():
-
Iz opsega ():
-
Iz površine ():
Ove formule su izvedene iz osnovnih svojstava kruga:
- Promjer: Promjer je dvostruko veći od polumjera ().
- Opseg: Opseg je udaljenost oko kruga ().
- Površina: Površina koju okružuje krug ().
Izračun
Izračunavanje polumjera iz promjera
Dajući promjer, polumjer je jednostavno polovina promjera:
Primjer:
Ako je promjer 10 jedinica:
Izračunavanje polumjera iz opsega
Počevši od formule za opseg:
Rješavanje za :
Primjer:
Ako je opseg jedinica:
Izračunavanje polumjera iz površine
Počevši od formule za površinu:
Rješavanje za :
Primjer:
Ako je površina kvadratnih jedinica:
Rubni slučajevi i validacija ulaza
-
Nulti ili negativni ulazi: Krug ne može imati negativan ili nulti promjer, opseg ili površinu. Ako je bilo koja od ovih vrijednosti nula ili negativna, polumjer je neodređen. Kalkulator će prikazati poruku o grešci u takvim slučajevima.
-
Nenumerički ulazi: Kalkulator zahtijeva numeričke ulaze. Nenumeričke vrijednosti (npr. slova ili simboli) su nevažeće.
Preciznost i zaokruživanje
Ovaj kalkulator koristi aritmetiku s dvostrukom preciznošću za izračune. Rezultati se obično prikazuju zaokruženi na četiri decimalna mjesta radi veće točnosti. Kada se koriste matematičke konstante poput , kalkulator koristi punu preciznost dostupnu u programskom jeziku ili okruženju. Budite svjesni da aritmetika s pomičnim zarezom može u nekim slučajevima uvesti male pogreške u zaokruživanju.
Upotrebe
Izračunavanje polumjera kruga je ključno u raznim područjima:
Inženjerstvo i građevinarstvo
-
Dizajniranje kružnih komponenti: Inženjeri često trebaju odrediti polumjer prilikom dizajniranja kotača, zupčanika, cijevi ili kupola.
-
Arhitektura: Arhitekti koriste polumjer za dizajn lukova, kupola i kružnih zgrada.
Astronomija
-
Planetarne orbite: Astronomi izračunavaju polumjer planetarnih orbita na temelju opservacijskih podataka.
-
Nebeska tijela: Određivanje veličina planeta, zvijezda i drugih nebeskih objekata.
Svakodnevno rješavanje problema
-
Umjetnost i dizajn: Umjetnici i dizajneri izračunavaju polumjer za stvaranje kružnih uzoraka i dizajna.
-
DIY projekti: Izračunavanje potrebnih materijala za kružne stolove, vrtove ili fontane.
Matematika i obrazovanje
-
Učenje geometrije: Razumijevanje svojstava krugova je temeljno u obrazovanju iz geometrije.
-
Rješavanje problema: Izračuni polumjera su uobičajeni u matematičkim problemima i natjecanjima.
Alternative
Iako je polumjer primarna osobina, ponekad su druge osobine kruga prikladnije za izravno mjerenje:
-
Mjerenje duljine tetive: Korisno kada imate fiksne točke na krugu i trebate izračunati polumjer.
-
Korištenje površine sektora ili duljine luka: U slučajevima koji uključuju djelomične dijelove kruga.
Povijest
Studija krugova datira još iz drevnih civilizacija:
-
Drevna geometrija: Krug se proučavao još od vremena drevnih Egipćana i Babilonaca.
-
Euklidovi elementi: Oko 300. godine prije Krista, Euklid je definirao krug i njegova svojstva u svom znamenitom djelu, Elementi.
-
Arhimed: Pružio je metode za aproksimaciju (\pi) i izračunao površine i volumene povezane s krugovima i kuglama.
-
Razvoj (\pi): Tijekom stoljeća, matematičari poput Liu Huija, Zu Chongzhija, Aryabhate, a na kraju John Wallisa i Isaaca Newtona usavršili su vrijednost i razumijevanje (\pi).
Polumjer ostaje temeljni koncept ne samo u geometriji, već i u fizici, inženjerstvu i raznim primijenjenim znanostima.
Primjeri
Evo primjera koda na više programskih jezika za izračunavanje polumjera iz promjera, opsega i površine.
Iz promjera
Python
## Izračunaj polumjer iz promjera
def radius_from_diameter(diameter):
if diameter <= 0:
raise ValueError("Promjer mora biti veći od nule.")
return diameter / 2
## Primjer korištenja
d = 10
r = radius_from_diameter(d)
print(f"Polumjer je {r} jedinica.")
JavaScript
// Izračunaj polumjer iz promjera
function radiusFromDiameter(diameter) {
if (diameter <= 0) {
throw new Error("Promjer mora biti veći od nule.");
}
return diameter / 2;
}
// Primjer korištenja
let d = 10;
let r = radiusFromDiameter(d);
console.log(`Polumjer je ${r} jedinica.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw new IllegalArgumentException("Promjer mora biti veći od nule.");
}
return diameter / 2;
}
public static void main(String[] args) {
double d = 10;
double r = radiusFromDiameter(d);
System.out.printf("Polumjer je %.2f jedinica.%n", r);
}
}
C++
// Izračunaj polumjer iz promjera
#include <iostream>
#include <stdexcept>
double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw std::invalid_argument("Promjer mora biti veći od nule.");
}
return diameter / 2.0;
}
int main() {
double d = 10.0;
try {
double r = radiusFromDiameter(d);
std::cout << "Polumjer je " << r << " jedinica." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Izračunaj polumjer iz promjera
radius_from_diameter <- function(diameter) {
if (diameter <= 0) {
stop("Promjer mora biti veći od nule.")
}
return(diameter / 2)
}
## Primjer korištenja
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("Polumjer je %.2f jedinica.\n", r))
Ruby
## Izračunaj polumjer iz promjera
def radius_from_diameter(diameter)
raise ArgumentError, "Promjer mora biti veći od nule." if diameter <= 0
diameter / 2.0
end
## Primjer korištenja
d = 10
r = radius_from_diameter(d)
puts "Polumjer je #{r} jedinica."
PHP
<?php
// Izračunaj polumjer iz promjera
function radiusFromDiameter($diameter) {
if ($diameter <= 0) {
throw new Exception('Promjer mora biti veći od nule.');
}
return $diameter / 2;
}
// Primjer korištenja
$d = 10;
$r = radiusFromDiameter($d);
echo "Polumjer je {$r} jedinica.";
?>
Rust
// Izračunaj polumjer iz promjera
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
if diameter <= 0.0 {
return Err("Promjer mora biti veći od nule.");
}
Ok(diameter / 2.0)
}
fn main() {
let d = 10.0;
match radius_from_diameter(d) {
Ok(r) => println!("Polumjer je {:.2} jedinica.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Izračunaj polumjer iz promjera
func radiusFromDiameter(_ diameter: Double) throws -> Double {
if diameter <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Promjer mora biti veći od nule."])
}
return diameter / 2.0
}
// Primjer korištenja
do {
let d = 10.0
let r = try radiusFromDiameter(d)
print("Polumjer je \(r) jedinica.")
} catch {
print(error.localizedDescription)
}
Iz opsega
Python
import math
## Izračunaj polumjer iz opsega
def radius_from_circumference(circumference):
if circumference <= 0:
raise ValueError("Opseg mora biti veći od nule.")
return circumference / (2 * math.pi)
## Primjer korištenja
C = 31.4159
r = radius_from_circumference(C)
print(f"Polumjer je {r:.2f} jedinica.")
JavaScript
// Izračunaj polumjer iz opsega
function radiusFromCircumference(circumference) {
if (circumference <= 0) {
throw new Error("Opseg mora biti veći od nule.");
}
return circumference / (2 * Math.PI);
}
// Primjer korištenja
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`Polumjer je ${r.toFixed(2)} jedinica.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw new IllegalArgumentException("Opseg mora biti veći od nule.");
}
return circumference / (2 * Math.PI);
}
public static void main(String[] args) {
double C = 31.4159;
double r = radiusFromCircumference(C);
System.out.printf("Polumjer je %.2f jedinica.%n", r);
}
}
C++
// Izračunaj polumjer iz opsega
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw std::invalid_argument("Opseg mora biti veći od nule.");
}
return circumference / (2.0 * M_PI);
}
int main() {
double C = 31.4159;
try {
double r = radiusFromCircumference(C);
std::cout << "Polumjer je " << r << " jedinica." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Izračunaj polumjer iz opsega
radius_from_circumference <- function(circumference) {
if (circumference <= 0) {
stop("Opseg mora biti veći od nule.")
}
return(circumference / (2 * pi))
}
## Primjer korištenja
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("Polumjer je %.2f jedinica.\n", r))
Ruby
## Izračunaj polumjer iz opsega
def radius_from_circumference(circumference)
raise ArgumentError, "Opseg mora biti veći od nule." if circumference <= 0
circumference / (2 * Math::PI)
end
## Primjer korištenja
C = 31.4159
r = radius_from_circumference(C)
puts "Polumjer je #{format('%.2f', r)} jedinica."
PHP
<?php
// Izračunaj polumjer iz opsega
function radiusFromCircumference($circumference) {
if ($circumference <= 0) {
throw new Exception('Opseg mora biti veći od nule.');
}
return $circumference / (2 * M_PI);
}
// Primjer korištenja
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "Polumjer je " . round($r, 2) . " jedinica.";
?>
Rust
use std::f64::consts::PI;
// Izračunaj polumjer iz opsega
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
if circumference <= 0.0 {
return Err("Opseg mora biti veći od nule.");
}
Ok(circumference / (2.0 * PI))
}
fn main() {
let C = 31.4159;
match radius_from_circumference(C) {
Ok(r) => println!("Polumjer je {:.2} jedinica.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Izračunaj polumjer iz opsega
func radiusFromCircumference(_ circumference: Double) throws -> Double {
if circumference <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Opseg mora biti veći od nule."])
}
return circumference / (2 * Double.pi)
}
// Primjer korištenja
do {
let C = 31.4159
let r = try radiusFromCircumference(C)
print(String(format: "Polumjer je %.2f jedinica.", r))
} catch {
print(error.localizedDescription)
}
Iz površine
Python
import math
## Izračunaj polumjer iz površine
def radius_from_area(area):
if area <= 0:
raise ValueError("Površina mora biti veća od nule.")
return math.sqrt(area / math.pi)
## Primjer korištenja
A = 78.5398
r = radius_from_area(A)
print(f"Polumjer je {r:.2f} jedinica.")
JavaScript
// Izračunaj polumjer iz površine
function radiusFromArea(area) {
if (area <= 0) {
throw new Error("Površina mora biti veća od nule.");
}
return Math.sqrt(area / Math.PI);
}
// Primjer korištenja
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`Polumjer je ${r.toFixed(2)} jedinica.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromArea(double area) {
if (area <= 0) {
throw new IllegalArgumentException("Površina mora biti veća od nule.");
}
return Math.sqrt(area / Math.PI);
}
public static void main(String[] args) {
double A = 78.5398;
double r = radiusFromArea(A);
System.out.printf("Polumjer je %.2f jedinica.%n", r);
}
}
C++
// Izračunaj polumjer iz površine
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromArea(double area) {
if (area <= 0) {
throw std::invalid_argument("Površina mora biti veća od nule.");
}
return std::sqrt(area / M_PI);
}
int main() {
double A = 78.5398;
try {
double r = radiusFromArea(A);
std::cout << "Polumjer je " << r << " jedinica." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Izračunaj polumjer iz površine
radius_from_area <- function(area) {
if (area <= 0) {
stop("Površina mora biti veća od nule.")
}
return(sqrt(area / pi))
}
## Primjer korištenja
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("Polumjer je %.2f jedinica.\n", r))
MATLAB
% Izračunaj polumjer iz površine
function r = radius_from_area(area)
if area <= 0
error('Površina mora biti veća od nule.');
end
r = sqrt(area / pi);
end
% Primjer korištenja
A = 78.5398;
r = radius_from_area(A);
fprintf('Polumjer je %.2f jedinica.\n', r);
C#
using System;
class CircleRadiusCalculator
{
public static double RadiusFromArea(double area)
{
if (area <= 0)
throw new ArgumentException("Površina mora biti veća od nule.");
return Math.Sqrt(area / Math.PI);
}
static void Main()
{
double A = 78.5398;
double r = RadiusFromArea(A);
Console.WriteLine("Polumjer je {0:F2} jedinica.", r);
}
}
Go
package main
import (
"fmt"
"math"
)
func radiusFromArea(area float64) (float64, error) {
if area <= 0 {
return 0, fmt.Errorf("Površina mora biti veća od nule.")
}
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("Polumjer je %.2f jedinica.\n", r)
}
Ruby
## Izračunaj polumjer iz površine
def radius_from_area(area)
raise ArgumentError, "Površina mora biti veća od nule." if area <= 0
Math.sqrt(area / Math::PI)
end
## Primjer korištenja
A = 78.5398
r = radius_from_area(A)
puts "Polumjer je #{format('%.2f', r)} jedinica."
PHP
<?php
// Izračunaj polumjer iz površine
function radiusFromArea($area) {
if ($area <= 0) {
throw new Exception('Površina mora biti veća od nule.');
}
return sqrt($area / M_PI);
}
// Primjer korištenja
$A = 78.5398;
$r = radiusFromArea($A);
echo "Polumjer je " . round($r, 2) . " jedinica.";
?>
Rust
use std::f64::consts::PI;
// Izračunaj polumjer iz površine
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
if area <= 0.0 {
return Err("Površina mora biti veća od nule.");
}
Ok((area / PI).sqrt())
}
fn main() {
let A = 78.5398;
match radius_from_area(A) {
Ok(r) => println!("Polumjer je {:.2} jedinica.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Izračunaj polumjer iz površine
func radiusFromArea(_ area: Double) throws -> Double {
if area <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Površina mora biti veća od nule."])
}
return sqrt(area / Double.pi)
}
// Primjer korištenja
do {
let A = 78.5398
let r = try radiusFromArea(A)
print(String(format: "Polumjer je %.2f jedinica.", r))
} catch {
print(error.localizedDescription)
}
Excel
## Izračunaj polumjer iz promjera u ćeliji B1
=IF(B1>0, B1/2, "Nevažeći ulaz")
## Izračunaj polumjer iz opsega u ćeliji B2
=IF(B2>0, B2/(2*PI()), "Nevažeći ulaz")
## Izračunaj polumjer iz površine u ćeliji B3
=IF(B3>0, SQRT(B3/PI()), "Nevažeći ulaz")
Vizualizacija
SVG dijagram koji ilustrira odnos između polumjera, promjera i opsega:
Reference
- Krug - Wikipedia
- Opseg - Math Is Fun
- Površina kruga - Khan Academy
- Povijest (\pi) - Wikipedia