Calculadora del Radi d'un Cercle
Introducció
El radi d'un cercle és una de les seves propietats més fonamentals. És la distància des del centre del cercle fins a qualsevol punt de la seva circumferència. Aquesta calculadora et permet determinar el radi d'un cercle en funció de tres paràmetres d'entrada diferents:
- Diàmetre
- Circumferència
- Àrea
Proporcionant qualsevol d'aquests valors, pots calcular el radi utilitzant les relacions matemàtiques inherents a la geometria del cercle.
Fórmula
El radi es pot calcular a partir del diàmetre, la circumferència o l'àrea utilitzant les següents fórmules:
-
A partir del Diàmetre ():
-
A partir de la Circumferència ():
-
A partir de l'Àrea ():
Aquestes fórmules es deriven de les propietats bàsiques d'un cercle:
- Diàmetre: El diàmetre és el doble del radi ().
- Circumferència: La circumferència és la distància al voltant del cercle ().
- Àrea: L'àrea tancada pel cercle ().
Càlcul
Calculant el Radi a partir del Diàmetre
Donat el diàmetre, el radi és simplement la meitat d'aquest:
Exemple:
Si el diàmetre és de 10 unitats:
Calculant el Radi a partir de la Circumferència
Començant amb la fórmula de la circumferència:
Resolent per :
Exemple:
Si la circumferència és unitats:
Calculant el Radi a partir de l'Àrea
Començant amb la fórmula de l'àrea:
Resolent per :
Exemple:
Si l'àrea és de unitats quadrades:
Casos Límit i Validació d'Entrada
-
Entrades Zero o Negatives: Un cercle no pot tenir un diàmetre, circumferència o àrea negativa o zero. Si qualsevol d'aquests valors és zero o negatiu, el radi no està definit. La calculadora mostrarà un missatge d'error en aquests casos.
-
Entrades No Numèriques: La calculadora requereix entrades numèriques. Els valors no numèrics (per exemple, lletres o símbols) són invàlids.
Precisió i Arrodoniment
Aquesta calculadora utilitza aritmètica de punt flotant de doble precisió per als càlculs. Els resultats es mostren normalment arrodonits a quatre decimals per a una major precisió. Quan s'utilitzen constants matemàtiques com , la calculadora utilitza la precisió completa disponible en el llenguatge de programació o entorn. Tingues en compte que l'aritmètica de punt flotant pot introduir petits errors d'arrodoniment en alguns casos.
Casos d'Ús
Calcular el radi d'un cercle és essencial en diversos camps:
Enginyeria i Construcció
-
Disseny de Components Circulars: Els enginyers sovint necessiten determinar el radi quan dissenyen rodes, engranatges, canonades o cúpules.
-
Arquitectura: Els arquitectes utilitzen el radi per dissenyar arcs, cúpules i edificis circulars.
Astronomia
-
Òrbites Planetàries: Els astrònoms calculen el radi de les òrbites planetàries basant-se en dades d'observació.
-
Cossos Celestials: Determinant les mides de planetes, estrelles i altres objectes celestials.
Resolució de Problemes Quotidians
-
Art i Disseny: Artistes i dissenyadors calculen el radi per crear patrons i dissenys circulars.
-
Projectes DIY: Calculant materials necessaris per taules, jardins o fonts circulars.
Matemàtiques i Educació
-
Aprenentatge de Geometria: Entendre les propietats dels cercles és fonamental en l'educació en geometria.
-
Resolució de Problemes: Els càlculs de radi són comuns en problemes matemàtics i competicions.
Alternatives
Si bé el radi és una propietat primària, de vegades altres propietats del cercle són més convenients de mesurar directament:
-
Mesurant la Longitud de la Cord: Útil quan tens punts fixos en un cercle i necessites calcular el radi.
-
Utilitzant l'Àrea del Sector o la Longitud de l'Arc: En casos que impliquin seccions parcials d'un cercle.
Història
L'estudi dels cercles es remunta a civilitzacions antigues:
-
Geometria Antiga: El cercle ha estat estudiat des de l'època dels antics egipcis i babilonis.
-
Elements d'Euclides: Al voltant de 300 aC, Euclides va definir el cercle i les seves propietats en la seva obra seminal, Elements.
-
Arquímedes: Va proporcionar mètodes per aproximar (\pi) i va calcular àrees i volums relacionats amb cercles i esferes.
-
Desenvolupament de (\pi): Al llarg dels segles, matemàtics com Liu Hui, Zu Chongzhi, Aryabhata, i finalment John Wallis i Isaac Newton van refinar el valor i la comprensió de (\pi).
El radi continua sent un concepte fonamental no només en geometria sinó també a través de la física, l'enginyeria i diverses ciències aplicades.
Exemples
Aquí hi ha exemples de codi en múltiples llenguatges de programació per calcular el radi a partir del diàmetre, la circumferència i l'àrea.
A partir del Diàmetre
Python
## Calcular radi a partir del diàmetre
def radius_from_diameter(diameter):
if diameter <= 0:
raise ValueError("El diàmetre ha de ser superior a zero.")
return diameter / 2
## Exemple d'ús
d = 10
r = radius_from_diameter(d)
print(f"El radi és {r} unitats.")
JavaScript
// Calcular radi a partir del diàmetre
function radiusFromDiameter(diameter) {
if (diameter <= 0) {
throw new Error("El diàmetre ha de ser superior a zero.");
}
return diameter / 2;
}
// Exemple d'ús
let d = 10;
let r = radiusFromDiameter(d);
console.log(`El radi és ${r} unitats.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw new IllegalArgumentException("El diàmetre ha de ser superior a zero.");
}
return diameter / 2;
}
public static void main(String[] args) {
double d = 10;
double r = radiusFromDiameter(d);
System.out.printf("El radi és %.2f unitats.%n", r);
}
}
C++
// Calcular radi a partir del diàmetre
#include <iostream>
#include <stdexcept>
double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw std::invalid_argument("El diàmetre ha de ser superior a zero.");
}
return diameter / 2.0;
}
int main() {
double d = 10.0;
try {
double r = radiusFromDiameter(d);
std::cout << "El radi és " << r << " unitats." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Calcular radi a partir del diàmetre
radius_from_diameter <- function(diameter) {
if (diameter <= 0) {
stop("El diàmetre ha de ser superior a zero.")
}
return(diameter / 2)
}
## Exemple d'ús
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("El radi és %.2f unitats.\n", r))
Ruby
## Calcular radi a partir del diàmetre
def radius_from_diameter(diameter)
raise ArgumentError, "El diàmetre ha de ser superior a zero." if diameter <= 0
diameter / 2.0
end
## Exemple d'ús
d = 10
r = radius_from_diameter(d)
puts "El radi és #{r} unitats."
PHP
<?php
// Calcular radi a partir del diàmetre
function radiusFromDiameter($diameter) {
if ($diameter <= 0) {
throw new Exception('El diàmetre ha de ser superior a zero.');
}
return $diameter / 2;
}
// Exemple d'ús
$d = 10;
$r = radiusFromDiameter($d);
echo "El radi és {$r} unitats.";
?>
Rust
// Calcular radi a partir del diàmetre
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
if diameter <= 0.0 {
return Err("El diàmetre ha de ser superior a zero.");
}
Ok(diameter / 2.0)
}
fn main() {
let d = 10.0;
match radius_from_diameter(d) {
Ok(r) => println!("El radi és {:.2} unitats.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Calcular radi a partir del diàmetre
func radiusFromDiameter(_ diameter: Double) throws -> Double {
if diameter <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "El diàmetre ha de ser superior a zero."])
}
return diameter / 2.0
}
// Exemple d'ús
do {
let d = 10.0
let r = try radiusFromDiameter(d)
print("El radi és \(r) unitats.")
} catch {
print(error.localizedDescription)
}
A partir de la Circumferència
Python
import math
## Calcular radi a partir de la circumferència
def radius_from_circumference(circumference):
if circumference <= 0:
raise ValueError("La circumferència ha de ser superior a zero.")
return circumference / (2 * math.pi)
## Exemple d'ús
C = 31.4159
r = radius_from_circumference(C)
print(f"El radi és {r:.2f} unitats.")
JavaScript
// Calcular radi a partir de la circumferència
function radiusFromCircumference(circumference) {
if (circumference <= 0) {
throw new Error("La circumferència ha de ser superior a zero.");
}
return circumference / (2 * Math.PI);
}
// Exemple d'ús
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`El radi és ${r.toFixed(2)} unitats.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw new IllegalArgumentException("La circumferència ha de ser superior a zero.");
}
return circumference / (2 * Math.PI);
}
public static void main(String[] args) {
double C = 31.4159;
double r = radiusFromCircumference(C);
System.out.printf("El radi és %.2f unitats.%n", r);
}
}
C++
// Calcular radi a partir de la circumferència
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw std::invalid_argument("La circumferència ha de ser superior a zero.");
}
return circumference / (2.0 * M_PI);
}
int main() {
double C = 31.4159;
try {
double r = radiusFromCircumference(C);
std::cout << "El radi és " << r << " unitats." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Calcular radi a partir de la circumferència
radius_from_circumference <- function(circumference) {
if (circumference <= 0) {
stop("La circumferència ha de ser superior a zero.")
}
return(circumference / (2 * pi))
}
## Exemple d'ús
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("El radi és %.2f unitats.\n", r))
Ruby
## Calcular radi a partir de la circumferència
def radius_from_circumference(circumference)
raise ArgumentError, "La circumferència ha de ser superior a zero." if circumference <= 0
circumference / (2 * Math::PI)
end
## Exemple d'ús
C = 31.4159
r = radius_from_circumference(C)
puts "El radi és #{format('%.2f', r)} unitats."
PHP
<?php
// Calcular radi a partir de la circumferència
function radiusFromCircumference($circumference) {
if ($circumference <= 0) {
throw new Exception('La circumferència ha de ser superior a zero.');
}
return $circumference / (2 * M_PI);
}
// Exemple d'ús
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "El radi és " . round($r, 2) . " unitats.";
?>
Rust
use std::f64::consts::PI;
// Calcular radi a partir de la circumferència
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
if circumference <= 0.0 {
return Err("La circumferència ha de ser superior a zero.");
}
Ok(circumference / (2.0 * PI))
}
fn main() {
let C = 31.4159;
match radius_from_circumference(C) {
Ok(r) => println!("El radi és {:.2} unitats.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Calcular radi a partir de la circumferència
func radiusFromCircumference(_ circumference: Double) throws -> Double {
if circumference <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "La circumferència ha de ser superior a zero."])
}
return circumference / (2 * Double.pi)
}
// Exemple d'ús
do {
let C = 31.4159
let r = try radiusFromCircumference(C)
print(String(format: "El radi és %.2f unitats.", r))
} catch {
print(error.localizedDescription)
}
A partir de l'Àrea
Python
import math
## Calcular radi a partir de l'àrea
def radius_from_area(area):
if area <= 0:
raise ValueError("L'àrea ha de ser superior a zero.")
return math.sqrt(area / math.pi)
## Exemple d'ús
A = 78.5398
r = radius_from_area(A)
print(f"El radi és {r:.2f} unitats.")
JavaScript
// Calcular radi a partir de l'àrea
function radiusFromArea(area) {
if (area <= 0) {
throw new Error("L'àrea ha de ser superior a zero.");
}
return Math.sqrt(area / Math.PI);
}
// Exemple d'ús
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`El radi és ${r.toFixed(2)} unitats.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromArea(double area) {
if (area <= 0) {
throw new IllegalArgumentException("L'àrea ha de ser superior a zero.");
}
return Math.sqrt(area / Math.PI);
}
public static void main(String[] args) {
double A = 78.5398;
double r = radiusFromArea(A);
System.out.printf("El radi és %.2f unitats.%n", r);
}
}
C++
// Calcular radi a partir de l'àrea
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromArea(double area) {
if (area <= 0) {
throw std::invalid_argument("L'àrea ha de ser superior a zero.");
}
return std::sqrt(area / M_PI);
}
int main() {
double A = 78.5398;
try {
double r = radiusFromArea(A);
std::cout << "El radi és " << r << " unitats." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Calcular radi a partir de l'àrea
radius_from_area <- function(area) {
if (area <= 0) {
stop("L'àrea ha de ser superior a zero.")
}
return(sqrt(area / pi))
}
## Exemple d'ús
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("El radi és %.2f unitats.\n", r))
MATLAB
% Calcular radi a partir de l'àrea
function r = radius_from_area(area)
if area <= 0
error('L''àrea ha de ser superior a zero.');
end
r = sqrt(area / pi);
end
% Exemple d'ús
A = 78.5398;
r = radius_from_area(A);
fprintf('El radi és %.2f unitats.\n', r);
C#
using System;
class CircleRadiusCalculator
{
public static double RadiusFromArea(double area)
{
if (area <= 0)
throw new ArgumentException("L'àrea ha de ser superior a zero.");
return Math.Sqrt(area / Math.PI);
}
static void Main()
{
double A = 78.5398;
double r = RadiusFromArea(A);
Console.WriteLine("El radi és {0:F2} unitats.", r);
}
}
Go
package main
import (
"fmt"
"math"
)
func radiusFromArea(area float64) (float64, error) {
if area <= 0 {
return 0, fmt.Errorf("L'àrea ha de ser superior a zero.")
}
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("El radi és %.2f unitats.\n", r)
}
Ruby
## Calcular radi a partir de l'àrea
def radius_from_area(area)
raise ArgumentError, "L'àrea ha de ser superior a zero." if area <= 0
Math.sqrt(area / Math::PI)
end
## Exemple d'ús
A = 78.5398
r = radius_from_area(A)
puts "El radi és #{format('%.2f', r)} unitats."
PHP
<?php
// Calcular radi a partir de l'àrea
function radiusFromArea($area) {
if ($area <= 0) {
throw new Exception('L''àrea ha de ser superior a zero.');
}
return sqrt($area / M_PI);
}
// Exemple d'ús
$A = 78.5398;
$r = radiusFromArea($A);
echo "El radi és " . round($r, 2) . " unitats.";
?>
Rust
use std::f64::consts::PI;
// Calcular radi a partir de l'àrea
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
if area <= 0.0 {
return Err("L'àrea ha de ser superior a zero.");
}
Ok((area / PI).sqrt())
}
fn main() {
let A = 78.5398;
match radius_from_area(A) {
Ok(r) => println!("El radi és {:.2} unitats.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Calcular radi a partir de l'àrea
func radiusFromArea(_ area: Double) throws -> Double {
if area <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "L'àrea ha de ser superior a zero."])
}
return sqrt(area / Double.pi)
}
// Exemple d'ús
do {
let A = 78.5398
let r = try radiusFromArea(A)
print(String(format: "El radi és %.2f unitats.", r))
} catch {
print(error.localizedDescription)
}
Excel
## Calcular radi a partir del diàmetre a la cel·la B1
=IF(B1>0, B1/2, "Entrada invàlida")
## Calcular radi a partir de la circumferència a la cel·la B2
=IF(B2>0, B2/(2*PI()), "Entrada invàlida")
## Calcular radi a partir de l'àrea a la cel·la B3
=IF(B3>0, SQRT(B3/PI()), "Entrada invàlida")
Visualització
Un diagrama SVG que il·lustra la relació entre el radi, el diàmetre i la circumferència:
Referències
- Cercle - Wikipedia
- Circumferència - Math Is Fun
- Àrea d'un Cercle - Khan Academy
- Història de (\pi) - Wikipedia