Whiz Tools

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:

  1. Diàmetre
  2. Circumferència
  3. À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:

  1. A partir del Diàmetre (dd):

    r=d2r = \frac{d}{2}
  2. A partir de la Circumferència (CC):

    r=C2πr = \frac{C}{2\pi}
  3. A partir de l'Àrea (AA):

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

Aquestes fórmules es deriven de les propietats bàsiques d'un cercle:

  • Diàmetre: El diàmetre és el doble del radi (d=2rd = 2r).
  • Circumferència: La circumferència és la distància al voltant del cercle (C=2πrC = 2\pi r).
  • Àrea: L'àrea tancada pel cercle (A=πr2A = \pi r^2).

Càlcul

Calculant el Radi a partir del Diàmetre

Donat el diàmetre, el radi és simplement la meitat d'aquest:

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

Exemple:

Si el diàmetre és de 10 unitats:

r=102=5 unitatsr = \frac{10}{2} = 5 \text{ unitats}

Calculant el Radi a partir de la Circumferència

Començant amb la fórmula de la circumferència:

C=2πrC = 2\pi r

Resolent per rr:

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

Exemple:

Si la circumferència és 31.415931.4159 unitats:

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

Calculant el Radi a partir de l'Àrea

Començant amb la fórmula de l'àrea:

A=πr2A = \pi r^2

Resolent per rr:

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

Exemple:

Si l'àrea és de 78.539878.5398 unitats quadrades:

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

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 π\pi, 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:

Radi (r) Diàmetre (d) Circumferència (C)

Referències

  1. Cercle - Wikipedia
  2. Circumferència - Math Is Fun
  3. Àrea d'un Cercle - Khan Academy
  4. Història de (\pi) - Wikipedia
Feedback