Skip to content

Abdullah-AlKabbani/Simulating-Boat-Three-JS

Repository files navigation

العنوان: محاكاة الحركة الفيزيائية لقارب بمحرك عادي.

توصيف المشروع:

يمثل المشروع محاكاة لحركة قارب بمحرك عادي تمَّ برمجتها بواسطة مكتبة THREE JS تمَّ برمجة القوى الطبيعية المؤثرة في حركة القارب: قوة الثقل، قوة دافعة أرخميدس، قوة دفع المحرك، قوة مقاومة الماء.

تم إنجاز العديد من الميزات في هذا المشروع وهي:

  1. تطبيق كافَّة القوى وحسابها وطباعتها في كل فريم، وطباعة رسائل توضح حالة المحاكاة كالوصول للسرعة القصوى أو الوصول لقاع البحر.
  2. معظم القيم متغيرة ومتحكم بها مثال حساب الكتلة من حجم الهواء والمعدن المستخدم في صناعة القارب واستعمال اصول القوى بدل استعمال القيم الثابتة.
  3. جعل الدراسة واقعية ومتنوعة مثل: استعمال أكثر من نوع معدن وجعل قوة دفع المحرك بشكل منحني بدلالة السرعة بدل خطية.
  4. ثبات السرعة عند الوصول لسرعة الغرق الأعظميَّة، أو عند الوصول للسرعة القصوى لدفع المحرك وطباعة رسالة بذلك لتصبح الحركة مستقيمة منتظمة.
  5. إنشاء لوحة تحكم لتغيير أنصاف الثوابت خلال التجربة وتأثر القوى بها.
  6. القيام بعمليات الدوران بشكل واقعي وحساب العزم اللازم تطبيقه للوصول للزاوية المعبّرة عن جهة الحركة وطباعة القيم ديناميكياً.
  7. تطبيق مفهوم الصدم على جدران البيئة والقاع ومنع القارب من الطيران فوق سطح الماء، بالإضافة لتطبيقه بطريقة مختلفة على كتل النفايات التي تتولد عشوائياً على سطح الماء.
  8. تطبيق مفاهيم الحركة المستقيمة المنتظمة والمتغيرة بانتظام وترابط القوانين وتأثيرها على القارب ترتفع مقدمة القارب بعد بلوغ نصف السرعة والقصوى وتهبط عند انخفاض السرعة عن نصف السرعة القصوى.
  9. تحقيق عملية الطفو والغرق وتوازن القارب بالإضافة إلى تأثر القارب بذلك حركياً على الرسم.
  10. حساب مساقط القوى على المركبات من خلال عمليَّة الإرجاع للربع الأول والضرب بمقادير مثلثيَّة مناسبة لحساب المركبات ومناقشة الحالات الممكنة.
  11. جعل الرسم جذاباً ومريح للعين وواقعي قدر الإمكان وتطبيق مفاهيم: الإضاءة، الضباب، الصوت، الانعكاس، تحميل موديل، OOP.
  12. إمكانية جعل المحاكاة كلعبة تعتمد على جمع كتل النفايات الملقاة في البحر، عند لمس القارب لكتلة نفايات تختفي من المشهد.

Title: Simulating the physical motion of a boat with a regular engine.

Project Description:

The project represents a simulation of the motion of a boat with a regular engine programmed using the THREE JS library. The natural forces affecting the motion of the boat were programmed: the force of gravity, the Archimedes' thrust force, the engine thrust force, and the water resistance force.

Many features have been achieved in this project, namely:

  1. Applying all forces, calculating them, and printing them in each frame, and printing messages explaining the simulation status, such as reaching the maximum speed or reaching the bottom of the sea.
  2. Most of the values ​​are variable and controlled, for example, calculating the mass from the volume of air and the metal used in the manufacture of the boat and using the origins of forces instead of using fixed values.
  3. Making the study realistic and diverse, such as: using more than one type of metal and making the engine thrust curved in terms of speed instead of linear.
  4. Stability of speed when reaching the maximum sinking speed, or when reaching the maximum speed to propel the engine and printing a message to that effect so that the motion becomes straight and regular.
  5. Create a control panel to change the semi-constants during the experiment and the forces affected by them.
  6. Perform rotation operations realistically and calculate the torque necessary to be applied to reach the angle expressing the direction of movement and print the values ​​dynamically.
  7. Apply the concept of impact on the walls of the environment and the bottom and prevent the boat from flying above the surface of the water, in addition to applying it in a different way to the waste masses that are generated randomly on the surface of the water.
  8. Apply the concepts of regular and regularly changing straight motion and the interconnection of laws and their effect on the boat. The front of the boat rises after reaching half the maximum speed and falls when the speed drops below half the maximum speed.
  9. Achieve the process of floating and sinking and the balance of the boat in addition to the boat being affected by this kinetically on the drawing.
  10. Calculate the projections of forces on the vehicles through the process of returning to the first quarter and multiplying by appropriate trigonometric amounts to calculate the vehicles and discuss the possible cases.
  11. Make the drawing attractive, comfortable for the eye and realistic as much as possible and apply the concepts of: lighting, fog, sound, reflection, model loading, OOP.
  12. The possibility of making the simulation a game based on collecting waste blocks thrown into the sea. When the boat touches a waste block, it disappears from the scene.

About

Physical simulation of the motion of a conventional motor boat by THREE JS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published