Campo Elétrico

Publicado por Roberto Júnior 12/04/2006

[ Hits: 10.905 ]

Homepage: http://sites.google.com/site/dibetao

Download campo.c




Este programa plota o gráfico do campo elétrico
gerado por duas caragas elétricas puntiformes.

  



Esconder código-fonte

/**
 * @author Roberto Lima da C C Junior
 * @file campo.c
 *
 * @begin Qui Mar 30 2006
 * @copyright (C) 2006 by Roberto Lima
 * @email dibetao@gmail.com

 Este programa plota o gráfico do campo elétrico
 gerado por duas caragas elétricas puntiformes.

 Para gerar o gráfico voce terá que ter o GNUPlot.
 http://www.gnuplot.info/

 Quando o programa for compilado (gcc campo.c -lm -o campo)
 e executado (./campo), será criado um arquivo (dados.dat)
 onde estarão os dados a serem plotados no GNUPLot.

 Então basta executar o Gnuplot e digitar o seguinte comando:

   plot "dados.dat" w vectors;

O será gerado o grafico do Campo Elétrico criado
pelas duas cargas "q1" e "q2" (gráfico vetorial).

 */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

main()
{
int i,j,k;
int C,q1,q2,x,y;

float E1[4]={0};//Cria o vetor Campo Elétrico E1 e zera
float R1[4]={0,5,0,0};//Posição da Carga 1 (R1)

float E2[4]={0};//Cria o vetor Campo Elétrico E2 e zera
float R2[4]={0,-5,0,0};//Posição da Carga 2 (R2)

float r[4]={0};//Cria vetor "r", que será feita a "varredura" no espaço.

FILE *arq1;//Arquivo de saida dos dados.
arq1= fopen("dados.dat","w+");//Nome do Arquivo de Saida dos dados (será criado).

C=1;//Constante
q1=1; q2=-1;//Valor das Cargas q1 e q2

for (r[1]=-15; r[1]<=15; r[1]++)
for (r[2]=-15; r[2]<=15; r[2]++)
{
E1[1] = (C*q1*(R1[1]-r[1]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2));
E1[2] = (C*q1*(R1[2]-r[2]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2));

E2[1] = (C*q2*(R2[1]-r[1]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2));
E2[2] = (C*q2*(R2[2]-r[2]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2));


fprintf(arq1,"\n%f %f %f %f",R1[1]-r[1]+R2[1]-r[1],R1[2]-r[2]+R2[2]-r[2], E1[1]+E2[1], E1[2]+E2[2]);
}

printf("\n");
fclose(arq1);
}
//FIM de "campo.c"

Scripts recomendados

Cálculo do dia da semana

Shadow Mapping usando OpenGL e Cg

Grafos

Funções matemáticas

[C] Raiz quadrada


  

Comentários
[1] Comentário enviado por diegoafrota em 22/04/2006 - 10:37h

Um srcipt muito bom, de alto nível.
Deixo como sugestão, que você procure tornar mais simples o seu programa sem que ela perca sua eficiência, eu sei que você consegue fazer isso.
Um abraço!

[2] Comentário enviado por sombriks em 31/05/2006 - 02:44h

ei, bem legal isso... mas fugindo um pouco, eu gostaria de saber onde vc aprendeu a usar o gcc, eu acho ele muito estranho. tem algum bom tutorial aí?

[3] Comentário enviado por removido em 02/07/2006 - 16:37h

Trabalhaste muito bem com os vetores, parabéns. Tirei várias dúvidas com este sc.

[4] Comentário enviado por removido em 13/04/2013 - 05:13h

Caramba!

Estive vendo Gnuplot e percebo que usando a tal calculadora BC dá prá fazer o gráfico surgir instantaneamente com shellscript. Do mesmo modo funcionaria com o C fazendo o mesmo.
Se bem que deve haver uma API.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts