Campo Elétrico do Quadripolo
Publicado por Roberto Júnior 30/11/2006
[ Hits: 9.182 ]
Homepage: http://sites.google.com/site/dibetao
Publiquei aqui (VOL) um script de um programa em C que gera o gráfico de um campo elétrico por duas cargas opostas (dipolo elétrico). Agora, para ampliar e dar mais entendimento ao código, estou publicando uma variação do programa, um quadripolo (quatro cargas elétricas). Vale à pena conferir!
/**
* @author Roberto Lima da C C Junior
* @file campo2.c
*
* @begin Sab Nov 11 2006
* @copyright (C) 2006 by Roberto Lima
* @email dibetao@gmail.com
 
 * PROGRAMA GERADOR DO GRAFICO DO CAMPO ELETRICO
 *
 * Usamos tres elementos vetoriais:
 *    Ei : (campo eletrico da carga i)
 *    Ri : (posicao da carga i)
 *    r : (vetor que roda o espaco)
 *  ou melhor E(r) - E em funcao de r
 *
 *  E1    - Em relacao a carga 1
 *  E1[1] - Campo da carga 1 na dimensao 1 (que pode ser X)
 *  E1[2] - Campo da carga 1 na dimensao 2 (que pode ser Y)
 *  Assim como para as outras cargas.
 *
 *  No caso: Quadrupolo Elétrico
 *
 *   ______________
 *   |  q1    q2  |   
 *   |            |
 *   |  q4    q3  |
 *   |____________|
 *
 
Este programa plota o gráfico do campo elétrico
gerado por quatro cargas elétricas puntiformes.
Para gerar o gráfico voce terá que ter o GNUPlot.
http://www.gnuplot.info/
Quando o programa for compilado (gcc campo2.c -lm -o campo2)
e executado (./campo2), 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 cargas (gráfico vetorial).
 
    
 */ 
  
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h>
main()
{
int i,j,k;
float C,q1,q2,q3,q4,x,y;
float E1[4]={0};
float R1[4]={0,-30,30,0};
float E2[4]={0};
float R2[4]={0,30,30,0};
float E3[4]={0};
float R3[4]={0,30,-30,0};
float E4[4]={0};
float R4[4]={0,-30,-30,0};
float r[4]={0};
FILE *arq1;
arq1= fopen("dados.dat","w+");
C=8;
q1=1.0; q2=-1.0; q3=1.0; q4=-1.0;
for (r[1]=-50; r[1]<=50; r[1]++)
for (r[2]=-50; r[2]<=50; 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));
E3[1] = (C*q3*(R3[1]-r[1]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2));
E3[2] = (C*q3*(R3[2]-r[2]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2));
E4[1] = (C*q4*(R4[1]-r[1]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2));
E4[2] = (C*q4*(R4[2]-r[2]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2));
fprintf(arq1,"\n%f %f %f %f",R1[1]-r[1]+R2[1]-r[1]+R3[1]-r[1]+R4[1]-r[1], R1[2]-r[2]+R2[2]-r[2]+R3[2]-r[2]+R4[2]-r[2], E1[1]+E2[1]+E3[1]+E4[1], E1[2]+E2[2]+E3[2]+E4[2]);
}
fclose(arq1);
}
MeikeNeime - Programa gerador de nomes aleatórios
Lista simplesmente encadeada C
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









