bugün
- laik teyzelerin fenotipi34
- sözlüğü bırakıyorum ajitasyonu12
- recep tayyip erdoğan12
- z kuşağı kitap okuyor mu10
- yeni parti10
- ey insan2
- kadınların o güzel ciğerleri3
- dem partili yazar7
- mhp akp iyi anahtar bbp ittifakı5
- 3 numara saç kirli sakal6
- geceye bir şiir bırak5
- arkadaşlar kararsız kaldım hangisini alayım18
- beşiktaş11
- yavuz ağıralioğlu7
- akp oyları yüzde 10'un üzerinde10
- ekrem imamoğlu8
- milliyetçi hareket partisi4
- gece geç saatte ışığı yanan evler2
- honore de balzac4
- mhp dem kardeştir ayrım yapan kalleştir4
- mansur yavaş11
- 23 ağustos 2026 alanyaspor beşiktaş maçı6
- islam barış dinidir13
- kalp ritmini hızlandıran şeyler5
- selahattin demirtaş4
- ediz barlas2
- seçime 40 gün kala ayakkabı ile seccadeye basmak3
- davranışlardaki küçük ayrıntıları kafaya takmak5
- 2028 cumhurbaşkanlığı seçimleri6
- yeni başlayanlar için soruşturma4
- cumhuriyet halk partisi6
- bir insanı hayatının merkezine koymak7
- günün yazar kavgası bahisleri3
- amın arasına giren mayo3
- kitap okumaya geç başlamak4
- osuruktan şiirler67
- haydi güzelim şeker ezelim4
- vincenzo italiano5
- 2 dünya savaşı'na katılmış yazarlar4
- yazarların favori oyun karakteri15
- hangi sözlük kızıyla ne yapmak isterdin3
- tayyip erdoğan'a oy vermeye karar vermek8
- huzursuz insan4
- şarapçı koala'nın denemediği ideoloji3
- hukuk okuyan tiplerin biraz ezik olması9
- unutulmaz twitler2
- müzikten soğumak3
- futbol15
- 22 ağustos 2026 fenerbahçe konyaspor maçı19
- anahtar partisi büyük birlik partisi ittifakı7
matematiği sular seller gibi biliyor kerata, 2 boyutlu eğik atış hareketini ağırlık, hız, açı, boyut verileriyle simüle eden programı bir dk da kağıda döktü.
görsel
https://streamable.com/t8uc6z
#include <SFML/Graphics.hpp>
#include <cmath>
#include <sstream>
#include <iostream>
const float GRAVITY = 981.0f; // Yer çekimi ivmesi (pixel/s^2)
const float FLOOR_Y = 540.0f; // Zemin yüksekliği
const float WINDOW_WIDTH = 1920.0f; // Pencere genişliği
const float WINDOW_HEIGHT = 1080.0f; // Pencere yüksekliği
int main()
{
sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Projectile Motion");
sf::Font font;
if (!font.loadFromFile("arial.ttf"))
{
return -1;
}
sf::Text infoText;
infoText.setFont(font);
infoText.setCharacterSize(24);
infoText.setFillColor(sf::Color::White);
infoText.setPosition(10, 10);
// Başlangıç hızı, açı, kütle ve çap
float speed;
float angle;
float mass;
float diameter;
std::cout << "Enter initial speed (pixels/second): ";
std::cin >> speed;
std::cout << "Enter initial angle (degrees): ";
std::cin >> angle;
std::cout << "Enter mass of the ball (kg): ";
std::cin >> mass;
std::cout << "Enter diameter of the ball (pixels): ";
std::cin >> diameter;
// Açıyı radyana çevirme
angle = angle * 3.14159 / 180;
// Topun yarıçapını ayarlama
float radius = diameter / 2.0f;
// Kırmızı topun tanımı
sf::CircleShape redCircle(radius); // Yarıçapı kullan
redCircle.setFillColor(sf::Color::Red);
redCircle.setPosition(100.0f, FLOOR_Y - radius * 2); // Başlangıçta yukarıda
float xVelocity = speed * std::cos(angle); // Yatay hız
float yVelocity = -speed * std::sin(angle); // Dikey hız (negatif çünkü yukarı doğru)
sf::Clock clock;
bool launched = true;
// Zemin ve gökyüzü
sf::RectangleShape ground(sf::Vector2f(WINDOW_WIDTH, WINDOW_HEIGHT - FLOOR_Y));
ground.setFillColor(sf::Color::Green);
ground.setPosition(0, FLOOR_Y);
sf::RectangleShape sky(sf::Vector2f(WINDOW_WIDTH, FLOOR_Y));
sky.setFillColor(sf::Color(135, 206, 235));
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
float dt = clock.restart().asSeconds(); // Zaman adımı
// Eğik atış hareketi
if (launched)
{
// Kütle çekimi kuvvetini hesaplama
float gravityForce = mass * (GRAVITY / 1000.0f); // kg cinsinden yer çekimi kuvveti
// Dikey hızı güncelle
yVelocity += gravityForce * dt; // Dikey hız artar (top yere doğru hareket eder)
// Topun hareket ettirilmesi
redCircle.move(xVelocity * dt, yVelocity * dt);
// Top zemine çarptığında
if (redCircle.getPosition().y >= FLOOR_Y - radius * 2)
{
redCircle.setPosition(redCircle.getPosition().x, FLOOR_Y - radius * 2);
launched = false; // Fırlatma sona erer
}
}
// Hız ve açıyı güncelleme
float speedMagnitude = std::sqrt(xVelocity * xVelocity + yVelocity * yVelocity);
std::stringstream ss;
ss << "Speed: " << speedMagnitude << " px/s\n";
ss << "X Velocity: " << xVelocity << " px/s\n";
ss << "Y Velocity: " << yVelocity << " px/s\n";
ss << "Mass: " << mass << " kg\n";
ss << "Diameter: " << diameter << " px\n";
infoText.setString(ss.str());
// Ekranı güncelleme
window.clear();
window.draw(sky);
window.draw(ground);
window.draw(redCircle);
window.draw(infoText);
window.display();
}
return 0;
}
görsel
https://streamable.com/t8uc6z
#include <SFML/Graphics.hpp>
#include <cmath>
#include <sstream>
#include <iostream>
const float GRAVITY = 981.0f; // Yer çekimi ivmesi (pixel/s^2)
const float FLOOR_Y = 540.0f; // Zemin yüksekliği
const float WINDOW_WIDTH = 1920.0f; // Pencere genişliği
const float WINDOW_HEIGHT = 1080.0f; // Pencere yüksekliği
int main()
{
sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Projectile Motion");
sf::Font font;
if (!font.loadFromFile("arial.ttf"))
{
return -1;
}
sf::Text infoText;
infoText.setFont(font);
infoText.setCharacterSize(24);
infoText.setFillColor(sf::Color::White);
infoText.setPosition(10, 10);
// Başlangıç hızı, açı, kütle ve çap
float speed;
float angle;
float mass;
float diameter;
std::cout << "Enter initial speed (pixels/second): ";
std::cin >> speed;
std::cout << "Enter initial angle (degrees): ";
std::cin >> angle;
std::cout << "Enter mass of the ball (kg): ";
std::cin >> mass;
std::cout << "Enter diameter of the ball (pixels): ";
std::cin >> diameter;
// Açıyı radyana çevirme
angle = angle * 3.14159 / 180;
// Topun yarıçapını ayarlama
float radius = diameter / 2.0f;
// Kırmızı topun tanımı
sf::CircleShape redCircle(radius); // Yarıçapı kullan
redCircle.setFillColor(sf::Color::Red);
redCircle.setPosition(100.0f, FLOOR_Y - radius * 2); // Başlangıçta yukarıda
float xVelocity = speed * std::cos(angle); // Yatay hız
float yVelocity = -speed * std::sin(angle); // Dikey hız (negatif çünkü yukarı doğru)
sf::Clock clock;
bool launched = true;
// Zemin ve gökyüzü
sf::RectangleShape ground(sf::Vector2f(WINDOW_WIDTH, WINDOW_HEIGHT - FLOOR_Y));
ground.setFillColor(sf::Color::Green);
ground.setPosition(0, FLOOR_Y);
sf::RectangleShape sky(sf::Vector2f(WINDOW_WIDTH, FLOOR_Y));
sky.setFillColor(sf::Color(135, 206, 235));
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
float dt = clock.restart().asSeconds(); // Zaman adımı
// Eğik atış hareketi
if (launched)
{
// Kütle çekimi kuvvetini hesaplama
float gravityForce = mass * (GRAVITY / 1000.0f); // kg cinsinden yer çekimi kuvveti
// Dikey hızı güncelle
yVelocity += gravityForce * dt; // Dikey hız artar (top yere doğru hareket eder)
// Topun hareket ettirilmesi
redCircle.move(xVelocity * dt, yVelocity * dt);
// Top zemine çarptığında
if (redCircle.getPosition().y >= FLOOR_Y - radius * 2)
{
redCircle.setPosition(redCircle.getPosition().x, FLOOR_Y - radius * 2);
launched = false; // Fırlatma sona erer
}
}
// Hız ve açıyı güncelleme
float speedMagnitude = std::sqrt(xVelocity * xVelocity + yVelocity * yVelocity);
std::stringstream ss;
ss << "Speed: " << speedMagnitude << " px/s\n";
ss << "X Velocity: " << xVelocity << " px/s\n";
ss << "Y Velocity: " << yVelocity << " px/s\n";
ss << "Mass: " << mass << " kg\n";
ss << "Diameter: " << diameter << " px\n";
infoText.setString(ss.str());
// Ekranı güncelleme
window.clear();
window.draw(sky);
window.draw(ground);
window.draw(redCircle);
window.draw(infoText);
window.display();
}
return 0;
}
Gündemdeki Haberler
Güncel Önemli Başlıklar